django-verification
Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.
By affaan-m · 2,877 installs
npx skills add affaan-m/ecc --skill django-verification
Source repository · Upstream listing
Django Verification Loop
Run before PRs, after major changes, and pre deploy to ensure Django application quality and security.
When to Activate
Before opening a pull request for a Django project
After major model changes, migration updates, or dependency upgrades
Pre deployment verification for staging or production
Running full environment → lint → test → security → deploy readiness pipeline
Validating migration safety and test coverage
Phase 1: Environment Check
If environment is misconfigured, stop and fix.
Phase 2: Code Quality & Formatting
Common issues:
Missing type hints on public functions
PEP 8 formatting violations
Unsorted imports
Debug settings left in production configuration
Phase 3: Migrations
Report:
Number of pending migrations
Any migration conflicts
Model changes without migrations
Phase 4: Tests + Coverage
Report:
Total tests: X passed, Y failed, Z skipped
Overall coverage: XX%
Per app coverage breakdown
Coverage targets:
Component Target
Models 90%+
Serializers 85%+
Views 80%+
Services 90%+
Overall 80%+
Phase 5: Security Scan
Report:
Vulnerable dependencies found
Security configuration issues
Hardcoded secrets detected
DEBUG mode status (should be False in production)
Phase 6: Django Management Commands
Phase 7: Performance Checks
Report:
Number of queries per page (should be < 50 for typical pages)
Missing database indexes
Duplicate queries detected
Phase 8: Static Assets
Phase 9: Configuration Review
Phase 10: Logging Configuration
Phase 11: API Documentation (if DRF)
Phase 12: Diff Review
Checklist:
No debugging statements (print, pdb, breakpoint())
No TODO/FIXME comments in critical code
No hardcoded secrets or credentials
Database migrations included for model changes
Configuration changes documented
Error handling present for external calls
Transaction management where needed
Output Template
Pre Deployment Checklist
[ ] All tests passing
[ ] Coverage ≥ 80%
[ ] No security vulnerabilities
[ ] No unapplied migrations
[ ] DEBUG = False in production settings
[ ] SECRET KEY properly configured
[ ] ALLOWED HOSTS set correctly
[ ] Database backups enabled
[ ] Static files collected and served
[ ] Logging configured and working
[ ] Error monitoring (Sentry, etc.) configured
[ ] CDN configured (if applicable)
[ ] Redis/cache backend configured
[ ] Celery workers running (if applicable)
[ ] HTTPS/SSL configured
[ ] Environment variables documented
Continuous Integration
GitHub Actions Example
Quick Reference
Check Command
Environment python version
Type checking mypy .
Linting ruff check .
Formatting black . check
Migrations python manage.py makemigrations check
Tests pytest cov=apps
Security pip audit && bandit r .
Django check python manage.py check deploy
Collectstatic python manage.py collectstatic noinput
Diff stats git diff stat
Remember: Automated verification catches common issues but doesn't replace manual code review and testing in staging environment.