plugins/backend/skills/overview/SKILL.md
Top-level routing skill for ALL backend web framework and REST API technologies. Provides cross-framework expertise in API design, HTTP semantics, authentication, framework selection, and performance patterns. Use for framework selection, API design principles, and cross-framework comparisons. 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". Do NOT use for framework-specific implementation questions — use the matching technology skill (aspnet-core, django, express, fastapi, flask, go-web, nestjs, rails, rust-web, spring-boot).
npx skillsauth add chrishuffman5/domain-expert overviewInstall 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.
This skill is the top-level entry point for all backend web framework and API technologies. It covers cross-framework expertise in API design, HTTP semantics, authentication paradigms, framework selection, and performance patterns, and points to technology-specific skills for deep implementation details.
Use this skill when the question is cross-framework or architectural:
Route to the matching technology skill when the question is technology-specific:
aspnet-core skillexpress skillfastapi skillspring-boot skilldjango skillflask skillnestjs skillrails skillgo-web skillrust-web skillClassify 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 | the aspnet-core skill |
| Spring Boot, Spring MVC, WebFlux, Actuator, JPA | the spring-boot skill |
| Django, DRF, ORM, admin, migrations, ASGI | the django skill |
| Rails, ActiveRecord, Action Cable, Turbo, Hotwire | the rails skill |
| Micro-Frameworks | |
| Express, middleware, routing, template engines | the express skill |
| Flask, blueprints, extensions, Jinja2, Werkzeug | the flask skill |
| Async / Structured Frameworks | |
| FastAPI, Pydantic, Starlette, async, OpenAPI auto-docs | the fastapi skill |
| NestJS, modules, providers, guards, interceptors, decorators | the nestjs skill |
| Systems-Language Frameworks | |
| Go, net/http, Gin, Fiber, chi, Echo, goroutines | the go-web skill |
| Rust, Actix Web, Axum, Tower, Tokio, extractors | the rust-web skill |
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
kubectl command-line usage and scripting: kubeconfig and context management, output formats (jsonpath, custom-columns, go-template), all major verbs (get, describe, apply, delete, exec, logs, port-forward, rollout, scale, drain), workload resources, config/storage, networking, RBAC, node management, debugging (CrashLoopBackOff, ImagePullBackOff, OOMKilled), and scripting patterns (dry-run, diff, wait, jq, kustomize). WHEN: "kubectl", "k8s CLI", "kubeconfig", "namespace", "pod", "deployment", "service", "ingress", "configmap", "secret", "rollout", "scale", "drain", "taint", "kustomize". Do NOT use for cluster architecture, sizing, upgrades, or workload design decisions — that's the `kubernetes` skill in the `containers` plugin. This skill is command syntax and scripting kubectl against an existing cluster, not cluster ops.
tools
Bash 5.x shell scripting, Unix text processing, and command-line automation: variables, parameter expansion, quoting, control flow, functions, I/O redirection, error handling (set -euo pipefail, trap), and the Unix tool ecosystem (grep, sed, awk, jq, find, sort, uniq, cut, xargs). Covers process management, networking (curl, ssh, rsync, nc), file locking (flock), parallel execution, and production script patterns. WHEN: "Bash", "bash", "shell", "sh", ".sh", "shell script", "sed", "awk", "grep", "jq", "find", "xargs", "curl", "ssh", "rsync", "cron", "pipe", "redirect", "here-doc", "shebang", "POSIX", "set -euo pipefail", "trap".
tools
Azure CLI (az) command syntax and scripting: authentication (interactive, service principal, managed identity, SSO), output formats and JMESPath queries, resource groups, VMs, storage accounts/blobs, networking (VNets, NSGs, load balancers, DNS), Entra ID, AKS, App Service, Functions, databases (SQL, Cosmos DB, MySQL, PostgreSQL), Key Vault, Monitor/alerting, and infrastructure scripting patterns. WHEN: "az ", "Azure CLI", "az login", "az vm", "az aks", "az storage", "az keyvault", "az monitor", "az ad", "az group", "az network", "az webapp", "az functionapp", "az sql", "az cosmosdb", "JMESPath", "az account". Do NOT use for Azure architecture, landing zones, or multi-subscription strategy — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.
tools
AWS CLI v2 command syntax and scripting: authentication (profiles, SSO, assume-role, instance profiles), output formats and JMESPath queries, pagination and waiters, IAM, S3, Lambda, RDS, CloudFormation, ECS, EKS, CloudWatch, SSM, Route 53, STS, and VPC networking. WHEN: "aws ", "AWS CLI", "aws ec2", "aws s3", "aws lambda", "aws iam", "aws cloudformation", "aws ssm", "aws ecs", "aws eks", "aws rds", "aws cloudwatch", "aws route53", "aws sts". Do NOT use for AWS architecture, service selection, multi-account strategy, or FinOps — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.