api-and-interface-design

Design stable REST and GraphQL API contracts with consistent error semantics.

Updated May 3, 2026
One-click install
npx skills add https://github.com/kevindree/geehoo-gateway --skill api-and-interface-design-kevindree
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-and-interface-design
Source: https://github.com/kevindree/geehoo-gateway/tree/main/.github/skills/api-and-interface-design
Command: npx skills add https://github.com/kevindree/geehoo-gateway --skill api-and-interface-design-kevindree

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you design stable public interfaces that are easy to understand, hard to misuse, and safer to evolve without breaking consumers.

Core Features & Use Cases

  • Contract-first design: Define inputs, outputs, and behavior before implementation so the interface stays clear and predictable.
  • Consistent API behavior: Standardize error semantics, validation boundaries, pagination, filtering, and naming across endpoints.
  • Backward-compatible evolution: Add fields safely, avoid breaking changes, and plan for deprecation before consumers depend on undocumented behavior.
  • Use case: Build a new REST or GraphQL endpoint, define module boundaries between teams, or review an existing API for inconsistencies and versioning risk.

Quick Start

Ask me to design or review an API interface for your feature, and I will propose the contract, error model, validation rules, and backward-compatible shape.

Frequently Asked Questions about api-and-interface-design

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

FAQPage Schema
How do I design a REST API contract that is hard to misuse?

To design a REST API contract that is hard to misuse, define inputs, outputs, and behavior before implementation. Apply contract-first definitions, consistent error semantics, boundary validation, and predictable naming to ensure the interface stays clear.

What is the best way to evolve a GraphQL endpoint without breaking consumers?

The best way to evolve a GraphQL endpoint without breaking consumers is through additive evolution. Add fields safely, avoid breaking changes, and plan for deprecation before consumers depend on undocumented behavior.

How do I standardize error semantics and validation boundaries for an API?

Standardize API error semantics and validation boundaries by defining consistent error models, pagination, filtering, and naming across endpoints. Contract-first definitions ensure predictable behavior and clear validation rules.

Can I use contract-first design for module boundaries and component props?

Yes, you can use contract-first design for module boundaries and component props. This approach applies to REST, GraphQL endpoints, module boundaries between teams, and database-influenced schemas to create stable public interfaces.

Why does my API interface have inconsistencies and versioning risk?

API interfaces have inconsistencies and versioning risk when contract-first definitions are skipped. Reviewing existing APIs for consistent error semantics, boundary validation, and additive evolution helps identify and resolve these vulnerabilities.

When do I need to plan for API deprecation in interface design?

You need to plan for API deprecation during interface design when adding fields safely for backward-compatible evolution. Planning deprecation before consumers depend on undocumented behavior prevents breaking changes and ensures safer API evolution.