plugins/axiom-web-backend/skills/using-web-backend/SKILL.md
Use when building web APIs, backend services, or encountering FastAPI/Django/Express/GraphQL questions, microservices architecture, authentication, or message queues - routes to 11 specialist skills rather than giving surface-level generic advice
npx skillsauth add tachyon-beep/skillpacks using-web-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.
This router directs you to specialized web backend skills. Each specialist provides deep expertise in their domain.
Core principle: Different backend challenges require different specialist knowledge. Routing to the right skill gives better results than generic advice.
Use this router when encountering:
IMPORTANT: All reference sheets are located in the SAME DIRECTORY as this SKILL.md file.
When this skill is loaded from:
skills/using-web-backend/SKILL.md
Reference sheets like fastapi-development.md are at:
skills/using-web-backend/fastapi-development.md
NOT at:
skills/fastapi-development.md ← WRONG PATH
When you see a link like [fastapi-development.md](fastapi-development.md), read the file from the same directory as this SKILL.md.
| User Question Contains | Route To | Why | |------------------------|----------|-----| | FastAPI, Pydantic, async Python APIs | fastapi-development.md | FastAPI-specific patterns, dependency injection, async | | Django, ORM, views, middleware | django-development.md | Django conventions, ORM optimization, settings | | Express, Node.js backend, middleware | express-development.md | Express patterns, error handling, async flow | | REST API, endpoints, versioning, pagination | rest-api-design.md | REST principles, resource design, hypermedia | | GraphQL, schema, resolvers, N+1 | graphql-api-design.md | Schema design, query optimization, federation | | Microservices, service mesh, boundaries | microservices-architecture.md | Service design, communication, consistency | | Message queues, RabbitMQ, Kafka, events | message-queues.md | Queue patterns, reliability, event-driven | | JWT, OAuth2, API keys, auth | api-authentication.md | Auth patterns, token management, security | | Rate limiting, throttling, quotas | api-authentication.md | Security hardening section — token-bucket, per-tenant quotas | | Database connections, ORM, migrations | database-integration.md | Connection pooling, query optimization, migrations | | API testing, integration tests, mocking | api-testing.md | Testing strategies, contract testing, mocking | | OpenAPI, Swagger, API docs | api-documentation.md | API docs (also see: muna-technical-writer) |
Before routing, check if these packs are more appropriate:
ordis-security-architect (threat modeling, OWASP, security patterns)lyra-ux-designer (error messages, API ergonomics)axiom-python-engineering (Python-specific engineering)muna-technical-writer (technical writing, clarity)STOP: Do not attempt to answer web backend questions yourself.
Instead:
[skill-name] skill for this"If you catch yourself doing any of these, STOP and route to a specialist:
All of these mean: You're being a jack-of-all-trades. Route to the specialist.
| Excuse | Reality | |--------|---------| | "I can handle this backend question myself" | Specialists provide deeper expertise than generic knowledge | | "These are all backend topics" | Backend spans 11 distinct specialist domains | | "I'll just give a quick answer" | Quick answers miss edge cases and production patterns | | "The user didn't ask for specialized help" | Better results come from routing to specialists proactively | | "Specialist skill not available, I'll answer instead" | State which skill would help, explain routing, guide user to install if needed |
User: "I need to build a REST API with FastAPI. How should I structure my dependency injection?"
Your response: "I'll use the fastapi-development.md skill to help you structure dependency injection properly. This specialist skill covers FastAPI patterns in depth."
[Then apply fastapi-development skill]
User: "My GraphQL API has N+1 problems and we're splitting our monolith into microservices."
Your response: "You have two distinct specialist areas:
Let me address the GraphQL N+1 problem first with the graphql-api-design skill..."
[Apply each specialist skill to its domain]
Without routing: Surface-level answers covering multiple domains broadly With routing: Deep expertise addressing edge cases, production patterns, and domain-specific best practices
Specialist skills = better results.
After routing, load the appropriate specialist skill for detailed guidance:
development
Use when **managing the delivery of work** rather than building it — running a project or a program, not writing its code. Use when a team is busy but outcomes are not landing, when "when will it be done" has no defensible answer, when status is green every week until it is suddenly red, when dependencies surprise you, when a RAID log is a graveyard, or when several projects must be coordinated toward one outcome (a program). Lean/agile-leaning, honest about where program scale needs predictive structure. Pairs with `/axiom-planning` (turning one workstream into an implementation plan) and `/axiom-sdlc-engineering` (process maturity, requirements traceability, formal governance). Do not load for writing code, picking an architecture, or designing a single feature.
tools
--- name: using-product-management description: Use when a Claude is taking **standing ownership** of a software product and driving it end-to-end across many sessions — discovery, strategy, specs, delivery orchestration, and value validation — deciding *what to build, why, for whom,* and *whether it worked*, with continuity, decision provenance, and an authority boundary that escalates anything irreversible or outward-facing to the human owner. Owns the product disciplines: opportunity assessme
tools
Use when designing, implementing, or auditing an MCP (Model Context Protocol) server — tool API design, idempotency under agent retry, structured error envelopes agents can recover from, schema versioning across model drift, transport reliability (stdio / HTTP), output-shape and pagination discipline, and choosing between tools / resources / prompts / sampling. Also use when an MCP server's tools confuse agents, return unstructured errors, deadlock under concurrent calls, double-execute under retry, or lose state across reconnects. Do not use for general REST/GraphQL API design (use `/web-backend`), for client-side prompt engineering or tool-loop design (use `/llm-specialist`), for general in-process plugin architecture (use `/system-architect`), or for cryptographic-provenance audit trails (use `/audit-pipelines`).
development
Use when running **SQLite or DuckDB inside an application process** as the durable store — not as a development convenience but as the production database. Use when scaling an SQLite layer that worked at low concurrency and is now hitting SQLITE_BUSY, WAL bloat, lock contention, schema-migration ceremony, or correctness gaps under multi-process writers. Use when introducing DuckDB as an OLAP complement to an OLTP SQLite store, or when picking between the two for a new component. Pairs with `/web-backend` (the API surface above the DB) and `/audit-pipelines` (when the DB is also the audit trail). Do not load for server databases (Postgres, MySQL), key-value stores, or ORM choice in isolation.