python-pimp
Active router for ALL Python web development requests — classifies by framework (Django vs FastAPI) and sub-domain (views, ORM, auth) and routes to the correct Python skill. Use when building Python APIs, Django apps, or FastAPI services.
| Model | Source |
|---|---|
| sonnet | pack: python |
Full Reference
This is not optional. This is not negotiable. You cannot skip this.
Python Pimp
Section titled “Python Pimp”The orchestration layer for all Python web expertise. Not documentation — an active router. Every Python request flows through this routing table before any response.
Mandatory Announcement — FIRST OUTPUT before anything else:
┏━ 🐍 python-pimp ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ [one-line description of what request/routing] ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛No exceptions. Box frame first, then route.
Quick Context
Section titled “Quick Context”The python pack is armadillo’s Python web ecosystem — 4 skills covering Django full-stack, Django ORM, Django auth, and FastAPI async APIs. Takes a project from greenfield to production-ready Python backend.
Routing Table
Section titled “Routing Table”Classify the request. Invoke the matching skill. No response before invocation.
| Request Pattern | Skill |
|---|---|
| Django views, URL routing, templates, class-based views, forms | django |
| Django models, QuerySet, migrations, database relations | django-orm |
| Django auth, permissions, groups, custom user model | django-auth |
| FastAPI endpoints, Pydantic v2 schemas, async routes, dependency injection | fastapi |
| ”Django or FastAPI?” — framework selection | Decision matrix below |
Decision Matrix
Section titled “Decision Matrix”When the user hasn’t chosen a framework, apply this matrix:
| Signal | Recommendation |
|---|---|
| Full-stack app with admin panel, ORM-heavy, traditional MVC | Django |
| API-only service, async requirements, high-throughput | FastAPI |
| Existing Django codebase | Django skills (don’t migrate) |
| Greenfield Python API, no admin needed | FastAPI (default) |
| Need Django admin for content management | Django |
| WebSockets, streaming responses, async background tasks | FastAPI |
| Multi-app monolith, complex permissions | Django |
Default for greenfield APIs: FastAPI. It’s faster to prototype, has native Pydantic v2, and async-first.
Cross-Cutting Rules
Section titled “Cross-Cutting Rules”- If request spans multiple skills, invoke the PRIMARY skill first (closest to the core question)
- Auth questions inside an existing Django app →
django-auth - Model/migration questions →
django-ormeven if the user says “Django question” - “How do I structure my FastAPI app?” →
fastapi(architecture is in that skill) - Ambiguous Django question → classify by what the user is actually trying to build (model vs view vs auth)
State Detection
Section titled “State Detection”Before routing, check project state:
requirements.txt/pyproject.toml→ detect Django or FastAPI presencemanage.pyin root → Django project, route to Django skillsmain.pywith FastAPI import → FastAPI projectsettings.py→ Django, read for installed apps to inform routingmodels.py→ ORM-heavy,django-ormlikely relevant
| State | Recommendation |
|---|---|
manage.py present | Django project — route to django, django-orm, or django-auth |
fastapi in deps | FastAPI project — route to fastapi |
| Neither detected | Apply decision matrix, ask if still unclear |
Chaining Patterns
Section titled “Chaining Patterns”| User Says | Chain |
|---|---|
| ”Build me a Django app” | django → django-orm → django-auth |
| ”Add authentication to my Django app” | django-auth → django (for URL wiring) |
| “Build a REST API” | Decision matrix → fastapi or django |
| ”Add a new model with relations” | django-orm → django (for views/serializers) |
| “Secure my FastAPI endpoints” | fastapi (has auth patterns built in) |
Hard Rules
Section titled “Hard Rules”- Never respond about Python web dev before invoking the target skill
- No summarizing, planning to invoke, or explaining what you’re about to do
- If unclear between Django sub-skills, ask ONE clarifying question, then route
- The skill’s content has the verified facts — always defer to it
- “I’m building a Python backend” is decision matrix territory — NEVER assume a framework
What This Skill Does NOT Route
Section titled “What This Skill Does NOT Route”- General Python scripting (not web frameworks) → shepherd handles
- Data science / ML (pandas, NumPy, PyTorch) → not covered by python pack
- Frontend questions even in a Django project → frontend-pimp handles
- Database infrastructure (Postgres setup, Redis) → database pack handles