Contract-First API Design

Design API-kontrakten før koden: versionering, idempotens, cursor-paginering

Af robisson · robisson/build-like-amazon-agent-skills

Testet · Virker ★ 8.8/10

Contract-First API Design — Design API-kontrakten før koden: versionering, idempotens, cursor-paginering

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 coding
  • We're adding v2 endpoints, how do we avoid breaking existing clients?
  • What pagination and idempotency contract should POST /payments have?