Contract-First API Design
Designa API-kontraktet före koden: versionering, idempotens, cursor paging
Testad · Fungerar
Vad den gör
En doktrin-skill som får Claude att skriva API-kontraktet före någon implementeringskod, väljer rätt standard för protokollet (OpenAPI, AsyncAPI, proto, GraphQL SDL) och fastställer versionering, felkoder, idempotensnycklar, cursor pagination, rate-limit-headers och en deprecation policy. Utlöses när du ber om att designa ett nytt API eller endpoint, eller för att kontrollera om en ändring bryter befintliga klienter. Inga skript, inga verktyg – det är en gransknings- och författarchecklista som modellen tillämpar på din design.
Testrapport
Designade samma URL-shortener API två gånger – en gång kallt, en gång enligt skill-kroppen – och diffade de två kontrakten mot en 13-punkts kontraktsrubrik: den kalla versionen fick 3 poäng, skill-versionen 13. Skill-körningen lade till de saker som är brytande ändringar att eftermontera senare: en obligatorisk Idempotency-Key på POST (det kalla utkastet skapade tyst en andra kort kod vid återförsök), signerad cursor pagination med en maxgräns istället för page/offset, maskinläsbar error_code plus request_id på varje svar, X-RateLimit-*-headers, en Sunset deprecation policy och en oasdiff CI gate. Den fångade också en andra kontraktsyta som det kalla utkastet helt missade – Kafka click event behöver sin egen AsyncAPI-artefakt. Kostnad: det skill-drivna passet drev in i kontraktsmekanik och tappade två domänregler som det kalla utkastet hade (code recycling window, collision retry), så det kompletterar snarare än ersätter produkttänkande.
Testad: 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
Kommandon och exempelprompter
/contract-first-api-designDesigna API-kontraktet före koden: versionering, idempotens, cursor paging
Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):
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?