本文へ移動
cccskills
無料GitHub で公開

api-design

Use when designing APIs, planning endpoints, REST conventions, versioning, or deprecation — even when the user just says 'expose this as an endpoint' without naming API design.

インストール方法を見る

含まれるファイル(4)

  • SKILL.md4.6 KB
  • data/api-patterns.csv4.4 KB
  • data/manifest.json851 B
  • evals/triggers.json4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

api-design

Grounded corpus (Tier-1 consultation): pagination, versioning, error shape (RFC 9457), idempotency, async ops, rate limiting, bulk, naming, expansion, webhooks — query ./scripts-run <skills-root>/corpus-grounding/scripts/ground search --manifest <skills-root>/api-design/data/manifest.json "<concern>" and propose the grounded pattern (+ hardening + anti-patterns + RFC link) before designing from memory. Corpus: data/api-patterns.csv.

When to use

Use this skill when designing new API endpoints, restructuring existing APIs, or deciding about versioning and deprecation.

Do NOT use when:

  • Implementing an already-designed endpoint (use api-endpoint skill)
  • Writing tests for APIs (use api-testing skill)

Procedure: Design an API

  1. Gather context — read agents/settings/contexts/api-versioning.md, agents/reference/docs/api-resources.md, agents/reference/docs/query-filter.md, agents/reference/docs/controller.md, and guideline php/api-design.md.
  2. Identify the resource — determine the domain entity, its attributes, and relationships. Check existing models and resources for field naming patterns.
  3. Define endpoints — list each endpoint with HTTP method, URL path, request body, query parameters, and response structure. Follow existing route file patterns.
  4. Decide versioning — determine whether this extends the current version or requires a new version (see decision table below).
  5. Design error responses — define 4xx/5xx responses matching the project's existing error format.
  6. Validate against existing patterns — compare your design with 2-3 similar existing endpoints. Flag any inconsistencies.
  7. Run adversarial review — use adversarial-review skill to check for breaking changes, consistency issues, and missing error cases.

Versioning decisions

URL-based versioning

Routes versioned via URL prefix: /api/v1/..., /api/v2/...

routes/api/v1/projects.php  → /api/v1/projects   (Laravel)
app/api/v1/projects/route.ts → /api/v1/projects   (Next.js)
routes/api/v2/projects.php  → /api/v2/projects

Automatic fallback

If a route doesn't exist in the requested version, the system falls back to the next older version. Configured in the framework's app config (config/app.php in Laravel):

'api_versioning' => [
    'versions' => 'v2,v1',  // newest first
],

When to create a new version

Change typeAction
Add optional fieldExtend current version
Add new endpointAdd to current version
Remove/rename fieldNew version
Change field typeNew version
Change validation rulesNew version

If an existing client would break without code changes → new version required.

Deprecation workflow

  1. Mark as deprecated — add headers: Deprecation: true, Sunset: YYYY-MM-DD, Link: <successor>
  2. Document — add to API changelog with sunset date
  3. Monitor usage — track clients still using deprecated endpoints
  4. Remove — after sunset date, remove route + controller + docs

Minimum 3 months between deprecation and removal.

Design review

Before presenting an API design, run the adversarial-review skill. Focus on: Breaking changes? Consistency? Error responses?

Output format

  1. Endpoint specification — method, path, request/response structure
  2. Versioning decision with rationale
  3. Error response format following existing project patterns

Gotcha

  • Consistency beats "better" design — check existing patterns first.
  • Always include pagination on list endpoints.
  • Max nesting depth: 2 levels (/users/{id}/orders/{id}).
  • Don't version internal APIs only your own frontend consumes.
  • Deprecation without migration path is useless — always provide the replacement.
  • Don't duplicate controllers for new versions — use fallback logic.

Do NOT

  • Do NOT introduce a new response format in an established API — match existing patterns.
  • Do NOT create v2 endpoints without a deprecation plan for v1.
  • Do NOT skip pagination on list endpoints.

Auto-trigger keywords

  • API design
  • REST API
  • endpoint design
  • resource structure
  • response format
  • API versioning
  • deprecation
  • breaking changes

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月11日 更新

Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月11日 更新

Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月11日 更新

Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月11日 更新

Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月11日 更新

Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月11日 更新

event4u-app のスキルをすべて見る

このスキルの問題を報告する