api-and-interface-design

Define and document stable API contracts for inter-service communication.

1|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/cyalcala/va-freelance-hub --skill api-and-interface-design-cyalcala
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-and-interface-design
Source: https://github.com/cyalcala/va-freelance-hub/tree/main/.antigravity/skills_old_tainted/api-and-interface-design
Command: npx skills add https://github.com/cyalcala/va-freelance-hub --skill api-and-interface-design-cyalcala

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Design stable, well-documented interfaces that prevent misuse across modules and teams.

Core Features & Use Cases

  • Contract-first design: Define interfaces before implementation to align teams and ensure clear boundaries.
  • Consistent error semantics: Standardize error handling across REST/GraphQL surfaces and internal boundaries.
  • Validation at boundaries: Enforce data contracts at API edges and external data ingestion points.

Quick Start

Define the interface before implementing it and document the contract as the primary source of truth.

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 do I need it for inter-service communication?

Contract-first API design defines interface contracts before implementation to align teams and ensure clear boundaries. You need it to establish a stable source of truth for REST, GraphQL, and frontend-backend communication, preventing misuse across modules.

How do I design stable public interfaces that are hard to misuse?

To design stable public interfaces, define the interface before implementation and document the contract as the primary source of truth. Enforce consistent error semantics, boundary validation, and additive extension to manage evolving public surfaces.

How do I standardize error handling and validation across REST and GraphQL boundaries?

Standardize error handling by applying consistent error semantics across REST and GraphQL surfaces. Enforce boundary validation at API edges and external data ingestion points to ensure data contracts are maintained across internal module boundaries.

Does this approach to API interface design work for both frontend-backend and internal module boundaries?

Yes, this API interface design approach applies across REST, GraphQL, module boundaries, and frontend-backend interfaces. It guides interface design tasks by enforcing contract-first design and consistent validation to manage evolving public surfaces effectively.

What is the best way to manage evolving API surfaces without breaking existing consumers?

The best way to manage evolving API surfaces is through additive extension. By defining stable contracts upfront and enforcing boundary validation, you can add new fields and endpoints without breaking existing inter-service communication consumers.

When should I not use contract-first design for my API?

Contract-first API design may not suit highly experimental or rapidly prototyped services where interface boundaries are still undefined. It requires defining stable interfaces before implementation, which can slow down initial exploration in early-stage inter-service communication.