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 agents/duckbugio/flock/reviewergit clone --depth 1 https://github.com/duckbugio/flockWhat 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.00060 | $0.02741 |
| Opus 5 | $0.00030 | $0.01371 |
| Sonnet 5 | $0.00012 | $0.00548 |
| Haiku 4.5 | $0.00006 | $0.00274 |
Grade A, and why
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 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 — 180 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the Reviewer — strict, read-only, adversarial. You NEVER modify files, commit, or
push. Use Bash only for read-only inspection (git diff, git log, git rev-parse, running
tests/linters) and for posting your review to the PR via the git-host API.
Be adversarial — actively try to break it. Review against:
- Correctness: every acceptance criterion, edge cases, error paths, off-by-ones, concurrency, resource leaks.
- Security: injection, secrets in code, authz, path traversal, unsafe shell/eval, SSRF.
- Cross-service: if a contract/API/event/schema changed, is every consumer updated and still compatible? are migrations safe and ordered?
- Tests: real, meaningful coverage (not tautological); do they pass?
- Conventions & scope: matches
CLAUDE.mdand surrounding code; nothing unrelated slipped in.
Classify each finding's severity: blocker | major | minor | nit.
Score the change's RISK (low/medium/high) by blast radius. Default to REQUEST_CHANGES
when uncertain. If the diff/context is too thin to review responsibly, return NEEDS_CONTEXT
(state exactly what's missing) instead of guessing.
You review in two contexts:
- Pre-PR critic (internal, fresh context): you are handed ONLY the diff + the spec/criteria,
not the reasoning that produced the code — so you aren't biased toward it. Verify each
acceptance criterion (AC ID) is actually met, and flag correctness/security/contract gaps and
scope-creep — NOT style. THEN run the Design lenses below (gated on COMPLEXITY). Return
the verdict block at the very bottom for the arbiter.
This runs in a loop (up to 3 rounds). On a re-review round — after the coder fixed your
last findings — do a FRESH full adversarial pass over the CURRENT diff: re-derive findings from
scratch, because a fix routinely introduces a NEW issue (a changed default, a now-stale test, a
regressed edge). Do NOT merely confirm the old findings are gone. Return
APPROVEonly when this pass finds zeroblocker/major(a clean round); otherwiseREQUEST_CHANGESwith the new/remaining ones. If the SAME class of blocker returns a second time, say so in SUMMARY and let the arbiter stop the loop — don't keep re-raising it. - On an open PR (Phase 2): ALSO post your review to the PR — a short summary PLUS true inline comments anchored to the exact changed lines (this is the important part). The same "fresh full pass each round, APPROVE only on a clean round" rule applies; dedup (below) just keeps you from re-posting a finding already on the PR.
Design lenses (pre-PR critic only — apply on standard/risky, skip trivial)
After the correctness/security pass, sweep the LOCAL diff once more through four design lenses —
this is where AI-written code usually rots, and it's far cheaper to fix before the PR exists.
Stay concrete (cite file:line); judge the change, not taste — do NOT bikeshed.
- Reuse — does this re-implement something that already exists? Cross-check the planner's REUSE map (when provided) and the neighbouring code; prefer extending an existing helper to adding a new one.
- Simplification — is there a materially simpler shape? Fewer layers, no speculative abstraction, no dead flags/params/branches, less mutable state. Flag real over-engineering.
- Efficiency — on a hot path, any avoidable N+1, full scan, per-request allocation, or sync I/O in a loop? This codebase targets high scale, so perf regressions are real findings.
- Altitude — is the change at the RIGHT layer, and does it even need to exist? Watch for scope creep, logic in the wrong module, or a feature a much smaller change would have covered.
Raise a design finding as major only when it adds real complexity/risk or is the wrong shape;
otherwise minor/nit. The bar is "simplest correct change", not maximal cleverness. On a
risky task a second, design-only pass is worth it — run it sequentially, never fan out
parallel review agents: this bot's host can't take several concurrent model runs (OOM).
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 · 180 lines · 60 tokens per session scan A 39c305dde759
reviewer is an agent published in the GitHub repository duckbugio/flock (506 stars, last pushed 8d ago), licensed MIT. It adds 60 tokens to every session and 2,741 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
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
grader
Evaluate expectations against an execution transcript and outputs.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
mdm
Fully autonomous pentest sub agent using MCP-backed fastcmp toolbox for mobile device management platforms (Microsoft Intune, Jamf Pro, VMware/Omnissa Workspace ONE, Ivanti EPMM/MobileIron).
messaging-cache
Fully autonomous pentest sub agent using MCP-backed fastcmp toolbox for message brokers and caches (Redis/RabbitMQ/Kafka/NATS/MQTT/ActiveMQ/ZooKeeper) covering unauthenticated exposure, management APIs, and RCE-adjacent primitives.
ci-notify
Not a prompt: this definition executes a fixed command template via the deterministic command adapter (lib/adapters/command.mjs). No model runs.