← ClaudeAtlas

apilisted

Use for REST API contracts: endpoints, fields, evolution, status codes, errors, pagination, idempotency.
kreek/consult · ★ 1 · API & Backend · score 72
Install: claude install-skill kreek/consult
# API ## Iron Law `DESIGN THE CONTRACT FIRST. EVOLVE WITHOUT BREAKING. PICK STATUS BY ORIGIN.` ## When to Use - Adding, removing, renaming, or reviewing REST endpoints, fields, status codes, webhooks, auth, pagination, rate limits, or idempotency. - Writing or changing OpenAPI, JSON Schema, public SDK boundaries, or integration contracts external callers depend on. ## When NOT to Use - Internal function signatures with no caller contract; use `domain-modeling`. - Auth, secrets, or trust-boundary review beyond API shape; use `security`. - Database schema; use `database`. - gRPC, GraphQL, or message-queue APIs: use `architecture` for the style decision and that ecosystem's conventions for shape. ## Rules 1. Sketch the contract (OpenAPI or the repo's contract source) before controller code and implement from it. Every response shape is explicit, including errors, empty states, pagination, and auth failures. Durable API interfaces route through `contract-first`. Additive changes old callers cannot notice (a new optional field, param, or endpoint) proceed without a stop; state the shape in the close-out. 2. Never break in place. Optional fields, params, headers, methods, and endpoints evolve in place. Renames, removals, required additions, status-code changes, and semantic changes need a successor contract or a deprecation path with an overlap window. One versioning strategy per service, applied consistently; compatible additions never re-v