Claude Code Plugins

Community-maintained marketplace

Feedback

django-api-debugger

@allthriveai/allthriveai
0
0

Debug Django REST Framework API issues including serializers, viewsets, permissions, pagination, filtering, and response formatting. Use when troubleshooting API endpoints, serialization errors, permission denials, or unexpected response data.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name django-api-debugger
description Debug Django REST Framework API issues including serializers, viewsets, permissions, pagination, filtering, and response formatting. Use when troubleshooting API endpoints, serialization errors, permission denials, or unexpected response data.
allowed-tools Read, Grep, Glob

Django API Debugger

Analyzes and debugs Django REST Framework API issues in this project.

Project Context

  • Backend: Django 5.x with Django REST Framework
  • API base path: /api/v1/
  • Key apps: core/projects, core/users, core/tools
  • Serializers located in: */serializers.py
  • Views located in: */views.py
  • URL routing: */urls.py

When to Use

  • "API returning wrong data"
  • "Serializer not including field"
  • "Permission denied on endpoint"
  • "Pagination not working"
  • "Filter not applying"
  • "API response format incorrect"

Debugging Approach

1. Identify the Endpoint

  • Check urls.py for URL pattern
  • Find the corresponding view/viewset

2. Check the Serializer

  • Verify fields are included
  • Check read_only and write_only settings
  • Look for custom to_representation or to_internal_value
  • Verify nested serializers

3. Check the View

  • Verify queryset and get_queryset()
  • Check permission_classes
  • Look for custom get_serializer_context()
  • Verify pagination settings

4. Common Issues

Missing fields in response:

  • Field not in serializer's fields
  • Field is write_only=True
  • Property not defined on model

Permission errors:

  • Missing or incorrect permission_classes
  • User not authenticated
  • Object-level permissions failing

Pagination issues:

  • Check DEFAULT_PAGINATION_CLASS in settings
  • Verify page_size parameter
  • Check for next/previous URLs in response

Key Files to Check

core/
├── projects/
│   ├── serializers.py  # Project serializers
│   ├── views.py        # Project viewsets
│   └── urls.py         # Project URL patterns
├── users/
│   ├── serializers.py  # User serializers
│   └── views.py        # User viewsets
└── tools/
    ├── serializers.py  # Tool serializers
    └── views.py        # Tool viewsets

Testing Tips

# Test endpoint directly
docker compose exec web python manage.py shell
>>> from core.projects.models import Project
>>> Project.objects.first().__dict__

# Check serializer output
>>> from core.projects.serializers import ProjectSerializer
>>> ProjectSerializer(Project.objects.first()).data