api-and-interface-design

Define stable public interfaces for REST, GraphQL, and inter-service contracts.

Updated Mar 11, 2026
One-click install
npx skills add https://github.com/Avila-Tek/avila-tek-skill-pack --skill api-and-interface-design-avila-tek
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-and-interface-design
Source: https://github.com/Avila-Tek/avila-tek-skill-pack/tree/main/skills/dev-api-and-interface-design
Command: npx skills add https://github.com/Avila-Tek/avila-tek-skill-pack --skill api-and-interface-design-avila-tek

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps teams define stable public interfaces and contracts before implementation, ensuring consistent APIs, clear module boundaries, and smooth handoffs between frontend and backend.

Core Features & Use Cases

  • Contract-first API design: define interfaces before coding to prevent drift.
  • Boundary validation: enforce validation and consistent error semantics at system edges.
  • Cross-technology design: apply to REST, GraphQL, and inter-service contracts to guide evolution and interoperability.

Quick Start

Draft an initial API contract for a new service using a contract-first approach and publish it for review.

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 stable public interfaces before coding. It prevents schema drift and ensures consistent error semantics across REST, GraphQL, and inter-service boundaries during team design handoffs.

How do I design REST and GraphQL APIs that minimize breaking changes?

To minimize breaking changes in REST and GraphQL APIs, apply additive schema evolution and enforce boundary validation. This approach maintains stable public interfaces while allowing systems to evolve smoothly over time.

What is the best way to document module boundaries for team handoffs?

The best way to document module boundaries is by defining clear public contracts that enforce validation and consistent error semantics at system edges. This ensures smooth handoffs between frontend and backend teams.

How do I enforce consistent error semantics at system boundaries?

You enforce consistent error semantics at system boundaries by applying a contract-first approach to your API design. This standardizes boundary validation and error handling across all inter-service communications.

Can I use a contract-first approach for both REST and GraphQL?

Yes, you can apply a contract-first approach to both REST and GraphQL. This cross-technology design method guides schema evolution and interoperability across all your inter-service contracts consistently.

When should I avoid additive API changes?

Additive API changes are standard for minimizing breaking changes, but you should validate boundary contracts first. If system edge validation fails or frontend clients require removed fields, additive evolution may not suffice.