Communitygithub.com

WST2002/claude-code-skills

Verwenden Sie diesen Skill beim Entwerfen einer neuen REST-API, Überprüfen von Endpunkten, Routern, Controllern oder einer OpenAPI/Swagger-Spezifikation, Auswählen von Statuscodes, Paginierung, Versionierung oder Fehlerformaten sowie beim Prüfen einer API-Änderung auf breaking changes.

Was ist claude-code-skills?

Der Skill „API Design Review“ ist ein spezialisiertes Werkzeug für Entwickler, das eine systematische Prüfung von REST-APIs aus Client-Perspektive ermöglicht. Er hilft dabei, Endpunkte zu inventarisieren, deren Request/Response-Shapes zu analysieren und anhand eines klaren Regelkatalogs auf Konsistenz und Korrektheit zu bewerten. Der Skill unterstützt gängige Plattformen wie Claude Code und Cursor, die SKILL.md-Dateien verarbeiten können, und bietet eine strukturierte Methode, um Probleme wie widersprüchliche Namenskonventionen, falsche Statuscodes oder fehlende Idempotenz-Header zu identifizieren. Die Ausgabe erfolgt als priorisierte Liste von Befunden mit Angabe des betroffenen Endpunkts, einer Beschreibung des Problems und einem konkreten Lösungsvorschlag. Der Skill ist besonders nützlich bei Code-Reviews, API-Erweiterungen oder der Erstellung neuer Endpunkte, um sicherzustellen, dass die API vorhersagbar, sicher und aufwärtskompatibel bleibt.

Funktioniert mit✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/WST2002/claude-code-skills/tree/HEAD/skills/api-design-review

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

API-Design-Review

Überblick

Beurteilen Sie eine API aus Client-Sicht: vorhersagbare Namen, ehrliche Statuscodes, ein einheitliches Fehlerformat, sichere Wiederholungen und keine überraschenden Breaking Changes. Jede Feststellung verweist auf einen konkreten Routen und zeigt das korrigierte Design.

Methode

  1. Inventur. Listen Sie jeden Endpunkt als METHODE /pfad → Statuscodes → Anfrage-/Antwortform auf. Lesen Sie Routen, Controller, OpenAPI-Dateien und DTOs.
  2. Prüfen Sie jeden Endpunkt anhand der nachstehenden Regeln.
  3. Prüfen Sie die API als Ganzes: Konsistenz zwischen den Endpunkten ist wichtiger als eine einzelne Entscheidung.
  4. Änderungen: Wenn Sie einen Diff prüfen, vergleichen Sie alte und neue Verträge und markieren Sie alles, das bestehende Clients bricht.
  5. Bericht unter Verwendung des folgenden Vertrags.

Regeln

BereichRegel
RessourcenPluralnomen, keine Verben: POST /orders, nicht /createOrder. Nur bei echter Besitzerbeziehung verschachteln: /users/{id}/orders.
MethodenGET liest und ist sicher. POST erstellt. PUT ersetzt. PATCH aktualisiert teilweise. DELETE löscht. Niemals den Zustand mit GET ändern.
Statuscodes200 OK, 201 Created (+ Location), 204 No Content, 400 ungültige Eingabe, 401 nicht authentifiziert, 403 nicht erlaubt, 404 fehlt, 409 Konflikt, 422 Validierung, 429 Ratenbegrenzung, 5xx nur für Serverfehler. Niemals 200 mit {"error": ...}.
FehlerEin einheitliches Format überall, z. B. RFC 9457: { "type", "title", "status", "detail", "errors": [{ "field", "message" }] }. Keine Stacktraces oder SQL in Antworten.
NamensgebungEinheitliche Schreibweise für JSON-Felder (camelCase oder snake_case), konsistente IDs, ISO 8601 UTC-Zeitstempel, Geld als ganze Zahl in Untereinheiten oder Dezimalstring plus Währung.
SammlungenJede Liste paginieren (Cursor bevorzugt bei großen oder sich ändernden Daten), Seitengröße begrenzen, nächsten Cursor oder Links zurückgeben. Filtern und Sortieren über Query-Parameter.
IdempotenzWiederholte POSTs, die Zahlungen, Bestellungen oder E-Mails erstellen, akzeptieren einen Idempotency-Key. PUT und DELETE sind von Haus aus idempotent.
VersionierungEine klare Strategie (/v1-Pfad oder Header). Breaking Changes erfordern eine neue Version.
Breaking ChangesEntfernen oder Umbenennen von Feldern, Ändern von Typen, erforderliche optionale Eingaben machen, Statuscodes oder Fehlerformat ändern, Validierung verschärfen.
SicherheitAuthentifizierung auf jeder nicht-öffentlichen Route, objektbezogene Besitzprüfungen, Ratenbegrenzung auf Auth- und teuren Routen, keine sensiblen Daten in URLs.
LeistungKeine unbegrenzten Antworten, fields- oder sparse-responses für schwere Objekte unterstützen, ETag oder Cache-Control für cachebare GETs.

Ausgabevertrag

Beginnen Sie mit: N Endpunkte geprüft, M Feststellungen (X breaking). Dann, höchste Auswirkung zuerst:

### [Breaking | High | Medium | Low] Titel
- Endpunkt: METHODE /pfad (datei:zeile)
- Problem: was ein Client erlebt
- Fix: die korrigierte Route, der Statuscode oder das JSON-Format

Schließen Sie mit einer kurzen Konsistenzzusammenfassung (Namensgebung, Fehlerformat, Paginierung, Versionierung: konsistent oder nicht) und, wenn von Grund auf neu entworfen, der vorgeschlagenen Endpunkttabelle.

Häufige Fehler

  • Endpunkte einzeln prüfen und übersehen, dass zwei in der Schreibweise oder im Fehlerformat nicht übereinstimmen.
  • Ein Redesign empfehlen, wenn eine abwärtskompatible Ergänzung ausreichen würde.
  • Eine Änderung als sicher bezeichnen, weil der Server-Code noch funktioniert: Prüfen Sie, was bestehende Clients senden und erwarten.
  • 500 für Validierungsfehler oder 404 für Berechtigungsfehler verwenden, ohne bewusst zu entscheiden.

Erstellt von Wageesha Tripathi · LinkedIn · E-Mail · Weitere Skills

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills