Cdrf Expert

by vintasoftwareb8af2688d994No license152 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 2 months ago

Expert guidance for Django REST Framework class-based views using Classy DRF (https://www.cdrf.co). Use when selecting or debugging APIView, GenericAPIView, concrete generic views, mixin combinations, or ViewSet/GenericViewSet/ModelViewSet behavior; tracing method resolution order (MRO); understanding which method to override (`create` vs `perform_create`, `update` vs `perform_update`, `destroy` vs `perform_destroy`, `get_queryset`, `get_serializer_class`); and comparing behavior across DRF versions. Do not use for function-based views, GraphQL, FastAPI/Flask, frontend work, or non-DRF backend frameworks.

Instructions onlySoftware Development
AI-generated overview

Guides Django REST Framework class-based view selection, override points, MRO tracing and version differences using Classy DRF references.

What it does
This skill classifies a Django REST Framework class-based view question into categories such as class selection, lifecycle tracing, override strategy, MRO debugging or version differences, then loads only the matching reference file. It directs the agent to consult version-specific Classy DRF pages for ancestors, method sources and default attributes. It produces a recommended class, the methods to override, reasoning grounded in the method resolution order and lifecycle, a concise code patch or skeleton, and risks with suggested tests.
When to use it
Use it when choosing between APIView, GenericAPIView, concrete generic views, mixins or ViewSets, or when deciding whether to override create versus perform_create and similar hooks. It also fits tracing which class supplies a method and comparing behavior across DRF versions. It is not intended for function-based views, GraphQL, FastAPI or Flask, frontend work, or non-DRF backends.
Requirements
Requires network access to cdrf.co and, as a fallback, the DRF official documentation and installed source code. The user should supply the project's DRF version or accept clearly marked version-agnostic assumptions. It ships no scripts, only reference documents.

CDRF Expert

Instructions

  1. Classify the request.

Map the user request to one or more categories:

  • Class selection (APIView vs GenericAPIView vs concrete generics vs ViewSets)
  • Lifecycle tracing (request-to-response flow)
  • Override strategy (which hook to customize)
  • MRO debugging (method came from mixin/base class)
  • Version differences (behavior changed between DRF versions)
  1. Read only the required reference file(s).

Load the minimum needed context:

  • references/class-selection-matrix.md for class selection
  • references/lifecycle-and-overrides.md for hook placement and lifecycle
  • references/mro-debugging-playbook.md for MRO/source-of-method tracing
  • references/version-check-workflow.md for DRF-version comparisons
  1. Navigate cdrf.co with version-first discipline.
  • Identify the project DRF version from user context.
  • If unknown, ask for version or provide a version-agnostic answer and explicitly mark assumptions.
  • Open the matching CDRF version namespace first (for example https://www.cdrf.co/3.16/).
  • Open the target class page and extract:
    • Ancestors and MRO
    • Available methods and source class for each method
    • Default attributes that affect behavior (queryset, serializer_class, pagination/filter backends)
  1. Choose the minimal override point.
  • Prefer narrow hooks (perform_create, perform_update, perform_destroy) before broad methods (create, update, destroy).
  • Prefer get_queryset and get_serializer_class for per-request behavior over hardcoding class attributes.
  • Keep HTTP orchestration in view methods and business/domain logic outside views.
  • Preserve DRF defaults unless the request needs behavior changes.
  1. Produce an answer grounded in method flow.

Return:

  • Recommended class
  • Method(s) to override
  • Why these methods are correct in the MRO/lifecycle
  • Concise code patch or skeleton
  • Risks/regressions and tests to add
  1. Validate before finalizing.

Check for common regressions:

  • Accidentally bypassing permission/authentication/filter/pagination hooks
  • Duplicating object-save logic between serializer and view
  • Overriding broad methods when narrow hooks are sufficient
  • Depending on methods not present in the selected DRF version

Error Handling

  1. If cdrf.co is unavailable, state that limitation and fall back to DRF official docs and installed source code.
  2. If the user cannot provide DRF version, provide a version-agnostic path and clearly mark assumptions.
  3. If multiple override points appear valid, recommend the narrowest hook first and explain tradeoffs.

Output Rules

  • Cite exact class and method names from CDRF.
  • State assumptions when DRF version is unknown.
  • Keep responses focused on DRF CBV internals and actionable code changes.

Source and attribution

Source:vintasoftware/django-ai-pluginsinskills/cdrf-expertat commitb8af268

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

Cdrf Expert Agent Skill | SourceWeft