Skip to content
Skills Library
Programming · Planning

api-design

/api-design

Defines REST and GraphQL API contracts including endpoints, request/response schemas, auth flows, and versioning strategy. Use when designing a new API, reviewing an API spec, or when the user mentions API design, OpenAPI, or endpoint contracts.

Licence
MIT
Last repository change
15.05.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 15.05.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Defines REST and GraphQL API contracts including endpoints, request/response schemas, auth flows, and versioning strategy. Use when designing a new API, reviewing an API spec, or when the user mentions API design, OpenAPI, or endpoint contracts.

Original author description

Defines REST and GraphQL API contracts including endpoints, request/response schemas, auth flows, and versioning strategy. Use when designing a new API, reviewing an API spec, or when the user mentions API design, OpenAPI, or endpoint contracts.

How it works

  1. Protocol
  2. Output
Original SKILL.md headings · 91 lines, 487 words
SKILL.md preview
---
name: api-design
type: workflow
description: "Defines REST and GraphQL API contracts including endpoints, request/response schemas, auth flows, and versioning strategy. Use when designing a new API, reviewing an API spec, or when the user mentions API design, OpenAPI, or endpoint contracts."
argument-hint: "[path-to-api-spec-or-route-files]"
user-invocable: true
allowed-tools: Read, Glob, Grep, WebSearch
effort: 3
when_to_use: "When designing or reviewing REST/GraphQL API contracts, endpoint naming, schemas, or versioning"
---

When this skill is invoked:

1. **Read the target API spec or route files** in full.

   For API design in an existing domain, SHOULD also inspect
   `docs/technical/API.md`, related `design/specs/*`, related
   `design/contracts/*` if present, and recent relevant ledger entries via
   `/trace-history`. This is advisory unless the change is an ADR,
   coordination-rule change, high-risk retry, or protocol removal.

2. **Identify the API type** (REST, GraphQL, WebSocket) and apply appropriate standards.

3. **Evaluate REST design quality** (if REST):
   - [ ] Resources use nouns, not verbs (`/users`, not `/getUsers`)
   - [ ] Correct HTTP methods (GET=read, POST=create, PUT/PATCH=update, DELETE=remove)
   - [ ] Consistent plural resource naming (`/users`, `/orders`)
   - [ ] Nested resources have max 2-3 levels of depth
   - [ ] Query parameters used for filtering, sorting, pagination (not in path)

4. **Evaluate request/response schemas**:
   - [ ] All inputs are validated and typed
   - [ ] Responses are consistent in structure (envelope format if used)
   - [ ] Pagination is consistent (cursor or page-based, not mixed)
   - [ ] Timestamps in ISO 8601 (UTC)
   - [ ] Money values in smallest currency unit (cents), not floats

5. **Evaluate authentication & authorization**:
   - [ ] Every endpoint has explicit auth requirement documented
   - [ ] Authorization is checked server-side, not just on the client
   - [ ] Sensitive data not leaked in error messages

6. **Evaluate error responses**:
   - [ ] Consistent error format (RFC 7807 Problem Details recommended)
   - [ ] HTTP status codes used correctly (400 for client errors, 500 for server)
   - [ ] Error messages are user-safe (no stack traces, SQL errors)

7. **Evaluate versioning & backward compatibility**:
   - [ ] Breaking changes require a version bump
   - [ ] Deprecation policy documented
   - [ ] Clients can negotiate API version

8. **Output the review**:

```
## API Design Review: [API/Endpoint Name]

### REST Design: [CLEAN / ISSUES FOUND]
[List specific issues with examples]

### Schema Quality: [CLEAN / ISSUES FOUND]
[List schema inconsistencies or problems]

### Auth & Security: [SECURE / ISSUES FOUND]
[List authentication and authorization issues]

### Error Handling: [CONSISTENT / ISSUES FOUND]
[List error response problems]

### Versioning: [HANDLED / UNADDRESSED]
[Notes on breaking change risk]

### Positive Observations
[What is well-designed]

### Required Changes
[Must-fix items before shipping]

### Suggestions
[Nice-to-have improvements]

### Verdict: [APPROVED / APPROVED WITH SUGGESTIONS / CHANGES REQUIRED]
```

## Protocol

- **Question**: Auto-starts from argument (path to API spec or route files); no clarification needed
- **Options**: Skip — single review path
- **Decision**: Skip — verdict is advisory
- **Draft**: Full review report shown in conversation only
- **Approval**: Skip — read-only; no files written

## Output

Deliver exactly:

- **Endpoint compliance score** (X/Y checks passing across naming, methods, validation, errors)
- **Security issues** with severity — CRITICAL / HIGH / MEDIUM (or "None")
- **Required changes** — must fix before shipping (or "None")
- **Verdict**: `APPROVED` / `APPROVED WITH SUGGESTIONS` / `CHANGES REQUIRED`

Versions

RepositoryScoreLicence
This page · tranhieutt/software_development_department100MIT
proyecto26/system-design-skills100MIT
ericrisco/rsc-harness100MIT
Sanit-mann/The-Insectoids100MIT
yonatangross/orchestkit100MIT
travisjneuman/.claude100MIT
wrongstack/wrongstack100MIT
jelvodev/yaap100MIT
komluk/scaffolding100MIT

Database snapshot: 13.11.2026 · package version cdcb88d57a8c (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100designing-apis
    Designs REST and GraphQL APIs including endpoints, error handling, versioning, and documentation. Use when creating new APIs, designing endpoints, reviewing API contracts, or when asked about REST, GraphQL, or API patterns.
  • 90api-contract-design
    REST and GraphQL API design patterns, OpenAPI/Swagger specifications, versioning strategies, and authentication patterns. Use when designing APIs, reviewing API contracts, evaluating API technologies, or implementing API endpoints.
  • 90backend-api-contract
    Designs REST / GraphQL / RPC endpoints — routes, methods, request/response schemas, error envelope, auth, versioning, pagination. Output: OpenAPI/GraphQL SDL fragment or a markdown spec the backend can implement against. Pulled by the `backend` specialist. TRIGGER: "design the…
  • 100rest-api-design
    Design REST API endpoints with Zod validation and OpenAPI documentation. Use when creating new API routes, validating request/response schemas, or updating API documentation. Activates for endpoint design, schema validation, error handling, and API docs.
  • 100rest-api-design
    Design REST API endpoints with Zod validation and OpenAPI documentation. Use when creating new API routes, validating request/response schemas, or updating API documentation. Activates for endpoint design, schema validation, error handling, and API docs.
  • 100design-api
    Design REST and GraphQL APIs: naming, versioning, error shapes, auth. Use when "design an API", "create endpoints", "REST vs GraphQL", or "API contract".

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.