analyze
Deep-research analysis of a codebase, a topic, or both. Clarifies the question, agrees the research angles with you, then runs a…
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.
Claude Code
$ npx -y skills add rsmdt/the-startup --skill api-contract-design --agent claude-code
Codex
$ npx skills add rsmdt/the-startup --skill api-contract-design -a codex -y
Cursor
$ npx skills add rsmdt/the-startup --skill api-contract-design -a cursor -y
Gemini CLI
$ npx skills add rsmdt/the-startup --skill api-contract-design -a gemini-cli -y
GitHub Copilot
$ npx skills add rsmdt/the-startup --skill api-contract-design -a github-copilot -y
OpenCode
$ npx skills add rsmdt/the-startup --skill api-contract-design -a opencode -y
Windsurf
$ npx skills add rsmdt/the-startup --skill api-contract-design -a windsurf -y
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.
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
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 }
**Always:**
**Never:**
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).
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.
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.
Consistency checklist:
Evolution check:
match (contract) { complete spec => Validate with consumers before implementing partial design => Identify remaining decisions review request => List specific improvements with rationale }
The Agentic Startup - A collection of Claude Code commands, skills, and agents.
Deep-research analysis of a codebase, a topic, or both. Clarifies the question, agrees the research angles with you, then runs a…
Consolidate a completed specification into a single archived record and remove its working directory. Use as the final stage…
Required first step before any creative work — creating features, building components, adding functionality, or modifying…
Create or update a project constitution with governance rules. Uses discovery-based approach to generate project-specific rules.
Systematically diagnose and resolve bugs through conversational investigation and root cause analysis
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.