Contract first, handler second — no negotiation.
The spec is the source and the code obeys it: declared security, standard errors, idempotent writes, signed webhooks, and breaking changes only with an ADR and a date.
$ schematize install apiNon-negotiable floors
Never switched off "to go faster". Full list in the skill.
Contract-first
The spec (OpenAPI 3.1+ or .proto) is the source; handlers and clients are generated or validated against it, and drift blocks CI.
Security declared on every operation
securitySchemes present and every operation covered; intentionally public means an explicit security: []; tokens never in the query string.
Errors are problem+json (RFC 9457)
Every 4xx/5xx carries a stable type; never a 200 with an error body, and never a stack trace or SQL in detail.
Effectful POST requires Idempotency-Key
Scoped to the principal, replaying the same response, with 422/409 on misuse.
Collections paginate by opaque cursor
Stable total order and a capped limit; offset only with a written reason.
Signed webhooks with a replay window
Per-endpoint HMAC, id and timestamp, retry with backoff and jitter, DLQ, anti-SSRF; delivery is at-least-once, never exactly-once.
Breaking change only with ADR and date
The compatibility diff (oasdiff, buf breaking) runs on the PR; deprecating means Deprecation + Sunset + migration link and a 410 on the date.
Every field capped, money as integers
maxLength, maximum and maxItems on all input; money is an integer minor unit + currency, never float.
Commands
Installed in .claude/commands/. Run /api-help anytime.
/api-breakingClassifies a contract change, runs the compatibility diff and builds the dated deprecation plan./api-ccContext compact: writes the handoff to the archive and runs /compact./api-claudeCreates or merges the always-on CLAUDE.md for the API contract baseline at the repo root (won't overwrite other skills' blocks)./api-designDesigns a new resource or operation, contract-first, before any handler./api-handoffWrites the context handoff (context.md + checklist.md) to the archive, without compacting./api-helpLists every command and what it does./api-loadForce-loads the whole API contract normative body and applies it for the session./api-reviewReviews an OpenAPI/.proto spec against the baseline: runs the gate, then reads what the machine cannot./api-webhookDesigns or reviews an outbound or inbound webhook: signature, replay, retry, dedupe and SSRF.For AI agents
Install with no human in the loop. Metadata in llms.txt.
- Run: git clone https://github.com/schematizeme/skill-api.git && ./skill-api/install.sh
- Or download: https://github.com/schematizeme/skill-api/releases/latest/download/skill-api.zip and unzip into .claude/skills/
- Copy assets/CLAUDE.md to the repo root (always-on rule).
- Confirm with /api-help.
النقاش
جارٍ التحميل…