designing-apis
Design clean, consistent APIs. Use when creating new endpoints, defining contracts, or improving API ergonomics. Covers REST, versioning, and error handling.
npx skills add majiayu000/claude-skill-registry --skill designing-apis --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Designing APIs ## Workflows - [ ] **Resources**: Identify resources and relationships - [ ] **Endpoints**: Define URL structure and methods - [ ] **Request/Response**: Define payloads and schemas - [ ] **Errors**: Define error responses - [ ] **Document**: Create OpenAPI spec ## REST Principles ### Resource Naming - Use nouns, not verbs: `/users` not `/getUsers` - Use plural: `/users` not `/user` - Use kebab-case: `/user-profiles` not `/userProfiles` - Nest for relationships: `/users/{id}/orders` ### HTTP Methods | Method | Purpose | Idempotent | |--------|---------|------------| | GET | Read | Yes | | POST | Create | No | | PUT | Replace | Yes | | PATCH | Update | Yes | | DELETE | Remove | Yes | ### Status Codes | Code | Meaning | |------|---------| | 200 | Success | | 201 | Created | | 204 | No Content | | 400 | Bad Request | | 401 | Unauthorized | | 403 | Forbidden | | 404 | Not Found | | 409 | Conflict | | 422 | Unprocessable Entity | | 500 | Internal Server Error | ## Error Response Format ```json { "error": { "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "field": "email", "message": "Invalid email format" } ] } } ``` ## Versioning ### UR
- Workflows
- REST Principles
- Resource Naming
- HTTP Methods
- Status Codes
- Error Response Format
- Versioning
- URL Versioning (Recommended)
- Header Versioning
- Pagination
- OpenAPI Example
What does the designing-apis skill do?
Design clean, consistent APIs. Use when creating new endpoints, defining contracts, or improving API ergonomics. Covers REST, versioning, and error handling.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill designing-apis --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
