Help us improve
Share bugs, ideas, or general feedback.
From system-design
Design API gateways that route, authenticate, rate-limit, and aggregate backend services. Use when building client-facing APIs or managing service boundaries.
npx claudepluginhub sethdford/claude-skills --plugin architect-system-designHow this skill is triggered — by the user, by Claude, or both
Slash command
/system-design:api-gateway-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Design robust API gateways that handle authentication, rate limiting, routing, and response aggregation for backend services.
Builds API gateways with routing, load balancing, rate limiting, authentication, circuit breakers, and health checks for multiple backend microservices.
Configures API gateways like Kong, Nginx, AWS API Gateway, and Traefik for routing, authentication, rate limiting, and request transformation in microservices.
Implements Express.js API gateways or BFFs to route, aggregate, secure requests with auth, rate limiting, and proxying to microservices.
Share bugs, ideas, or general feedback.
Design robust API gateways that handle authentication, rate limiting, routing, and response aggregation for backend services.
You are designing an API layer. The user is building client-facing APIs, managing multiple backends, or handling cross-cutting concerns like auth and rate limiting. Read their current API structure.
Based on Sam Newman's API Gateway pattern and Kong/AWS API Gateway reference implementations:
Define Gateway Responsibilities: What should the gateway do?
Design Routing Rules: Map API paths to backend services. Example:
/api/users/* → user-service
/api/orders/* → order-service
/api/inventory/* → inventory-service
Implement Authentication: Centralize JWT validation or OAuth2 token exchange. Avoid pushing auth to every backend. Include refresh token handling.
Configure Rate Limiting: Per-user limits (1000 req/min) and per-API limits (10k req/min total). Include exponential backoff and retry-after headers.
Handle Response Aggregation: For queries needing data from multiple services, aggregate at gateway. Example: order detail page fetches from order-service + inventory-service + pricing-service.