event4u-app/agent-config

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.

95Collecting
See how to use itView GitHub source
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/api-design"

Quick start

Start using it in three steps

Install it or open the source, trigger it with a clear task, then follow the source workflow.

1

Install the Skill

npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/api-design"
2

Describe the task

Use api-design to help me with: [describe your task]. Before you begin, tell me what input you need, the steps you will follow, and the expected output.

3

Follow the workflow

No structured workflow was detected; follow the original SKILL.md below.

Continue to the workflow

Direct answers

Answers to review before you install

What is 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.

Who should use api-design?

It is relevant to workflows involving Engineering, Design, Operations.

How do you install api-design?

SkillSignal detected this source-specific command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/api-design". Inspect the repository and command before running it.

Which Agent platforms does it support?

The upstream source does not declare a dedicated Agent platform.

What permissions or risks should you review?

No obvious permission action was detected by the static rules. This is not proof that the Skill is safe.

What are the current evidence limits?

This page combines upstream documentation with deterministic repository, quality, and static-risk signals. It is not described as a manual test or security review.

SkillSignal brief

Decide whether it fits your work first

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.

Useful in these contexts

Not yet included in a workflow collection

Core capabilities

EngineeringDesignOperations

Distilled from the source

Understand this Skill in one minute

About 3 min · 9 sections

When it is worth using

  1. Implementing an already-designed endpoint (use api-endpoint skill)

  2. Writing tests for APIs (use api-testing skill)

Examples and typical usage

  1. Endpoint specification — method, path, request/response structure

  2. Versioning decision with rationale

  3. Error response format following existing project patterns

Repository stars
7
Repository forks
1
Quality
95/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

95/100
Documentation28/30
Specificity25/25
Maintenance20/20
Trust signals22/25
View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 3 min

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
Skill path
src/skills/api-design/SKILL.md
Commit SHA
0adf49a8ae84
Repository license
MIT
Data collected