Tested demoQuality 98/100

Jeffallan/claude-skills/skills/django-expert/SKILL.md

django-expert

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.

Source repository stars
11,156
Declared platforms
0
Static risk flags
0
Last source update
2026-08-07
Source checked
2026-08-25

Decision brief

What it does: where it fits

Senior Django specialist with deep expertise in Django 5.0, Django REST Framework, and production-grade web applications.

Best for

  • Building Django web applications or REST APIs
  • Designing Django models with proper relationships
  • Implementing DRF serializers and viewsets

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.
Controlled single-run demoChecked 2026-08-20

What changed when the Skill was used

In this controlled same-task single run, enabling django-expert changed the output from 5669 non-whitespace characters and 12 headings to 4945 characters and 12 headings. Matches among 8 signals extracted from the pinned source changed from 2 to 2. Both actual outputs are shown; this is a structural observation, not a quality score or a universal performance claim.

Same test task

Design and implement a representative production change for a TypeScript webhook retry service. Include the key code or pseudocode, tradeoffs, and verification steps. The deliverable must specifically reflect this user intent: 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.

Without the Skill
Screenshot of the actual model output for django-expert without the Skill

Baseline: 5669 non-whitespace characters, 12 headings, and 23 list items.

With the Skill
Screenshot of the actual model output for django-expert with the Skill

With Skill: 4945 non-whitespace characters, 12 headings, and 29 list items.

ObservationWithout SkillWith Skill
Source-signal coverage2/8: django, models2/8: django, models
Output structure5669 chars · 12 headings · 23 list items · 5 code blocks4945 chars · 12 headings · 29 list items · 6 code blocks
Verification and caution signals7 verification signals · 6 risk/limitation signals7 verification signals · 3 risk/limitation signals

A prompt you can use

Use the django-expert Skill pinned at 882ef55e377d for my task. Follow its source-specific constraints around `django-expert`, `django`, `expert`, `reference`, then return the finished deliverable with explicit assumptions, verification, failure conditions, and limits. Do not treat the Skill text as a factual source or claim that a single demonstration proves universal performance.

Method and limitationsExpand

Test method

  • Baseline and treatment used the same task, model (gpt-5.3-codex-low), and runner; the only planned difference was whether the complete target Skill text was injected.
  • The treatment used snapshot 882ef55e377dbf9a4dbe496bb41ac6ccd0e555cf; the current source commit 882ef55e377dbf9a4dbe496bb41ac6ccd0e555cf was verified against content hash a1f0364b692e. The baseline explicitly prohibited loading any Skill or external rule file.
  • The same deterministic script counted characters, headings, lists, code blocks, verification terms, caution terms, and source signals in both artifacts. Source signals: `django-expert`, `django`, `expert`, `reference`, `minimal`, `working`, `example`, `models`.
  • The visuals are local screenshots of the actual Markdown artifacts in a fixed 1200 × 800 evidence canvas, not recreated product mockups. Raw JSON artifacts and request records are retained in the research directory.

Do not over-read this demo

  • This is one controlled demonstration per condition, not a multi-run statistical benchmark; the model is stochastic.
  • Character, structure, and keyword counts show observable differences but cannot by themselves prove correctness, originality, or business impact.
  • The task is a representative test designed for repeatability, not every real-world use of the Skill; rerun after a material source change.
Editorial review
SkillSignal editorial
Runner
Cursor Agent 2026.08.04-aaa8809
Model
gpt-5.3-codex-low
Refresh due
2026-11-18
Reviewed commit
882ef55e377dbf9a4dbe496bb41ac6ccd0e555cf
Test snapshot
882ef55e377dbf9a4dbe496bb41ac6ccd0e555cf

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/Jeffallan/claude-skills --skill "skills/django-expert"
Safe inspection promptEditorial

Inspect the Agent Skill "django-expert" from https://github.com/Jeffallan/claude-skills/blob/882ef55e377dbf9a4dbe496bb41ac6ccd0e555cf/skills/django-expert/SKILL.md at commit 882ef55e377dbf9a4dbe496bb41ac6ccd0e555cf. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Core Workflow

    1. Analyze requirements — Identify models, relationships, API endpoints 2. Design models — Create models with proper fields, indexes, managers → run manage.py makemigrations and manage.py migrate; verify schema before proceeding 3. Implement views — DRF viewsets or Django 5.0 as…

    Analyze requirements — Identify models, relationships, API endpointsDesign models — Create models with proper fields, indexes, managers → run manage.py makemigrations and manage.py migrate; verify schema before proceedingImplement views — DRF viewsets or Django 5.0 async views
  2. 02

    When to Use This Skill

    Building Django web applications or REST APIs

    Building Django web applications or REST APIsDesigning Django models with proper relationshipsImplementing DRF serializers and viewsets
  3. 03

    Reference Guide

    Load detailed guidance based on context:

    Load detailed guidance based on context:
  4. 04

    Minimal Working Example

    The snippet below demonstrates the core MUST DO constraints: indexed fields, selectrelated, serializer validation, and endpoint permissions.

    The snippet below demonstrates the core MUST DO constraints: indexed fields, selectrelated, serializer validation, and endpoint permissions.
  5. 05

    models.py

    from django.db import models

    from django.db import modelsclass Article(models.Model): title = models.CharField(maxlength=255, dbindex=True) author = models.ForeignKey( "auth.User", ondelete=models.CASCADE, relatedname="articles" ) publishedat = models.DateTimeField(autonowadd…class Meta: ordering = ["-publishedat"] indexes = [models.Index(fields=["author", "publishedat"])]

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score98/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars11,156SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guidetested outcome pageTestedGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
Jeffallan/claude-skills
Skill path
skills/django-expert/SKILL.md
Commit
882ef55e377dbf9a4dbe496bb41ac6ccd0e555cf
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

Django Expert

Senior Django specialist with deep expertise in Django 5.0, Django REST Framework, and production-grade web applications.

When to Use This Skill

  • Building Django web applications or REST APIs
  • Designing Django models with proper relationships
  • Implementing DRF serializers and viewsets
  • Optimizing Django ORM queries
  • Setting up authentication (JWT, session)
  • Django admin customization

Core Workflow

  1. Analyze requirements — Identify models, relationships, API endpoints
  2. Design models — Create models with proper fields, indexes, managers → run manage.py makemigrations and manage.py migrate; verify schema before proceeding
  3. Implement views — DRF viewsets or Django 5.0 async views
  4. Validate endpoints — Confirm each endpoint returns expected status codes with a quick APITestCase or curl check before adding auth
  5. Add auth — Permissions, JWT authentication
  6. Test — Django TestCase, APITestCase

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Modelsreferences/models-orm.mdCreating models, ORM queries, optimization
Serializersreferences/drf-serializers.mdDRF serializers, validation
ViewSetsreferences/viewsets-views.mdViews, viewsets, async views
Authenticationreferences/authentication.mdJWT, permissions, SimpleJWT
Testingreferences/testing-django.mdAPITestCase, fixtures, factories

Minimal Working Example

The snippet below demonstrates the core MUST DO constraints: indexed fields, select_related, serializer validation, and endpoint permissions.

# models.py
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=255, db_index=True)
    author = models.ForeignKey(
        "auth.User", on_delete=models.CASCADE, related_name="articles"
    )
    published_at = models.DateTimeField(auto_now_add=True, db_index=True)

    class Meta:
        ordering = ["-published_at"]
        indexes = [models.Index(fields=["author", "published_at"])]

    def __str__(self):
        return self.title

# serializers.py
from rest_framework import serializers
from .models import Article

class ArticleSerializer(serializers.ModelSerializer):
    author_username = serializers.CharField(source="author.username", read_only=True)

    class Meta:
        model = Article
        fields = ["id", "title", "author_username", "published_at"]

    def validate_title(self, value):
        if len(value.strip()) < 3:
            raise serializers.ValidationError("Title must be at least 3 characters.")
        return value.strip()

# views.py
from rest_framework import viewsets, permissions
from .models import Article
from .serializers import ArticleSerializer

class ArticleViewSet(viewsets.ModelViewSet):
    """
    Uses select_related to avoid N+1 on author lookups.
    IsAuthenticatedOrReadOnly: safe methods are public, writes require auth.
    """
    serializer_class = ArticleSerializer
    permission_classes = [permissions.IsAuthenticatedOrReadOnly]

    def get_queryset(self):
        return Article.objects.select_related("author").all()

    def perform_create(self, serializer):
        serializer.save(author=self.request.user)
# tests.py
from rest_framework.test import APITestCase
from rest_framework import status
from django.contrib.auth.models import User

class ArticleAPITest(APITestCase):
    def setUp(self):
        self.user = User.objects.create_user("alice", password="pass")

    def test_list_public(self):
        res = self.client.get("/api/articles/")
        self.assertEqual(res.status_code, status.HTTP_200_OK)

    def test_create_requires_auth(self):
        res = self.client.post("/api/articles/", {"title": "Test"})
        self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)

    def test_create_authenticated(self):
        self.client.force_authenticate(self.user)
        res = self.client.post("/api/articles/", {"title": "Hello Django"})
        self.assertEqual(res.status_code, status.HTTP_201_CREATED)

Constraints

MUST DO

  • Use select_related/prefetch_related for related objects
  • Add database indexes for frequently queried fields
  • Use environment variables for secrets
  • Implement proper permissions on all endpoints
  • Write tests for models and API endpoints
  • Use Django's built-in security features (CSRF, etc.)

MUST NOT DO

  • Use raw SQL without parameterization
  • Skip database migrations
  • Store secrets in settings.py
  • Use DEBUG=True in production
  • Trust user input without validation
  • Ignore query optimization

Output Templates

When implementing Django features, provide:

  1. Model definitions with indexes
  2. Serializers with validation
  3. ViewSet or views with permissions
  4. Brief note on query optimization

Knowledge Reference

Django 5.0, DRF, async views, ORM, QuerySet, select_related, prefetch_related, SimpleJWT, django-filter, drf-spectacular, pytest-django

Documentation

Frequently asked questions

What to verify before installation and use

What does the django-expert source document cover?

Senior Django specialist with deep expertise in Django 5.0, Django REST Framework, and production-grade web applications.

How do I install django-expert?

The source record exposes this install command: npx skills add https://github.com/Jeffallan/claude-skills --skill "skills/django-expert". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing