← ClaudeAtlas

implementing-api-patternslisted

API design and implementation across REST, GraphQL, gRPC, and tRPC patterns. Use when building backend services, public APIs, or service-to-service communication. Covers REST frameworks (FastAPI, Axum, Gin, Hono), GraphQL libraries (Strawberry, async-graphql, gqlgen, Pothos), gRPC (Tonic, Connect-Go), tRPC for TypeScript, pagination strategies (cursor-based, offset-based), rate limiting, caching, versioning, and OpenAPI documentation generation. Includes frontend integration patterns for forms, tables, dashboards, and ai-chat skills.
ancoleman/ai-design-components · ★ 368 · API & Backend · score 80
Install: claude install-skill ancoleman/ai-design-components
# API Patterns Skill ## Purpose Design and implement APIs using the optimal pattern and framework for the use case. Choose between REST, GraphQL, gRPC, and tRPC based on API consumers, performance requirements, and type safety needs. ## When to Use This Skill Use when: - Building backend APIs for web, mobile, or service consumers - Connecting frontend components (forms, tables, dashboards) to databases - Implementing pagination, rate limiting, or caching strategies - Generating OpenAPI documentation automatically - Choosing between REST, GraphQL, gRPC, or tRPC patterns - Integrating authentication and authorization - Optimizing API performance and scalability ## Quick Decision Framework ``` WHO CONSUMES YOUR API? ├─ PUBLIC/THIRD-PARTY DEVELOPERS → REST with OpenAPI │ ├─ Python → FastAPI (auto-docs, 40k req/s) │ ├─ TypeScript → Hono (edge-first, 50k req/s, 14KB) │ ├─ Rust → Axum (140k req/s, <1ms latency) │ └─ Go → Gin (100k+ req/s, mature ecosystem) │ ├─ FRONTEND TEAM (same org) │ ├─ TypeScript full-stack? → tRPC (E2E type safety) │ └─ Complex data needs? → GraphQL │ ├─ Python → Strawberry │ ├─ Rust → async-graphql │ ├─ Go → gqlgen │ └─ TypeScript → Pothos │ ├─ SERVICE-TO-SERVICE (microservices) │ └─ High performance → gRPC │ ├─ Rust → Tonic │ ├─ Go → Connect-Go (browser-friendly) │ └─ Python → grpcio │ └─ MOBILE APPS ├─ Bandwidth constrained → GraphQL (request only needed fields) └─ Simple CRUD → REST (standard, well-unde