API Conventions
Interna REST-regler Claude tillämpar vid design av endpoints: URL-form, data/error/meta, 422
Testad · Fungerar
Vad den gör
En referensfärdighet som laddar en fast uppsättning REST-konventioner när Claude skriver eller granskar API-endpoints: plural kebab-case resurs-URL:er med max två nästlingsnivåer, ett obligatoriskt data/error/meta svarskuvert, en statuskodtabell som dirigerar affärslogikfel till 422, Bearer-autentisering med en @public opt-out, och /api/v1 sökvägsversionering. Den utlöses vid förfrågningar om att designa en ny endpoint, välja ett svarsformat, eller granska en befintlig rutes form och felmeddelanden. Reglerna är hårdkodade och åsiktsbaserade, så forka SKILL.md och byt ut mot dina egna standarder innan du använder den i ett verkligt projekt.
Testrapport
Installeras i en temporär HOME=$(mktemp -d) och bekräftade att SKILL.md hamnade på ~/.claude/skills/api-conventions/SKILL.md; frontmatter parsades med yaml.safe_load (name, 273-tecken beskrivning, allowed-tools Read/Grep/Glob), kroppen är 1231 tecken som refererar noll externa filer, och en grep efter curl|base64|eval|http://|/Users/ hittade inget. Samma uppgift två gånger — "designa endpoints för att lista en kunds kuponger och lösa in en" — baseline.md vs skill.md i scratchpad: baslinjen returnerade ett bart {"coupons":[...],"page","per_page","total"}-objekt, POST /api/coupons/{code}/redeem returnerade 200, och 409/410 för redan inlösta/utgångna; färdighetsversionen returnerade {"data":[...],"error":null,"meta":{page,limit,total}} på varje svar, flyttade åtgärden till POST /api/v1/coupons/{code}/redemptions som returnerade 201, slog samman 409 och 410 till 422, lade till ett 403 ägarskapsfall, och gjorde autentisering explicit som Bearer + en @public-annotation på den enda öppna endpointen. Utlösningsfraser jag bedömde ladda: "lägg till en REST-endpoint för att lista en användares fakturor — hur ska URL:en och svarskroppen se ut?", "granska denna Express-rutfil och berätta om felmeddelandena är korrekta", "vi designar ett nytt offentligt orders-API — vad statuskod för ett valideringsfel?"; bedömdes inte ladda: "skriv en Python-klient som anropar Stripe API och försöker igen vid 429" (konsumerar, inte designar) och "/users-endpointen returnerar 500, hjälp mig att hitta null-dereferensen" (runtime-felsökning, inte format) — 5/5 korrekt. Verklig varning: det är en kursdemo, så konventionerna är hårdkodade till en författares egen stil och hälften av kroppsprosan är kinesiska.
Testad: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
git clone --depth 1 https://github.com/huangjia2019/claude-code-engineering.git /tmp/api-conventions-src
mkdir -p ~/.claude/skills
cp -R /tmp/api-conventions-src/04-Skills/projects/01-reference-skill/.claude/skills/api-conventions ~/.claude/skills/api-conventions
# Single self-contained SKILL.md (~1.7KB), no scripts, no deps, no API keys.
# Source repo is a Chinese course companion ("Claude Code 工程化实战") with 8+ demo skills;
# this slug is the 01-reference-skill example. Parts of the SKILL.md body (response-format
# and status-code notes) are written in Chinese; the rules themselves are language-neutral.
# IMPORTANT: the description says "conventions for this project" but the rules are the course
# author's, not yours. Edit ~/.claude/skills/api-conventions/SKILL.md to match your real
# standards, or it will push /api/v1, data/error/meta envelopes and 422 onto every codebase.
# frontmatter sets allowed-tools: Read, Grep, Glob (read-only). Kommandon och exempelprompter
/api-conventionsInterna REST-regler Claude tillämpar vid design av endpoints: URL-form, data/error/meta, 422
Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):
Design a new endpoint following our API conventionsReview this API for consistent error handlingCheck this response format against our standards