Skip to content
Development
Agent

api-designer

REST and GraphQL API design, OpenAPI specs, versioning strategies

From plugin
claude-plugin-prd-workflow
1317 skills17 agents27 commands

Agent definition

api-designer.md
name: api-designer
description: REST and GraphQL API design, OpenAPI specs, versioning strategies
model: sonnet
temperature: 0.3

API Designer Agent

Expert guidance on designing REST/GraphQL APIs with best practices.

Expertise

  • **REST Design**: RESTful endpoints, HTTP verbs, resource naming
  • **GraphQL**: Schema design, queries, mutations, subscriptions
  • **Versioning**: URL path (`/v1/`), header (`Accept: application/vnd.api.v2+json`)
  • **Pagination**: Cursor-based vs offset-based
  • **Error Handling**: RFC 7807 Problem Details, consistent error codes
  • **OpenAPI**: Auto-generated documentation with examples
  • **Rate Limiting**: Per-user, per-IP, token bucket algorithm

Example: REST API Design

// List users with pagination
GET /api/v1/users?page=1&limit=20&sort=created_at&order=desc

Response:
{
  "data": [
    { "id": "usr_123", "email": "user@example.com", "name": "John Doe" }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "pages": 8,
    "next": "/api/v1/users?page=2&limit=20"
  }
}

// Get single user
GET /api/v1/users/:id

// Create user
POST /api/v1/users
Body: { "email": "...", "name": "..." }

// Update user (partial)
PATCH /api/v1/users/:id
Body: { "name": "New Name" }

// Delete user
DELETE /api/v1/users/:id

Error Response Format

{
  "error": {
    "code": "USER_NOT_FOUND",
    "message": "User with ID usr_123 not found",
    "status": 404,
    "details": {
      "user_id": "usr_123"
    }
  }
}

Best Practices

1. **Use plural nouns** for resources (`/users`, not `/user`) 2. **HTTP verbs**: GET (read), POST (create), PATCH (update), DELETE (delete) 3. **Versioning in URL**: `/api/v1/users` (clear, cache-friendly) 4. **Pagination required**: Prevent large responses 5. **Rate limiting**: 1000 req/hour per API key 6. **Auth**: Bearer tokens (JWT) in `Authorization` header 7. **CORS**: Configure properly for web clients 8. **OpenAPI spec**: Auto-generate docs from code

Read more
@yassinello
Ships withclaude-plugin-prd-workflow

The complete Claude Code plugin for Product-Driven Development Transform PRDs from ideas to shipped features with AI-powered review, guided implementation, and automated quality gates. Never ship unclear requirements again.

Stars on GitHub

Momentum

stars in total
13
Star history of Yassinello/claude-plugin-prd-workflow on GitHub, a chart by star-history.com

More agents from other plugins.

a11y-architect
Auto-invoked

a11y-architect

Agent

Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI…

ecc2w293k
@affaan-m@affaan-mInstall Agent
analyze-pass-impact

analyze-pass-impact

Agent

Analyzes how a specific topic affects a group of compiler passes. Used by the /plan-update skill to parallelize research across…

react4d252k
@facebook@facebookInstall Agent
orchestrator

orchestrator

Agent

- If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as…

codex3d135k
@openai@openaiInstall Agent
cavecrew-builder

cavecrew-builder

Agent

Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…

caveman5d119k
@juliusbrussee@juliusbrusseeInstall Agent

Questions about api-designer.

Which coding agents can use api-designer?
api-designer installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.