api-and-interface-design

Design stable APIs and interfaces with contract-first specifications.

1|1|Updated Apr 11, 2026
One-click install
npx skills add https://github.com/Borisserz/FoodTracker --skill api-and-interface-design-borisserz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-and-interface-design
Source: https://github.com/Borisserz/FoodTracker/tree/main/.agents/skills/skills/api-and-interface-design
Command: npx skills add https://github.com/Borisserz/FoodTracker --skill api-and-interface-design-borisserz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.

Core Features & Use Cases

  • Contract-first design: define the interface before implementing it to ensure a single source of truth.
  • Consistent error semantics and boundary validation: standardize error formats at API boundaries.
  • REST/GraphQL guidance and naming conventions: apply patterns for predictable APIs and evolution.

Quick Start

Draft a contract for a new REST or GraphQL endpoint, including input, output, and error handling semantics.

Frequently Asked Questions about api-and-interface-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is contract-first API design and when should I use it?

Contract-first API design defines explicit interface contracts before implementation, ensuring a single source of truth. Use it when creating REST or GraphQL endpoints, module boundaries, or frontend-backend contracts to guarantee stable, hard-to-misuse public interfaces.

How do I design a REST API with consistent error semantics?

Design REST APIs with consistent error semantics by standardizing error formats at API boundaries. Define explicit contracts for input, output, and error handling semantics before implementation to ensure predictable behavior across services and teams.

How do I handle boundary validation in GraphQL endpoints?

Handle boundary validation in GraphQL endpoints by enforcing explicit type contracts and standardizing error formats at the interface boundary. Defining these contracts before implementation ensures predictable validation and consistent error semantics across services.

What is the best way to evolve an API without breaking existing clients?

The best way to evolve an API without breaking existing clients is applying additive evolution and consistent versioning considerations. By enforcing contract-first design and predictable REST patterns, you ensure backward compatibility while expanding interface functionality.

Can I use contract-first design for frontend-backend module boundaries?

Yes, you can use contract-first design for frontend-backend module boundaries. It enforces explicit type contracts between modules, standardizes boundary validation, and establishes consistent error semantics to prevent misuse across different teams and services.