pattern-architect-api-endpointlisted
Install: claude install-skill MartinKChen/harness-claude-code
# pattern-architect-api-endpoint
The authority for HTTP endpoint shape. Every new or changed endpoint flows through this skill first; the decisions made here are recorded in the api contract, which engineers implement against and reviewers verify. Endpoint shape is decided here, not re-litigated in code, commit messages, or PR descriptions.
## When to activate
Activate this skill whenever the user:
- asks to design, add, scaffold, expose, or refactor an HTTP endpoint, route, controller, or handler
- asks "what URL / verb / status code should this be?", "how should I structure this route?", or similar framing questions
- asks for a review of a controller, route file, or API design doc
- is wiring a new endpoint in Express, Fastify, NestJS, FastAPI, Flask, Django REST, Rails, Gin, Echo, or similar HTTP frameworks
Do NOT activate for: internal function/method design that is not exposed over HTTP, GraphQL/gRPC schema work (those have their own conventions), pure client-side fetch refactors that don't change the contract, or generic "fix this bug" requests where the endpoint shape is incidental.
## Pattern
The canonical shape is resource-oriented REST. Frame the endpoint as **`<verb> <resource path>`**, then fill in request/response, errors, list-query params, version, and idempotency.
```http
# Collection
GET /v1/orders → 200 list (paginated)
POST /v1/orders → 201 created (Idempotency-Key supported)
# Item
GET /v1/orders/{order_id}