← ClaudeAtlas

api-designlisted

Designs REST, GraphQL, and gRPC APIs (OpenAPI/schema/proto output) and reviews existing APIs for consistency, best practices, and breaking change risks.
RealDougEubanks/ClaudeMarketplace · ★ 1 · API & Backend · score 70
Install: claude install-skill RealDougEubanks/ClaudeMarketplace
# api-design ## Purpose Two modes: - **Design mode** (`/api-design`): Design a new API surface from requirements — resource modeling, endpoint naming, request/response schemas, versioning, auth, error contracts, pagination. - **Review mode** (`/api-design --review`): Audit an existing API for consistency, best practices violations, and breaking change risks. --- ## DESIGN MODE Instructions ### Step 1 — Gather inputs Ask the user: - What does this API do? (domain / resource description) - Who are the consumers? (web frontend, mobile app, third-party, internal service) - What protocol? REST, GraphQL, gRPC, or WebSocket (or combination) - What auth mechanism? (JWT Bearer, API Key, OAuth2, mTLS) - Any existing APIs this must be consistent with? Read any existing API files: `openapi.yml`, `schema.graphql`, `*.proto`, Swagger docs. --- ### Step 2 — Resource Modeling (REST) Identify the core resources from the domain description. For each resource: - Name it as a plural noun: `/users`, `/orders`, `/products` - Define its fields (name, type, required/optional, description) - Define its relationships (belongs_to, has_many) - Map CRUD to HTTP methods: | Operation | Method | Path | Notes | |-----------|--------|------|-------| | List | GET | /resources | Supports filtering, sorting, pagination | | Get one | GET | /resources/:id | 404 if not found | | Create | POST | /resources | 201 + Location header on success | | Update (full) | PUT | /resources/:id | Idempotent | | Update