API Conventions

Interne REST-regler Claude anvender ved design av endepunkter: URL-form, data/error/meta, 422

av huangjia2019 · huangjia2019/claude-code-engineering

Bestått ★ 8.4/10

API Conventions — Interne REST-regler Claude anvender ved design av endepunkter: URL-form, data/error/meta, 422

Hva den gjør

En referanseferdighet som laster et fast sett med REST-konvensjoner når Claude skriver eller gjennomgår API-endepunkter: flertall kebab-case ressurs-URLer med maks to nestingsnivåer, en obligatorisk data/error/meta respons-konvolutt, en statuskode-tabell som ruter forretningslogikk-feil til 422, Bearer-autentisering med en @public opt-out, og /api/v1 sti-versjonering. Den utløses ved forespørsler om å designe et nytt endepunkt, velge et responsformat, eller gjennomgå en eksisterende rutes form og feilresponser. Reglene er hardkodede og meningsbaserte, så forgrene SKILL.md og bytt inn dine egne standarder før du bruker den på et ekte prosjekt.

Testrapport

Installert i en midlertidig HOME=$(mktemp -d) og bekreftet at SKILL.md landet på ~/.claude/skills/api-conventions/SKILL.md; frontmatter parset med yaml.safe_load (name, 273-tegns description, allowed-tools Read/Grep/Glob), kroppen er 1231 tegn og refererer til null eksterne filer, og en grep etter curl|base64|eval|http://|/Users/ fant ingenting. Samme oppgave to ganger — "design endpoints for listing a customer's coupons and redeeming one" — baseline.md vs skill.md i scratchpad: baseline returnerte et bart {"coupons":[...],"page","per_page","total"} objekt, POST /api/coupons/{code}/redeem returnerte 200, og 409/410 for allerede-innløst/utløpt; ferdighetsversjonen returnerte {"data":[...],"error":null,"meta":{page,limit,total}} på hver respons, flyttet handlingen til POST /api/v1/coupons/{code}/redemptions som returnerte 201, kollapset 409 og 410 til 422, la til en 403 eierskapssak, og gjorde autentisering eksplisitt som Bearer + en @public-annotering på det ene åpne endepunktet. Utløserfraser jeg vurderte som last: "add a REST endpoint for listing a user's invoices — what should the URL and response body look like?", "review this Express route file and tell me if the error responses are right", "we're designing a new public orders API — what status code for a validation failure?"; vurdert som ingen last: "write a Python client that calls the Stripe API and retries on 429" (forbruker, ikke designer) og "the /users endpoint returns 500, help me find the null deref" (runtime-feilsøking, ikke format) — 5/5 korrekt. Reell advarsel: det er en kursdemo, så konvensjonene er hardkodet til en forfatters husstil og halvparten av kroppsprosaen er kinesisk.

Testet på: 2026-07-21 · Claude Code 2.x (agent harness)

Installer

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).

Kommandoer og eksempelprompter

  • /api-conventionsInterne REST-regler Claude anvender ved design av endepunkter: URL-form, data/error/meta, 422

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

  • Design a new endpoint following our API conventions
  • Review this API for consistent error handling
  • Check this response format against our standards