From devflow
Use when designing, modifying, or reviewing APIs — REST, GraphQL, RPC, or internal interfaces. Covers contracts, versioning, error handling, and documentation.
npx claudepluginhub nexuz-sys/devflow --plugin devflowThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Structured approach to designing APIs that are consistent, well-documented, and easy to consume.
Announce at start: "I'm using the devflow:api-design skill to design this API."
/users), singular for actionsdata, error, meta fieldsEndpoint: METHOD /resource
Request: { required fields, optional fields with defaults }
Response: { data: T, meta?: { pagination } }
Error: { error: { code: string, message: string, details?: any } }
200 — Success (GET, PUT, PATCH)201 — Created (POST)204 — No Content (DELETE)400 — Bad Request (validation error)401 — Unauthorized (missing/invalid auth)403 — Forbidden (valid auth, insufficient permissions)404 — Not Found409 — Conflict (duplicate, version mismatch)422 — Unprocessable Entity (valid syntax, invalid semantics)500 — Internal Server Error/v2/users) for breaking changesAccept: application/vnd.api+json;version=2) for content negotiationskill({ action: "getContent", skill: "api-design" })
Loads project-specific API standards from dotcontext.
Read .context/skills/api-design/SKILL.md if it exists for project-specific conventions.
Apply the principles above directly.
| Pattern | Problem |
|---|---|
Verbs in URLs (/getUser) | Use nouns + HTTP methods instead (GET /users/:id) |
| Inconsistent error shapes | Every error should follow the same structure |
| No pagination on lists | Unbounded queries kill performance |
| Exposing internal IDs | Use UUIDs or slugs for external APIs |
| Breaking changes without versioning | Breaks all existing consumers |