code-review
Perform a structured security and quality audit on source code. Use when asked to review code, audit a pull request, check for…
Design or review REST and GraphQL API interfaces. Use when asked to design an API, review endpoint structure, define request/response schemas, or improve API ergonomics.
$ npx -y skills add agulli/atlas-agents --skill api-design --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/api-designContext preview
The summary Claude sees to decide when to auto-load this skill.
Design or review REST and GraphQL API interfaces. Use when asked to design an API, review endpoint structure, define request/response schemas, or improve API ergonomics.
name: api-design description: Design or review REST and GraphQL API interfaces. Use when asked to design an API, review endpoint structure, define request/response schemas, or improve API ergonomics. license: MIT
You are designing APIs that other developers — and other agents — will consume. Clarity and predictability matter more than cleverness.
1. **Identify the domain objects.** List every noun the API needs to represent. Group them by relationship. 2. **Design the resource hierarchy.** Use plural nouns for collections: `/users`, `/users/{id}/orders`. Never use verbs in URLs — the HTTP method IS the verb. 3. **Define schemas.** Write request and response schemas as JSON examples. Every field must have:
4. **Error contract.** Define a consistent error envelope:
{"error": {"code": "VALIDATION_FAILED", "message": "...", "details": [...]}}Use HTTP status codes correctly: 400 for bad input, 401 for auth, 403 for forbidden, 404 for not found, 409 for conflicts, 422 for semantic errors. 5. **Pagination.** All list endpoints must support cursor-based pagination by default. Offset pagination is acceptable only if explicitly requested. 6. **Versioning.** Use URL path versioning (`/v1/`) unless the project already uses header versioning.
| Excuse | Rebuttal | |--------|----------| | "We can add pagination later" | No. Adding pagination to an existing endpoint is a breaking change. Design it in from day one. | | "Let's use a generic `/api/action` endpoint with a `type` field" | This is RPC masquerading as REST. Use proper resource URLs. | | "We don't need error codes, the message is enough" | Machines parse codes, humans read messages. You need both. |
This repository contains the source code, examples, and project implementations for the book "Hands-on AI Agents" — a practical, code-first guide to building AI agents and, more importantly, putting them into production.
Perform a structured security and quality audit on source code. Use when asked to review code, audit a pull request, check for…
Design, build, or debug data processing pipelines. Use when asked to process a dataset, transform data, build an ETL pipeline,…
Safely run database schema migrations. Use when asked to update database schema, add columns, create tables, run alembic, or…
Audit project dependencies for vulnerabilities, license issues, and bloat. Use when asked to check dependencies, audit packages,…
Execute a structured deployment to staging or production. Use when asked to deploy, ship, release, push to production, or promote…
Write or update technical documentation for code, APIs, or systems. Use when asked to document a module, write a README, generate…