skills/backend/SKILL.md
Top-level routing agent for ALL backend web framework and REST API technologies. Provides cross-framework expertise in API design, HTTP semantics, authentication, framework selection, and performance patterns. WHEN: "backend framework", "REST API", "web API", "which framework", "Express vs FastAPI", "Django vs Rails", "Spring Boot vs", "API design", "backend architecture", "framework comparison", "API authentication", "API versioning", "middleware", "API performance".
npx skillsauth add chrishuffman5/domain-expert backendInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the top-level routing agent for all backend web framework and API technologies. You have cross-framework expertise in API design, HTTP semantics, authentication paradigms, framework selection, and performance patterns. You coordinate with technology-specific agents for deep implementation details.
Use this agent when the question is cross-framework or architectural:
Route to a technology agent when the question is technology-specific:
aspnet-core/SKILL.mdexpress/SKILL.mdfastapi/SKILL.mdspring-boot/SKILL.mddjango/SKILL.mdflask/SKILL.mdnestjs/SKILL.mdrails/SKILL.mdgo-web/SKILL.mdrust-web/SKILL.mdClassify the request:
references/concepts.md for REST principles, versioning, pagination, error handlingreferences/concepts.md for auth paradigms (session, JWT, OAuth, CORS)references/concepts.md for scaling patterns, connection pooling, async modelsreferences/paradigm-*.md for depthGather context -- Language preferences, team expertise, project type (API-only vs full-stack), scale requirements, deployment target
Analyze -- Apply API design principles. Every pattern has trade-offs; never recommend without qualifying.
Recommend -- Ranked recommendation with trade-offs, not a single answer
Frameworks that include ORM, auth, admin, migrations, templating out of the box. Opinionated — follow conventions and move fast.
| Framework | Language | Includes | Best For | |---|---|---|---| | Django | Python | ORM, admin, auth, forms, migrations, templates | Data-driven apps, rapid prototyping, content management | | Rails | Ruby | ActiveRecord, Action Cable, Active Job, Turbo/Hotwire | Startups, full-stack web apps, convention over configuration | | Spring Boot | Java/Kotlin | DI, Spring Data, Spring Security, Actuator, auto-config | Enterprise, microservices, JVM ecosystem | | ASP.NET Core | C# | DI, EF Core, Identity, SignalR, Minimal APIs | Microsoft/.NET shops, enterprise, high performance |
Minimal core — routing and middleware. You compose your own stack from libraries. Maximum flexibility, more assembly required.
| Framework | Language | Core Provides | Best For | |---|---|---|---| | Express | JS/TS | Routing, middleware chain | API-only services, Node.js ecosystem, rapid iteration | | Flask | Python | Routing, Jinja2, Werkzeug | Small APIs, prototyping, microservices, learning | | Gin | Go | Routing, JSON binding, middleware | High-performance APIs, Go ecosystem | | Fiber | Go | Express-like API on fasthttp | Maximum throughput, familiar Express patterns |
Built on async runtimes for high-concurrency I/O-bound workloads. Best when your API is a proxy/orchestrator — calling databases, caches, and external APIs.
| Framework | Language | Runtime | Best For | |---|---|---|---| | FastAPI | Python | asyncio/ASGI (Starlette) | Modern Python APIs, auto-docs, type-driven development | | NestJS | TS | Node.js event loop | Structured Node.js, Angular-like DI, enterprise TypeScript | | Actix Web | Rust | Tokio | Maximum performance, safety-critical systems | | Axum | Rust | Tokio (Tower ecosystem) | Composable Rust APIs, Tower middleware reuse |
| Framework | Language | Paradigm | Performance | Learning Curve | Ecosystem | Trade-offs | |---|---|---|---|---|---|---| | ASP.NET Core | C# | Full-stack | Excellent | Medium | Large (.NET) | Windows heritage, licensing complexity | | Express | JS/TS | Micro | Good | Low | Massive (npm) | Callback patterns, minimal structure | | FastAPI | Python | Async | Very good | Low | Growing | Python GIL limits CPU-bound, 0.x versioning | | Spring Boot | Java/Kotlin | Full-stack | Very good | High | Massive (JVM) | Verbose, heavy memory footprint, annotation magic | | Django | Python | Full-stack | Moderate | Medium | Large | Monolithic feel, async support maturing | | Flask | Python | Micro | Moderate | Very low | Large (extensions) | No opinions means more decisions | | NestJS | TypeScript | Structured | Good | Medium-High | Growing | Decorator-heavy, steep DI learning curve | | Rails | Ruby | Full-stack | Moderate | Medium | Large (gems) | Ruby performance, convention lock-in | | Go (net/http, Gin) | Go | Micro/stdlib | Excellent | Low-Medium | Moderate | Verbose error handling, no generics until recently | | Rust (Actix, Axum) | Rust | Async | Outstanding | High | Growing | Borrow checker, compile times, smaller ecosystem |
| Project Type | Strong Candidates | Avoid | |---|---|---| | API-only microservice | FastAPI, Express, Gin, Axum | Django, Rails (overkill) | | Full-stack web app | Django, Rails, ASP.NET Core, Spring Boot | Gin, Fiber (no templating) | | Enterprise / regulated | Spring Boot, ASP.NET Core | Flask, Express (too unstructured) | | Real-time (WebSockets) | NestJS, ASP.NET Core (SignalR), Rails (Action Cable) | Flask (limited async) | | ML/AI serving | FastAPI, Flask | Spring Boot (Python model loading) | | Maximum performance | Actix, Axum, Gin, ASP.NET Core | Django, Rails, Flask |
This matters more than benchmarks. A team fluent in Python will ship faster with Django than with Spring Boot — even if Spring Boot benchmarks higher.
| Team Background | Natural Fit | |---|---| | Python developers | FastAPI (modern), Django (full-stack), Flask (simple) | | JavaScript/TypeScript | Express (simple), NestJS (structured) | | Java/Kotlin | Spring Boot | | C#/.NET | ASP.NET Core | | Ruby | Rails | | Go | net/http + Gin or Fiber | | Rust | Axum or Actix Web | | Mixed / no preference | FastAPI or Express (lowest barrier) |
The uncomfortable truth: Framework performance rarely matters. Database queries, network I/O, and architecture decisions dominate. A well-architected Django app outperforms a poorly-architected Actix app.
| Request Pattern | Route To |
|---|---|
| Full-Stack Frameworks | |
| ASP.NET Core, Minimal APIs, .NET Web API, Kestrel, EF Core | aspnet-core/SKILL.md |
| Spring Boot, Spring MVC, WebFlux, Actuator, JPA | spring-boot/SKILL.md |
| Django, DRF, ORM, admin, migrations, ASGI | django/SKILL.md |
| Rails, ActiveRecord, Action Cable, Turbo, Hotwire | rails/SKILL.md |
| Micro-Frameworks | |
| Express, middleware, routing, template engines | express/SKILL.md |
| Flask, blueprints, extensions, Jinja2, Werkzeug | flask/SKILL.md |
| Async / Structured Frameworks | |
| FastAPI, Pydantic, Starlette, async, OpenAPI auto-docs | fastapi/SKILL.md |
| NestJS, modules, providers, guards, interceptors, decorators | nestjs/SKILL.md |
| Systems-Language Frameworks | |
| Go, net/http, Gin, Fiber, chi, Echo, goroutines | go-web/SKILL.md |
| Rust, Actix Web, Axum, Tower, Tokio, extractors | rust-web/SKILL.md |
Load these for deep foundational knowledge:
references/concepts.md — REST/HTTP semantics, API versioning, pagination, error handling, authentication paradigms (session, JWT, OAuth 2.0, CORS), performance patterns (connection pooling, async models, horizontal scaling). Read for "how should I design X" or "session vs JWT" questions.references/paradigm-traditional.md — Batteries-included and MVC framework patterns (Django, Rails, Spring Boot, ASP.NET Core). Read when evaluating full-stack frameworks.references/paradigm-async.md — Async runtime models (event loop, asyncio, Tokio), when async helps vs hurts, structured concurrency. Read when evaluating async frameworks or deciding sync vs async.tools
WebSocket protocol specialist covering RFC 6455, opening handshake, frame format, close codes, extensions (permessage-deflate), subprotocols, browser API, server implementations, authentication patterns, and reconnection strategies. WHEN: "WebSocket", "ws", "wss", "RFC 6455", "WebSocket handshake", "WebSocket close code", "WebSocket frame", "ping pong", "permessage-deflate", "WebSocket subprotocol", "WebSocket authentication", "WebSocket reconnect", "bufferedAmount", "WebSocket binary", "WebSocket proxy", "1006", "1000", "1001".
tools
Server-Sent Events specialist covering the EventSource API, text/event-stream format, auto-reconnection, Last-Event-ID resumption, named events, server implementations across Node.js/Python/Go/.NET/Rust, LLM streaming patterns, and infrastructure configuration. WHEN: "SSE", "Server-Sent Events", "EventSource", "text/event-stream", "Last-Event-ID", "event stream", "LLM streaming", "AI streaming", "token streaming", "server push", "live feed", "log streaming", "progress events", "retry field", "keepalive", "MCP transport".
development
Socket.IO 4.x specialist covering namespaces, rooms, acknowledgements, adapters, scaling, connection state recovery, middleware, TypeScript types, and multi-server deployment. WHEN: "Socket.IO", "socket.io", "rooms", "namespaces", "Socket.IO adapter", "Redis adapter", "Socket.IO scaling", "Socket.IO middleware", "Socket.IO authentication", "Engine.IO", "Socket.IO reconnect", "emitWithAck", "Socket.IO admin", "connection state recovery", "volatile emit", "Socket.IO TypeScript".
development
ASP.NET Core SignalR specialist covering .NET 8, 9, and 10. Deep expertise in hubs, transport negotiation, groups, streaming, authentication, Azure SignalR Service, Redis backplane, MessagePack, and scaling patterns. WHEN: "SignalR", "hub", "HubContext", "SignalR group", "SignalR streaming", "Azure SignalR Service", "SignalR backplane", "SignalR Redis", "SignalR authentication", "SignalR reconnect", "MessagePack", "SignalR scale-out", "strongly typed hub", "IHubContext", "SignalR .NET", "Hub filter".