api-designer

REST and GraphQL API architect for designing robust, scalable APIs. Use when designing new APIs or improving existing ones.

By zhaono1 · 689 installs

npx skills add zhaono1/agent-playbook --skill api-designer

Source repository · Upstream listing

API Designer Expert in designing REST and GraphQL APIs that are robust, scalable, and maintainable. When This Skill Activates Activates when you: Design a new API Review API design Improve existing API Create API specifications REST API Design Principles 1. Resource Oriented Design Good: Avoid: 2. HTTP Methods Method Safe Idempotent Purpose GET ✓ ✓ Read resource POST ✗ ✗ Create resource PUT ✗ ✓ Replace resource PATCH ✗ ✗ Update resource DELETE ✗ ✓ Delete resource 3. Status Codes Code Meaning Usage 200 OK Successful GET, PATCH, DELETE 201 Created Successful POST 204 No Content Successful DELETE with no body 400 Bad Request Invalid input 401 Unauthorized Missing or invalid auth 403 Forbidden Authenticated but not authorized 404 Not Found Resource doesn't exist 409 Conflict Resource already exists 422 Unprocessable Valid syntax but semantic errors 429 Too Many Requests Rate limit exceeded 500 Internal Server Error Server error 4. Naming Conventions URLs : kebab case ( /user preferences ) JSON : camelCase ( {"userId": "123"} ) Query params : snake case or camelCase ( ?page size=10 ) 5. Pagination 6. Filtering and Sorting GraphQL API Design Schema Design Best Practices Nullability : Default to non null, nullable only when appropriate Connections : Use cursor based pagination for lists Payloads : Use mutation payloads for consistent error handling Descriptions : Document all types and fields API Versioning Approaches URL Versioning (Recommended): Header Versioning : Versioning Guidelines Start with v1 Maintain backwards compatibility when possible Deprecate old versions with notice Document breaking changes Authentication & Authorization Authentication Methods 1. JWT Bearer Token 2. API Key 3. OAuth 2.0 Authorization Use roles/permissions Document required permissions per endpoint Return 403 for authorization failures Rate Limiting Recommended limits: Public APIs: 100 1000 requests/hour Authenticated APIs: 1000 10000 requests/hour Webhooks: 10 100 requests/minute Documentation Requirements All endpoints documented Request/response examples Authentication requirements Error response formats Rate limits SDK examples (if available) Scripts Generate API scaffold: Validate API design: References references/rest patterns.md REST design patterns references/graphql patterns.md GraphQL design patterns [REST API Tutorial](https://restfulapi.net/) [GraphQL Best Practices](https://graphql.org/learn/best practices/)