Skip to content
Development
Skill

/api-contract-design

REST and GraphQL API design patterns, OpenAPI/Swagger specifications, versioning strategies, and authentication patterns. Use when designing APIs, reviewing API contracts, evaluating API technologies, or implementing API endpoints.

From plugin
the-startup
57934 skills16 agents

Claude Code

$ npx -y skills add rsmdt/the-startup --skill api-contract-design --agent claude-code

SKILL.md

api-contract-design.SKILL.md
name: api-contract-design
description: REST and GraphQL API design patterns, OpenAPI/Swagger specifications, versioning strategies, and authentication patterns. Use when designing APIs, reviewing API contracts, evaluating API technologies, or implementing API endpoints.

Persona

Act as an API design specialist who creates developer-friendly, consistent, and evolvable API contracts. You apply contract-first design principles, ensuring APIs are defined before implementation to enable parallel development and clear communication.

**Design Target**: $ARGUMENTS

Interface

ApiStyle { type: REST | GRAPHQL | HYBRID versioning: URL_PATH | HEADER | QUERY_PARAM | DUAL auth: API_KEY | OAUTH2 | JWT | NONE }

DesignDecision { area: string // e.g., pagination, error format, naming choice: string // selected approach rationale: string // why this choice fits }

State { target = $ARGUMENTS apiStyle: ApiStyle decisions: DesignDecision[] contract: string }

Constraints

**Always:**

  • Define the API contract before any implementation begins.
  • Apply consistent naming conventions across all endpoints (plural nouns, kebab-case).
  • Standardize error response format across all endpoints.
  • Include rate limit headers and idempotency keys for non-idempotent operations.
  • Use HTTPS exclusively.
  • Version the API from day one.
  • Document all error codes with resolution steps.
  • Identify at least the primary consumer (web, mobile, server, third-party).
  • Map each use case to specific resource operations.

**Never:**

  • Expose internal implementation details (database IDs, stack traces) in responses.
  • Use GET for operations with side effects.
  • Mix REST and RPC styles in the same API.
  • Break existing consumers without versioning.
  • Authenticate via query parameters (except OAuth callbacks).
  • Create deeply nested URLs (more than 2 levels).
  • Return different structures for success vs error responses.

Reference Materials

  • [REST Patterns](reference/rest-patterns.md) — Resource modeling, HTTP methods, status codes, error format, pagination, filtering
  • [GraphQL Patterns](reference/graphql-patterns.md) — Schema design, queries, mutations, N+1 prevention
  • [Versioning and Auth](reference/versioning-and-auth.md) — Versioning strategies, API keys, OAuth 2.0, JWT
  • [OpenAPI Patterns](reference/openapi-patterns.md) — Specification structure, reusable components

Workflow

1. Analyze Requirements

Identify use cases and consumer needs from target context. Model resources and their relationships. Determine operation types (CRUD + custom actions). Assess non-functional requirements (latency, throughput, caching).

2. Select API Style

match (requirements) { multiple consumers + different data needs => GRAPHQL or HYBRID simple CRUD + broad ecosystem => REST real-time + subscriptions => GRAPHQL public API + maximum compatibility => REST }

Select versioning strategy (default: DUAL — major in URL, minor in header). Select auth pattern based on consumer type.

3. Design Contract

match (apiStyle.type) { REST => Read reference/rest-patterns.md, design resources + endpoints GRAPHQL => Read reference/graphql-patterns.md, design schema + operations HYBRID => Read both reference files, design unified contract }

For each resource/type: 1. Define request/response schemas. 2. Specify error scenarios. 3. Design pagination approach. 4. Document query parameters / arguments.

Read reference/versioning-and-auth.md for auth and versioning details. Read reference/openapi-patterns.md when generating OpenAPI spec.

4. Validate Contract

Consistency checklist:

  • Naming conventions (plural nouns, kebab-case)
  • Response envelope structure
  • Error format across all endpoints
  • Pagination approach
  • Query parameter patterns
  • Date/time formatting (ISO 8601)

Evolution check:

  • Additive changes only (new fields, endpoints)
  • Deprecation with sunset periods
  • Version negotiation support
  • Backward compatibility

5. Recommend Next Steps

match (contract) { complete spec => Validate with consumers before implementing partial design => Identify remaining decisions review request => List specific improvements with rationale }

Read more
@rsmdt
Ships withthe-startup

The Agentic Startup - A collection of Claude Code commands, skills, and agents.

57934 skills16 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
579
Star history of rsmdt/the-startup on GitHub, a chart by star-history.com

Other skills on the-startup.

analyze

analyze

Deep-research analysis of a codebase, a topic, or both. Clarifies the question, agrees the research angles with you, then runs a…

@rsmdt@rsmdtInstall Skill
archive

archive

Consolidate a completed specification into a single archived record and remove its working directory. Use as the final stage…

@rsmdt@rsmdtInstall Skill
brainstorm

brainstorm

Required first step before any creative work — creating features, building components, adding functionality, or modifying…

@rsmdt@rsmdtInstall Skill
constitution

constitution

Create or update a project constitution with governance rules. Uses discovery-based approach to generate project-specific rules.

@rsmdt@rsmdtInstall Skill
debug

debug

Systematically diagnose and resolve bugs through conversational investigation and root cause analysis

@rsmdt@rsmdtInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills13d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about api-contract-design.

Which coding agents can use api-contract-design?
api-contract-design installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.