api-architect
dhriyatinandu-bot/claude-skills/.claude/skills/api-architect/SKILL.md
Expert API designer for REST, GraphQL, gRPC architectures. Activate on: API design, REST API, GraphQL schema, gRPC service, OpenAPI, Swagger, API versioning, endpoint design, rate limiting,
Skill0 starsChanged 7 months ago
What's in it
- API Architect
- Activation Triggers
- Quick Start
- Core Capabilities
- Architecture Patterns
- API-First Development
- Response Envelope
- Versioning Options
- Reference Files
- Anti-Patterns (AVOID These)
- 1. Verb-Based URLs
- 2. Inconsistent Response Envelopes
- 3. Breaking Changes Without Versioning
- 4. N+1 in GraphQL
- 5. Over-fetching REST Endpoints
- 6. Missing Pagination
- 7. No Idempotency Keys
- 8. Leaky Internal Errors
- 9. Missing CORS Configuration
- 10. No Rate Limiting
- Validation Script
- Quality Checklist
- Output Artifacts
- Tools Available
Tools it asks for
- Read
- Write
- Edit
- Bash(npm:*,npx:*,openapi-generator:*)
---
name: api-architect
description: 'Expert API designer for REST, GraphQL, gRPC architectures. Activate on: API design, REST API, GraphQL schema, gRPC service, OpenAPI, Swagger, API versioning, endpoint design, rate limiting,
OAuth flow. NOT for: database schema (use data-pipeline-engineer), frontend consumption (use web-design-expert), deployment (use devops-automator).'
allowed-tools: Read,Write,Edit,Bash(npm:*,npx:*,openapi-generator:*)
metadata:
category: Code Quality & Testing
pairs-with:
- skill: data-pipeline-engineer
reason: Data layer design under APIs
- skill: devops-automator
reason: Deployment and infrastructure for APIs
tags:
- api
- rest
- graphql
- grpc
- architecture
---
# API Architect
Expert API designer specializing in REST, GraphQL, gRPC, and WebSocket architectures.
## Activation Triggers
**Activate on:** "API design", "REST API", "GraphQL schema", "gRPC service", "OpenAPI", "Swagger", "API versioning", "endpoint design", "rate limiting", "OAuth flow", "API gateway"
**NOT for:** Database schema → `data-pipeline-engineer` | Frontend consumption → `web-design-expert` | Deployment → `devops-automator`
## Quick Start
1. **Define API contract first** (API-first design)
2. **Choose paradigm**: REST for CRUD, GraphQL for flexible queries, gRPC for internal services
3. **Write the spec**: OpenAPI for REST, SDL for GraphQL, .proto for gRPC
4. **Design error responses** with consistent structure
5. **Plan versioning** before your first release
## Core Capabilities
| Domain | Technologies |
|--------|-------------|
| **REST** | OpenAPI 3.1, HATEOAS, Pagination |
| **GraphQL** | SDL, Relay, DataLoader, Federation |
| **gRPC** | Protocol Buffers, Streaming patterns |
| **Security** | OAuth 2.0, JWT, API Keys, RBAC |
| **DX** | Swagger UI, SDK generation, Sandboxes |
## Architecture Patterns
### API-First Development
```
Design Contract → Generate Stubs → Implement → Test Against Spec
```
### Response Envelope
```yaml
success: { data: <resource>, meta: { page, total } }
error: { error: { code, message, details: [{ field, issue }] } }
```
### Versioning Options
- URL: `/v1/users` (most explicit)
- Header: `Accept: application/vnd.api+json;version=1`
- Query: `/users?version=1`
## Reference Files
Full working examples in `./references/`:
| File | Description | Lines |
|------|-------------|-------|
| `openapi-spec.yaml` | Complete OpenAPI 3.1 spec | 162 |
| `graphql-schema.graphql` | GraphQL with Relay connections | 111 |
| `grpc-service.proto` | Protocol Buffer, all streaming | 95 |
| `rate-limiting.yaml` | Tier-based rate limit config | 85 |
| `api-security.yaml` | Auth, CORS, security headers | 130 |
## Anti-Patterns (AVOID These)
### 1. Verb-Based URLs
**Symptom**: `/getUsers`, `/createOrder`, `/deleteProduct`
**Fix**: Use nouns (`/users`, `/orders`), let HTTP methods convey action
### 2. Inconsistent Response Envelopes
**Symptom**: `{data: [...]}` sometimes, raw arrays other times
**Fix**: Always use consistent envelope structure
### 3. Breaking Changes Without Versioning
**Symptom**: Removing fields, changing types without warning
**Fix**: Semantic versioning, deprecation headers, sunset periods
### 4. N+1 in GraphQL
**Symptom**: Resolver queries database per item in list
**Fix**: DataLoader pattern for batching, `@defer` for large payloads
### 5. Over-fetching REST Endpoints
**Symptom**: `/users` returns 50 fields when clients need 3
**Fix**: Sparse fieldsets (`?fields=id,name,email`) or GraphQL
### 6. Missing Pagination
**Symptom**: List endpoints return all records
**Fix**: Default limits, cursor-based pagination, `hasMore` indicator
### 7. No Idempotency Keys
**Symptom**: Duplicate POST requests create duplicate resources
**Fix**: Accept `Idempotency-Key` header, return cached response
### 8. Leaky Internal Errors
**Symptom**: Stack traces, SQL errors exposed in 500 responses
**Fix**: Generic error messages in production, request IDs for debugging
### 9. Missing CORS Configuration
**Symptom**: Browser clients blocked with CORS errors
**Fix**: Configure allowed origins, methods, headers explicitly
### 10. No Rate Limiting
**Symptom**: API vulnerable to abuse, no usage visibility
**Fix**: Implement limits per tier, return `X-RateLimit-*` headers
## Validation Script
Run `./scripts/validate-api-spec.sh` to check:
- OpenAPI specs for versions, security schemes, operationIds
- GraphQL schemas for Query types, pagination, error handling
- Protocol Buffers for syntax, packages, field numbers
- Common issues like hardcoded URLs, missing versioning
## Quality Checklist
```
[ ] All endpoints use nouns, not verbs
[ ] Consistent response envelope structure
[ ] Error responses include codes and actionable messages
[ ] Pagination on all list endpoints
[ ] Authentication/authorization documented
[ ] Rate limit headers defined
[ ] Versioning strategy documented
[ ] CORS configured for known origins
[ ] Idempotency keys for mutating operations
[ ] OpenAPI spec validates without errors
[ ] SDK generation tested
[ ] Examples for all request/response types
```
## Output Artifacts
1. **OpenAPI Specifications** - Complete API contracts
2. **GraphQL Schemas** - Type definitions with connections
3. **Protocol Buffers** - gRPC service definitions
4. **API Documentation** - Developer guides
5. **SDK Examples** - Client code samples
6. **Postman Collections** - API test suites
## Tools Available
- `Read`, `Write`, `Edit` - File operations for specs
- `Bash(npm:*, npx:*)` - OpenAPI linting, code generation
- `Bash(openapi-generator:*)` - SDK generation
More agent context in dhriyatinandu-bot/claude-skills
185 other files this repository gives its agents, the first 60 shown.
CLAUDE.md
Skill
- 2000s-visualization-expert.claude/skills/2000s-visualization-expert/SKILL.md
- 2026-legal-research-agent.claude/skills/2026-legal-research-agent/SKILL.md
- adhd-daily-planner.claude/skills/adhd-daily-planner/SKILL.md
- adhd-design-expert.claude/skills/adhd-design-expert/SKILL.md
- admin-dashboard.claude/skills/admin-dashboard/SKILL.md
- agent-creator.claude/skills/agent-creator/SKILL.md
- ai-engineer.claude/skills/ai-engineer/SKILL.md
- ai-video-production-master.claude/skills/ai-video-production-master/SKILL.md
- anthropic-technical-deep-dive.claude/skills/anthropic-technical-deep-dive/SKILL.md
- automatic-stateful-prompt-improver.claude/skills/automatic-stateful-prompt-improver/SKILL.md
- background-job-orchestrator.claude/skills/background-job-orchestrator/SKILL.md
- bot-developer.claude/skills/bot-developer/SKILL.md
- caching-strategies.claude/skills/caching-strategies/SKILL.md
- career-biographer.claude/skills/career-biographer/SKILL.md
- chatbot-analytics.claude/skills/chatbot-analytics/SKILL.md
- checklist-discipline.claude/skills/checklist-discipline/SKILL.md
- claude-ecosystem-promoter.claude/skills/claude-ecosystem-promoter/SKILL.md
- clinical-diagnostic-reasoning.claude/skills/clinical-diagnostic-reasoning/SKILL.md
- clip-aware-embeddings.claude/skills/clip-aware-embeddings/SKILL.md
- cloudflare-worker-dev.claude/skills/cloudflare-worker-dev/SKILL.md
- code-architecture.claude/skills/code-architecture/SKILL.md
- code-necromancer.claude/skills/code-necromancer/SKILL.md
- code-review-checklist.claude/skills/code-review-checklist/SKILL.md
- collage-layout-expert.claude/skills/collage-layout-expert/SKILL.md
- color-contrast-auditor.claude/skills/color-contrast-auditor/SKILL.md
- color-theory-palette-harmony-expert.claude/skills/color-theory-palette-harmony-expert/SKILL.md
- competitive-cartographer.claude/skills/competitive-cartographer/SKILL.md
- component-template-generator.claude/skills/component-template-generator/SKILL.md
- computer-vision-pipeline.claude/skills/computer-vision-pipeline/SKILL.md
- cost-accrual-tracker.claude/skills/cost-accrual-tracker/SKILL.md
- cost-optimizer.claude/skills/cost-optimizer/SKILL.md
- cost-verification-auditor.claude/skills/cost-verification-auditor/SKILL.md
- crisis-detection-intervention-ai.claude/skills/crisis-detection-intervention-ai/SKILL.md
- crisis-response-protocol.claude/skills/crisis-response-protocol/SKILL.md
- cv-creator.claude/skills/cv-creator/SKILL.md
- dark-mode-design-expert.claude/skills/dark-mode-design-expert/SKILL.md
- database-design-patterns.claude/skills/database-design-patterns/SKILL.md
- data-pipeline-engineer.claude/skills/data-pipeline-engineer/SKILL.md
- data-viz-2025.claude/skills/data-viz-2025/SKILL.md
- dependency-management.claude/skills/dependency-management/SKILL.md
- design-accessibility-auditor.claude/skills/design-accessibility-auditor/SKILL.md
- design-archivist.claude/skills/design-archivist/SKILL.md
- design-critic.claude/skills/design-critic/SKILL.md
- design-justice.claude/skills/design-justice/SKILL.md
- design-system-creator.claude/skills/design-system-creator/SKILL.md
- design-system-documenter.claude/skills/design-system-documenter/SKILL.md
- design-system-generator.claude/skills/design-system-generator/SKILL.md
- design-trend-analyzer.claude/skills/design-trend-analyzer/SKILL.md
- devops-automator.claude/skills/devops-automator/SKILL.md
- diagramming-expert.claude/skills/diagramming-expert/SKILL.md
- digital-estate-planner.claude/skills/digital-estate-planner/SKILL.md
- docker-containerization.claude/skills/docker-containerization/SKILL.md
- document-generation-pdf.claude/skills/document-generation-pdf/SKILL.md
- drizzle-migrations.claude/skills/drizzle-migrations/SKILL.md
- drone-cv-expert.claude/skills/drone-cv-expert/SKILL.md
- drone-inspection-specialist.claude/skills/drone-inspection-specialist/SKILL.md
- email-composer.claude/skills/email-composer/SKILL.md
- error-handling-patterns.claude/skills/error-handling-patterns/SKILL.md
- event-detection-temporal-intelligence-expert.claude/skills/event-detection-temporal-intelligence-expert/SKILL.md
Also found in one other repository
The same file, byte for byte, in the weekly crawl of public GitHub.
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

