Le contrat d'abord, le handler ensuite — sans négociation.
La spec est la source et le code lui obéit : sécurité déclarée, erreurs normalisées, écritures idempotentes, webhooks signés et changements cassants seulement avec ADR et date.
$ schematize install apiPlanchers non négociables
Jamais désactivés « pour aller plus vite ». Liste complète dans la skill.
Contract-first
La spec (OpenAPI 3.1+ ou .proto) est la source ; handlers et clients sont générés ou validés contre elle, et le drift bloque la CI.
Sécurité déclarée sur chaque opération
securitySchemes présent et chaque opération couverte ; public volontairement = security: [] explicite ; jamais de jeton dans la query string.
L'erreur est problem+json (RFC 9457)
Toute réponse 4xx/5xx porte un type stable ; jamais de 200 avec une erreur dans le corps, ni trace de pile ou SQL dans detail.
POST à effet exige Idempotency-Key
Limitée au principal, avec rejeu de la même réponse et 422/409 en cas d'abus.
Les collections paginent par curseur opaque
Ordre total stable et limite plafonnée ; offset seulement avec une raison écrite.
Webhook signé avec fenêtre de rejeu
HMAC par endpoint, id et horodatage, retry avec backoff et jitter, DLQ, anti-SSRF ; la livraison est at-least-once, jamais exactly-once.
Changement cassant seulement avec ADR et date
Le diff de compatibilité (oasdiff, buf breaking) tourne sur la PR ; déprécier = Deprecation + Sunset + lien de migration et 410 à la date.
Plafond sur chaque champ, argent en entier
maxLength, maximum et maxItems sur toute entrée ; l'argent est un entier en plus petite unité + devise, jamais float.
Commandes
Installées dans .claude/commands/. Lancez /api-help à tout moment.
/api-breakingClasse un changement de contrat, lance le diff de compatibilité et monte le plan de dépréciation daté./api-ccContext compact : écrit le handoff dans l'archive et lance /compact./api-claudeCrée ou fusionne le CLAUDE.md toujours actif du socle de contrat d'API à la racine du repo (n'écrase pas les blocs des autres skills)./api-designConçoit une nouvelle ressource ou opération, contract-first, avant tout handler./api-handoffGénère le handoff de contexte (context.md + checklist.md) dans l'archive, sans compacter./api-helpListe toutes les commandes et ce que fait chacune./api-loadCharge de force tout le corpus normatif de contrat d'API et l'applique pour la session./api-reviewRevoit une spec OpenAPI/.proto face au socle : lance le gate puis lit ce que la machine ne lit pas./api-webhookConçoit ou revoit un webhook émis ou reçu : signature, rejeu, retry, dédoublonnage et SSRF.Pour les agents IA
Installation sans intervention humaine. Métadonnées dans llms.txt.
- Lancez : git clone https://github.com/schematizeme/skill-api.git && ./skill-api/install.sh
- Ou téléchargez : https://github.com/schematizeme/skill-api/releases/latest/download/skill-api.zip et décompressez dans .claude/skills/
- Copiez assets/CLAUDE.md à la racine du repo (règle toujours active).
- Confirmez avec /api-help.
Discussion
Chargement…