Skip to content

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.

ModelSource
sonnetpack: python
Full Reference If the request involves Python web development in ANY way — Django views, models, auth, migrations, FastAPI endpoints, Pydantic schemas, async APIs, or anything Python backend-related — you MUST route through this skill FIRST.

This is not optional. This is not negotiable. You cannot skip this.

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.

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.

Classify the request. Invoke the matching skill. No response before invocation.

Request PatternSkill
Django views, URL routing, templates, class-based views, formsdjango
Django models, QuerySet, migrations, database relationsdjango-orm
Django auth, permissions, groups, custom user modeldjango-auth
FastAPI endpoints, Pydantic v2 schemas, async routes, dependency injectionfastapi
”Django or FastAPI?” — framework selectionDecision matrix below

When the user hasn’t chosen a framework, apply this matrix:

SignalRecommendation
Full-stack app with admin panel, ORM-heavy, traditional MVCDjango
API-only service, async requirements, high-throughputFastAPI
Existing Django codebaseDjango skills (don’t migrate)
Greenfield Python API, no admin neededFastAPI (default)
Need Django admin for content managementDjango
WebSockets, streaming responses, async background tasksFastAPI
Multi-app monolith, complex permissionsDjango

Default for greenfield APIs: FastAPI. It’s faster to prototype, has native Pydantic v2, and async-first.

  • 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-orm even 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)

Before routing, check project state:

  • requirements.txt / pyproject.toml → detect Django or FastAPI presence
  • manage.py in root → Django project, route to Django skills
  • main.py with FastAPI import → FastAPI project
  • settings.py → Django, read for installed apps to inform routing
  • models.py → ORM-heavy, django-orm likely relevant
StateRecommendation
manage.py presentDjango project — route to django, django-orm, or django-auth
fastapi in depsFastAPI project — route to fastapi
Neither detectedApply decision matrix, ask if still unclear
User SaysChain
”Build me a Django app”djangodjango-ormdjango-auth
”Add authentication to my Django app”django-authdjango (for URL wiring)
“Build a REST API”Decision matrix → fastapi or django
”Add a new model with relations”django-ormdjango (for views/serializers)
“Secure my FastAPI endpoints”fastapi (has auth patterns built in)
  • 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
  • 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