Contract-First API Design
Design API-kontrakten før koden: versionering, idempotens, cursor-paginering
Testet · Virker
Hvad det gør
En doktrin-skill, der får Claude til at skrive API-kontrakten før enhver implementeringskode, vælger den rigtige standard for protokollen (OpenAPI, AsyncAPI, proto, GraphQL SDL) og fastlægger versionering, fejlkoder, idempotensnøgler, cursor-paginering, rate-limit-headers og en deprecation-politik. Udløses, når du beder om at designe en ny API eller et endpoint, eller om at kontrollere, om en ændring bryder eksisterende klienter. Ingen scripts, ingen værktøjer – det er en gennemgangs- og forfattertjekliste, modellen anvender på dit design.
Testrapport
Designede den samme URL-shortener API to gange – én gang koldt, én gang efter skill-kroppen – og differentierede de to kontrakter mod en 13-punkts kontrakt-rubrik: den kolde version scorede 3, skill-versionen 13. Skill-kørslen tilføjede de ting, der er breaking changes at eftermontere senere: en påkrævet Idempotency-Key på POST (det kolde udkast prægede lydløst en anden kort kode ved genforsøg), signeret cursor-paginering med en max limit i stedet for page/offset, maskinlæsbar error_code plus request_id på hver respons, X-RateLimit-*-headers, en Sunset deprecation policy og en oasdiff CI gate. Den fangede også en anden kontraktflade, som det kolde udkast helt overså – Kafka click event'et kræver sin egen AsyncAPI-artefakt. Omkostning: den skill-drevne pass drev ind i kontraktmekanik og droppede to domæneregler, det kolde udkast havde (code recycling window, collision retry), så den supplerer snarere end erstatter produkttænkning.
Testet: 2026-07-28 · Claude Code 2.x (agent harness)
Installation
git clone https://github.com/robisson/build-like-amazon-agent-skills.git mkdir -p ~/.claude/skills cd build-like-amazon-agent-skills && cp -r skills/api-contract-first ~/.claude/skills/contract-first-api-design
Kommandoer og eksempelprompter
/contract-first-api-designDesign API-kontrakten før koden: versionering, idempotens, cursor-paginering
Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):
Design the REST API contract for our new billing service before codingWe're adding v2 endpoints, how do we avoid breaking existing clients?What pagination and idempotency contract should POST /payments have?