Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/rishapgandhi/python-skills/drfnpx skills add rishapgandhi/python-skills --skill drfgit clone --depth 1 https://github.com/rishapgandhi/python-skillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.03361 |
| Opus 5 | $0.00000 | $0.01681 |
| Sonnet 5 | $0.00000 | $0.00672 |
| Haiku 4.5 | $0.00000 | $0.00336 |
Grade A, and why
drf scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 537 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Django REST Framework (DRF) Skill
Load alongside
skills/django/SKILL.mdand allskills/common/files.
Stack Additions (on top of Django)
| Layer | Library |
|---|---|
| REST Framework | djangorestframework 3.15+ |
| JWT Auth | djangorestframework-simplejwt |
| Filtering | django-filter |
| Throttling | DRF built-in |
| Schema / Docs | drf-spectacular (OpenAPI 3) |
| Pagination | DRF built-in + custom |
Settings
# config/settings/base.py
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"rest_framework_simplejwt.authentication.JWTAuthentication",
],
"DEFAULT_PERMISSION_CLASSES": [
"rest_framework.permissions.IsAuthenticated",
],
"DEFAULT_RENDERER_CLASSES": [
"rest_framework.renderers.JSONRenderer",
],
"DEFAULT_PAGINATION_CLASS": "apps.core.pagination.StandardResultsPagination",
"PAGE_SIZE": 20,
"DEFAULT_FILTER_BACKENDS": [
"django_filters.rest_framework.DjangoFilterBackend",
"rest_framework.filters.SearchFilter",
"rest_framework.filters.OrderingFilter",
],
"DEFAULT_THROTTLE_CLASSES": [
"rest_framework.throttling.AnonRateThrottle",
"rest_framework.throttling.UserRateThrottle",
],
"DEFAULT_THROTTLE_RATES": {
"anon": "100/day",
"user": "1000/day",
},
"EXCEPTION_HANDLER": "apps.core.exception_handler.custom_exception_handler",
}
Serializer Standards
# apps/users/serializers.py
from rest_framework import serializers
from apps.users.models import User
class UserCreateSerializer(serializers.ModelSerializer):
"""Serializer for creating a new user account."""
password = serializers.CharField(write_only=True, min_length=8)
class Meta:
model = User
fields = ["email", "name", "password"]
extra_kwargs = {"password": {"write_only": True}}
def validate_email(self, value: str) -> str:
if User.objects.filter(email=value.lower()).exists():
raise serializers.ValidationError("Email already in use.")
return value.lower()
def create(self, validated_data: dict) -> User:
from apps.users.services import UserService
return UserService.create_user(**validated_data)
class UserResponseSerializer(serializers.ModelSerializer):
"""Read-only serializer for user responses."""
class Meta:
model = User
fields = ["id", "public_id", "email", "name", "is_active", "created_at"]
read_only_fields = fields
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 537 lines · 0 tokens per session scan A 6f35df8c9602
drf is a skill published in the GitHub repository rishapgandhi/python-skills (4 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,361 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
python-expert
Use for Python code changes, FastAPI/Django/Flask services, packaging, typing, async, pytest, data scripts, dependency hygiene, or Python performance fixes.
roam
Codebase comprehension via roam-code CLI. Use when exploring codebases, planning modifications, debugging failures, assessing PR risk, or checking architecture health. Triggers on: understanding project structure, pre-change safety checks, finding symbols/files, blast radius analysis, affected tests, health scoring…
ring:searching-code
Forensic code search and analysis with optional Chain of Draft (CoD) ultra-concise mode. Five-phase methodology (clarification, planning, execution, analysis, synthesis) with severity assessment. Use for targeted investigation of specific patterns, bugs, or vulnerabilities. Skip for broad architecture mapping (use…
ring:exploring-codebases
Exploring a codebase across phases: scopes the target, detects architecture, components, and layers, deep-dives each discovered perspective, then synthesizes findings into actionable guidance with file:line evidence. Use to understand how a feature or system works before planning changes, or to orient on an unfamiliar…
ring:generating-release-guides
Generating an internal Operations-facing update/migration guide from the git diff between two refs, documenting per-change client impact, deploy ordering, monitoring, and rollback notes in English, pt-br, or both. Use when preparing a version release or recording what changed for the Ops team. Runs read-only by…
ring:writing-skills
Writing or editing a Ring skill: SKILL.md structure, frontmatter and Agent-Search-Optimization rules, token-efficiency targets, and bulletproofing (Iron Law, rationalization tables, Red Flags) so discipline-enforcing skills resist excuses. Use when creating or revising a skill. Delegates pressure-testing to…