/api-design
REST API design best practices. Use when designing APIs, choosing status codes, or creating endpoints.
$ npx -y skills add Tibsfox/gsd-skill-creator --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/api-design
Context preview
What this command does when you run it.
REST API design best practices. Use when designing APIs, choosing status codes, or creating endpoints.
Command definition
api-design.mdname: api-design
description: REST API design best practices. Use when designing APIs, choosing status codes, or creating endpoints.
REST API Design
Endpoint Rules
- **Nouns, not verbs:** `/users` not `/getUsers` — HTTP method is the verb
- **Plural nouns:** `/users`, `/orders` — consistent collections
- **Kebab-case:** `/user-profiles` not `/user_profiles`
- **Max 2 levels nesting:** `/users/{id}/orders` — deeper use query params
- **No trailing slashes, no extensions**
HTTP Methods
| Method | Purpose | Idempotent | |--------|---------|------------| | GET | Retrieve | Yes | | POST | Create | No | | PUT | Replace entire resource | Yes | | PATCH | Partial update | No | | DELETE | Remove | Yes |
Status Codes
| Code | Use When | |------|----------| | 200 | Success with body | | 201 | Resource created (+ Location header) | | 204 | Success, no body (DELETE) | | 400 | Malformed request | | 401 | Not authenticated | | 403 | Authenticated but forbidden | | 404 | Not found | | 409 | Conflict (duplicate) | | 422 | Valid syntax, invalid semantics | | 429 | Rate limited |
Error Format
{"error": {"code": "VALIDATION_ERROR", "message": "...", "details": [], "request_id": "req_..."}}Key Rules
- Always paginate lists (cursor-based preferred, max page size enforced)
- Never expose sequential IDs — use UUIDs
- Auth credentials in headers, never URLs
- Return 400 for unknown parameters (catch typos)
- Include request_id in every response
Read more
name: api-design description: REST API design best practices. Use when designing APIs, choosing status codes, or creating endpoints.
REST API Design
Endpoint Rules
- **Nouns, not verbs:** `/users` not `/getUsers` — HTTP method is the verb
- **Plural nouns:** `/users`, `/orders` — consistent collections
- **Kebab-case:** `/user-profiles` not `/user_profiles`
- **Max 2 levels nesting:** `/users/{id}/orders` — deeper use query params
- **No trailing slashes, no extensions**
HTTP Methods
| Method | Purpose | Idempotent | |--------|---------|------------| | GET | Retrieve | Yes | | POST | Create | No | | PUT | Replace entire resource | Yes | | PATCH | Partial update | No | | DELETE | Remove | Yes |
Status Codes
| Code | Use When | |------|----------| | 200 | Success with body | | 201 | Resource created (+ Location header) | | 204 | Success, no body (DELETE) | | 400 | Malformed request | | 401 | Not authenticated | | 403 | Authenticated but forbidden | | 404 | Not found | | 409 | Conflict (duplicate) | | 422 | Valid syntax, invalid semantics | | 429 | Rate limited |
Error Format
{"error": {"code": "VALIDATION_ERROR", "message": "...", "details": [], "request_id": "req_..."}}Key Rules
- Always paginate lists (cursor-based preferred, max page size enforced)
- Never expose sequential IDs — use UUIDs
- Auth credentials in headers, never URLs
- Return 400 for unknown parameters (catch typos)
- Include request_id in every response
An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)
Repo: Tibsfox/gsd-skill-creator
Other commands on gsd-skill-creator.
- /code-review
Reviews code for bugs, style, and best practices. Use when reviewing PRs or checking code quality.
Open command - /context-handoff
Creates context handoff documents for session continuity. Use when ending sessions, switching tasks, or handing off work.
Open command - /decision-framework
Thinking frameworks for decisions and problem analysis. Use when evaluating options, root causes, or prioritizing.
Open command - /env-setup
Environment configuration and secrets management. Use when setting up .env files, managing secrets, or configuring environments.
Open command - /file-operation-patterns
Safe file operation patterns. Use when performing bulk file operations or writing deployment scripts.
Open command - /gsd-dashboard-console
Checks dashboard console inbox at GSD lifecycle boundaries and handles milestone-submit, config-update, and question-response messages. Use when running GSD workflows with the dashboard active.
Open command

