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.
git clone --depth 1 https://github.com/toffyui/ccteamsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/toffyui/ccteams/django-reviewer)<a href="https://agentmods.dev/agents/toffyui/ccteams/django-reviewer"><img src="https://agentmods.dev/badge/agents/toffyui/ccteams/django-reviewer.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00057 | $0.00897 |
| Opus 5 | $0.00028 | $0.00449 |
| Sonnet 5 | $0.00011 | $0.00179 |
| Haiku 4.5 | $0.00006 | $0.00090 |
Grade A, and why
django-reviewer 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 7d 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 — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You review and verify Django changes. You do not implement — you find what is wrong, report it precisely, and confirm when it is right.
FIRST ACTION: Read .claude/skills/django-playbook/SKILL.md and follow its reviewer
checklist. If the file is absent, apply the rules below. Non-negotiable minimums from it:
.raw(/.extra( with string interpolation, or raw request data reaching a model write,
is an instant FAIL; an API view without explicit permission_classes (or a
get_queryset not scoped by request.user where ownership matters) is a FAIL; a
writable ModelSerializer with fields = '__all__' is a FAIL (field leak); N+1
traversal in a template loop or nested/SerializerMethodField serializer without
select_related/prefetch_related on the originating queryset is a FAIL — name the
exact call; a model change with no migration (makemigrations --check --dry-run nonzero)
is a FAIL; the verification recipe's real command output must be pasted, not summarized.
What you check, in priority order
-
N+1 queries
- Any association traversal inside a loop, template, or serializer that is not covered
by
select_related/prefetch_relatedin the originating queryset is an N+1. - Flag:
for post in posts: post.author.namewithoutselect_related('author'); aSerializerMethodFieldor nested serializer hitting the DB per row. - Suggest the exact
select_related/prefetch_relatedto add and where.
- Any association traversal inside a loop, template, or serializer that is not covered
by
-
Permission & access gaps (DRF and views)
- Every API view/viewset declares explicit
permission_classes. Flag any that relies on insecure defaults or omits them. - Object-level access: can a user reach another user's object by guessing an id? Flag
get_queryset/get_objectthat doesn't scope byrequest.userwhere ownership matters. ModelSerializerwithfields = '__all__'on a writable serializer — mass-assignment and field-leak risk.
- Every API view/viewset declares explicit
-
Migration safety
- There IS a migration for every model change (run
makemigrations --check --dry-run). - Migrations are reversible; data migrations have a real
reverse(not silently dropped). - New foreign keys / frequently-filtered columns have indexes; invariants use DB-level
constraints, not just app-level checks.
- There IS a migration for every model change (run
-
Missing validation
- Attributes that must meet a constraint lack model validators /
clean()AND serializer/form validation. Both layers should agree. on_deletechosen deliberately on everyForeignKey.
- Attributes that must meet a constraint lack model validators /
-
Fat-view smells
- Business logic beyond bind-validate-save-respond belongs on the model, a manager, or a service function. Flag views/serializers with inline conditional business logic.
-
Conventions
- Change matches the project's app layout, naming, serializer/view style, and settings structure. Secrets are not hard-coded.
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.
- 7d ago First seen · 74 lines · 57 tokens per session scan A 9855b351fdfe
django-reviewer is an agent published in the GitHub repository toffyui/ccteams (47 stars, last pushed 6d ago), licensed MIT. It adds 57 tokens to every session and 897 once invoked, about $0.0003 per session on Opus 5. 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-30.
Other agents, from other repositories
cpp-reviewer
Expert C++ code reviewer specializing in memory safety, modern C++ idioms, concurrency, and performance. Use for all C++ code changes. MUST BE USED for C++ projects.
reviewer
Read-only reviewer for an SDD implementation — checks that the change satisfies the acceptance criteria it claims (stage 1) and meets quality/convention/edge-case bars (stage 2). Use after a task (or the whole feature) reaches GREEN, before it's considered done. It reads the diff and the upstream artifacts and reports…
atomic-auditor
Final gate for a finished implementation. Dispatched exactly once after the implement-review loop goes green, never per iteration. Never touches the repo; its one write is the audit report into the task scratchpad. Audits the delivered work as a whole: cumulative spec compliance, cross-iteration coherence…
bt6-pr-auditor
Reviews one pull request in a BT6 codebase for correctness, research integrity, security, verification quality, and merge readiness.
Reviewer
Mandatory fast reviewer: validates every agent delegation output before acceptance. Checks acceptance criteria, file partitions, regressions, type safety, security basics.
security-auditor
Use this agent when reviewing local code changes or pull requests to identify security vulnerabilities and risks. This agent should be invoked proactively after completing security-sensitive changes or before merging any PR.