From python-experts
Audits Django codebases for parallel multi-agent development readiness, analyzing app boundaries, shared state, models, migrations, tests, and generating remediation plans with orchestration setup.
npx claudepluginhub jpoutrin/product-forge --plugin python-expertsThis skill uses the workspace's default tool permissions.
Audit and prepare a Django codebase to support parallel development with multiple Claude Code agents.
Fixes Django-specific blockers from parallelization readiness report: god apps, circular imports, cross-app signals, global mutable state, and vague serializers. Prepares for multi-agent development.
Runs Django verification pipeline: environment checks, linting (mypy/ruff/black/isort), migrations, pytest tests with coverage, security scans (pip-audit/bandit), deploy readiness before PRs/releases.
Executes Django project verification loop with environment checks, linting (ruff/black), migrations, pytest coverage, security scans (bandit/pip-audit), before PRs or deployments.
Share bugs, ideas, or general feedback.
Audit and prepare a Django codebase to support parallel development with multiple Claude Code agents.
Run the full assessment:
1. Analyze Django project structure and app organization
2. Score each readiness dimension
3. Identify blockers and risks
4. Generate remediation plan
5. Set up orchestration infrastructure
Run the analysis script from project root:
# From project root (default: analyzes 'apps/' directory)
python analyze-readiness.py
# Specify custom apps directory
python analyze-readiness.py src/apps
# Output saved to .claude/readiness-report.md
The script analyzes:
__all__ usageSee references/analyze-readiness.py for the full script.
Check for:
Red flags:
Scoring:
Detection commands:
# Count models per app
find . -name "models.py" -exec grep -l "class.*Model" {} \;
# Find cross-app imports
grep -r "from.*\.models import" --include="*.py" | grep -v "__pycache__"
# Check for circular imports
python -c "import sys; sys.setrecursionlimit(50); import myapp"
Check for:
Red flags:
Scoring:
Detection commands:
# Find global variables
grep -r "^[A-Z_]*\s*=" --include="*.py" | grep -v settings.py
# Find signal usage
grep -r "@receiver\|\.connect(" --include="*.py"
# Find cache usage
grep -r "cache\.\(get\|set\|delete\)" --include="*.py"
Check for:
Red flags:
fields = "__all__" in serializersScoring:
__all__ fields everywhereDetection commands:
# Find serializers with __all__
grep -r 'fields\s*=\s*"__all__"\|fields\s*=\s*.__all__.' --include="*.py"
# Check for OpenAPI setup
grep -r "SpectacularAPIView\|swagger\|openapi" --include="*.py"
# Find untyped views
grep -r "def .*request.*:" --include="views.py" | grep -v ": HttpRequest"
Check for:
Red flags:
Scoring:
Detection commands:
# Find test files
find . -name "test*.py" -o -name "*_test.py" | wc -l
# Check for pytest
grep -r "pytest" pyproject.toml setup.cfg requirements*.txt 2>/dev/null
# Check for factories
grep -r "factory.Factory\|FactoryBoy" --include="*.py"
Check for:
Red flags:
Scoring:
Detection commands:
# Check for config files
ls -la pyproject.toml setup.cfg mypy.ini .ruff.toml 2>/dev/null
# Check for type hints
grep -r "-> " --include="*.py" | head -20
# Check for CLAUDE.md
ls -la CLAUDE.md .claude/ 2>/dev/null
Check for:
Scoring:
Detection commands:
# Count migrations per app
find . -path "*/migrations/*.py" -not -name "__init__.py" | cut -d/ -f3 | sort | uniq -c
# Check for merge migrations
find . -path "*/migrations/*.py" -exec grep -l "merge" {} \;
# Check dependency pinning
grep -E "^[a-zA-Z].*==" requirements*.txt 2>/dev/null | wc -l
Generate .claude/readiness-report.md:
# Django Parallelization Readiness Report
## Overall Score: X/100
## Dimension Scores
| Dimension | Score | Status |
|-----------|-------|--------|
| App Boundaries | X/20 | ✅/⚠️/❌ |
| Shared State | X/20 | ✅/⚠️/❌ |
| API Contracts | X/20 | ✅/⚠️/❌ |
| Test Infrastructure | X/15 | ✅/⚠️/❌ |
| Documentation | X/15 | ✅/⚠️/❌ |
| Migrations & Deps | X/10 | ✅/⚠️/❌ |
## Blockers (Must Fix)
1. [Critical issue]
## Risks (Should Fix)
1. [High-risk issue]
## Recommendations
1. [Improvement suggestion]
## Django-Specific Notes
- Apps suitable for parallel work: [list]
- Apps requiring sequential work: [list]
- Migration conflict risk: [assessment]
## Parallelization Potential
- Estimated parallel tracks: N
- Suggested app boundaries: [list]
- Sequential dependencies: [list]
After assessment, apply fixes. See references/remediation-checklist.md for detailed steps.
After remediation, set up orchestration:
project/
├── .claude/
│ ├── readiness-report.md # Assessment results
│ ├── architecture.md # System design
│ ├── tasks/ # Task specs
│ └── contracts/ # Interface definitions
├── CLAUDE.md # Project conventions
├── pyproject.toml # Dependencies & tool config
└── apps/
├── users/ # Example: User domain app
├── orders/ # Example: Order domain app
└── shared/ # Shared utilities only
See references/infrastructure-setup.md for setup scripts.
When parallel agents modify models in different apps:
--merge only during integration phaseStrong isolation (preferred):
Soft isolation:
shared/ app