cdrf-expert

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); understandi

By vintasoftware · 403 installs

npx skills add vintasoftware/django-ai-plugins --skill cdrf-expert

Source repository · Upstream listing

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) 2. 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 3. 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) 4. 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. 5. 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 6. 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.