Use when building Django web applications or REST APIs with Django REST Framework. Invoke when working with settings.py, models.py, manage.py, or any Django project file. Creates Django models with proper indexes, optimizes ORM queries using select_related/prefetch_related, builds DRF serializers and viewsets, and configures JWT authentication. Trigger terms: Django, DRF, Django REST Framework, Django ORM, Django model, serializer, viewset, Python web.
98
100%
Does it follow best practices?
Impact
97%
1.14xAverage score across 6 eval scenarios
Passed
No known issues
ORM query optimization and model design
select_related used
100%
100%
prefetch_related used
100%
100%
DB index on model
100%
100%
Composite index
100%
100%
F() expression used
100%
100%
Q() objects used
100%
100%
bulk_create used
62%
100%
bulk_update used
100%
100%
Custom manager
100%
100%
related_name defined
100%
100%
Meta ordering defined
0%
100%
__str__ defined
100%
100%
only()/defer() used
100%
100%
JWT authentication and permission configuration
SimpleJWT installed
100%
100%
JWTAuthentication class
100%
100%
Access token lifetime
100%
100%
Refresh token lifetime
100%
100%
Token rotation enabled
100%
100%
Blacklist after rotation
100%
100%
Token URLs present
50%
100%
DefaultRouter used
100%
100%
Custom permission class
100%
100%
Action-based permissions
0%
100%
perform_create override
100%
100%
DRF serializer validation and API testing
write_only fields
0%
0%
read_only fields
100%
100%
Field-level validate
0%
100%
Object-level validate
100%
100%
Nested serializer
100%
100%
Nested create()
100%
100%
Nested update()
100%
100%
SerializerMethodField
100%
100%
APITestCase used
100%
100%
force_authenticate used
100%
100%
reverse() for URLs
0%
100%
Auth and unauth tests
66%
100%
create_user() used
100%
100%
Production settings, secrets management, and security hardening
SECRET_KEY from env
100%
100%
DB password from env
100%
100%
DEBUG not True
100%
100%
CSRF middleware present
100%
100%
Security middleware present
100%
100%
No raw SQL injection
100%
100%
ORM or parameterized query
100%
100%
Env vars documented
100%
100%
No secrets in settings
100%
100%
Async views, filtering, pagination, and custom ViewSet actions
Async view defined
100%
100%
sync_to_async used
0%
100%
Pagination class configured
100%
100%
PAGE_SIZE set
100%
100%
DjangoFilterBackend used
100%
100%
SearchFilter used
100%
100%
OrderingFilter used
100%
100%
Custom @action defined
100%
100%
Action detail flag correct
100%
100%
select_related in ViewSet
100%
100%
DB index on model
0%
100%
Factory Boy test data, fixtures, model tests, and custom JWT claims
DjangoModelFactory used
100%
100%
Factory for User
100%
100%
Factory for Post or Category
100%
100%
JSON fixture produced
100%
100%
fixtures attribute in test
0%
0%
Django TestCase for models
0%
100%
Model __str__ tested
100%
100%
APITestCase for API
0%
100%
Custom JWT claims class
100%
100%
Email embedded in token
100%
100%
Custom view for token
100%
100%
create_user() in test setup
100%
100%
5b76101
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.