From Claude Starter Kit
API contract design: resource naming, error model, versioning, pagination, backward compatibility, OpenAPI. A predictable interface that evolves without breaking consumers. Trigger phrases: "api design", "api contract", "api versioning", "openapi", "swagger", "rest contract", "breaking api change"
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-starter-kit:api-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Goal: a contract the consumer can **predict** and that can **evolve** without breaking. Once published, a
Goal: a contract the consumer can predict and that can evolve without breaking. Once published, a public API is a commitment; a breaking change is expensive. Stack-agnostic (REST as the baseline; GraphQL/gRPC follow similar principles).
kebab/camel style), resources not verbs/v1 or header); a breaking change means a new versiondocs-writer)POST /orders (✓), POST /createOrder (✗).{ "code": "ORDER_NOT_FOUND", "message": "Order not found", "details": [] }
No stack trace / internal detail leakage (overlaps with security-scan)./v2.docs-writer, and if breaking to release/CHANGELOG.| Additive (safe) | Breaking (needs a version) |
|---|---|
| Add an optional field/endpoint | Remove / rename a field |
| A new optional parameter | Add a required parameter |
| A new enum value (if the consumer is tolerant) | Change a type/meaning, change a status code |
npx claudepluginhub byerlikaya/claude-starter-kit --plugin claude-starter-kitContract-first API design for stable, evolvable interfaces. Use whenever defining a new API endpoint, inter-service boundary, or modifying an existing contract. Includes backward compatibility checklist and error contract specification.
Guide stable API and interface design. Use when creating REST or GraphQL endpoints, defining type contracts, or establishing frontend/backend or module boundaries.
Designs RESTful APIs with endpoint naming, versioning strategies (URL path, header-based), pagination (offset and cursor), error response schemas, and OpenAPI conventions. Use when the user asks about REST API design, creating endpoints, URL structure, API versioning, status codes, Swagger, or OpenAPI specs.