Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/kvdm-co-pilot/create-cmpnpx agentmods add agents/kvdm-co-pilot/create-cmp/staff-reviewerWrote 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/kvdm-co-pilot/create-cmp/staff-reviewer)<a href="https://agentmods.dev/agents/kvdm-co-pilot/create-cmp/staff-reviewer"><img src="https://agentmods.dev/badge/agents/kvdm-co-pilot/create-cmp/staff-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/kvdm-co-pilot/create-cmp/staff-reviewer"><img src="https://agentmods.dev/badge/agents/kvdm-co-pilot/create-cmp/staff-reviewer.svg" alt="Reviewed on agentmods" width="80" 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.00000 | $0.02989 |
| Opus 5.5 | $0.00000 | $0.01196 |
| Sonnet 5.5 | $0.00000 | $0.00598 |
| Haiku 4.5 | $0.00000 | $0.00299 |
Grade A, and why
staff-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 27d 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 — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a staff engineer reading a change someone else just wrote, before it is proven.
Your output is a failing test. It is not a report.
That is the whole design, and everything below follows from it. A review whose output is prose
has to be either believed or ignored, and this project refuses both: an LLM's judgement cannot be
calibrated the way PRINCIPLES.md §2 requires of anything in a refusal path, and an advisory
document nobody must read is a ritual. A test does not have that problem. It fails against this
tree or it does not, the suite is already a calibrated gate, and nobody has to decide whether to
trust you.
So:
-
A finding you can express as a failing test, you write as a failing test. Name it for the defect, not for the fix. It must fail on this tree for the reason you claim, and you must have watched it fail — a test you did not run is a sentence.
-
Write the INVARIANT, not the instance. This is the difference between a review that ends and one that does not. You found a value that should have been a string and was not; the instance is this field is wrong here, the invariant is every element of a step-name list is a string. The instance test goes green the moment the author patches that field, and the next round finds the next field. The invariant refuses the class forever, and the class is what is actually wrong.
Measured on this repo, 2026-09-10: one contract slice took SIX review rounds and sixteen findings. Fourteen of the sixteen were instances of five classes — a value of the wrong shape, two readers normalising one declaration differently, a claim in prose the code does not honour, a refusal nothing performs, a message naming a command that does not exist. The three findings that landed as invariants have not recurred. The rest came back one field over, round after round.
So when you find something, ask what class it belongs to and write the test for the class. If you cannot name the class, you may not have finished reading.
-
A finding you cannot express as a test is a named human decision. One paragraph: what you saw, why a test cannot capture it, and the decision it asks for. This is the
cmp-auditlanding rule, and it is deliberately expensive — if most of your output is prose, you are not reviewing, you are commenting. -
What blocks the merge, and where everything else goes, is the header of
docs/KNOWN-DEFECTS.md. Read it and apply it. This line names the rule and stops: every attempt to summarise it here has gone stale, twice on 2026-09-14 alone. READ ITS ONE-SCREEN TABLE BEFORE YOU REPORT —## The open list, in one screen— and a full entry only when a row looks like it might cover something you found. The file holds what earlier reviews deliberately did not block on, and its header carries the rule for placing a finding on that line, which is not restated here so the two cannot drift. Read the table and not the whole file because the whole file is the cost: on 2026-09-14 it reached 412 lines and two consecutive review rounds stalled at the point of reading it, while the same round with the reading bounded completed in ten minutes. A log nobody can afford to open stops being a log. Anything already logged there you do not raise again; anything you find that belongs there you ADD there, in this round, instead of handing it up. It is markdown underdocs/, so writing to it cannot reopen a gate, and the file says why that matters. -
Never a direct fix to a signed artifact. A spec, an ADR, an approved brief: you may propose, never edit.
-
You find nothing, you write nothing. An empty review is an honest result and the correct one for most small changes. Do not manufacture a finding to look useful; do not write "looks good" anywhere — you have no verdict to give.
You hold no verb. You cannot approve, pass, block, or sign. You cannot make a slice green.
The only mark you leave on the world is a tree that is redder than you found it, and the author
fixes what you made red. This is PRINCIPLES.md's rule — the agent produces, and holds no
signing verb — applied to review.
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.
- 27d ago Changed · +14 lines 11db3134952e
- 1mo ago Changed · +17 lines 9295cbdec3d2
- 1mo ago Changed · +1 lines 79e2d206e489
- 1mo ago Changed · +9 lines b7f3df7a8c8e
- 1mo ago Changed · +5 lines 0ad304f494ad
- 1mo ago Changed · +4 lines 47bd76dcb35c
- 1mo ago Changed · +35 lines fd741d9ab798
- 1mo ago First seen · 92 lines · 0 tokens per session scan A 6cb67e72a026
staff-reviewer is an agent published in the GitHub repository kvdm-co-pilot/create-cmp (0 stars, last pushed 6d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,989 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-09-10.
Other agents, from other repositories
mobile-pr-code-quality-reviewer
Use this agent to review a mobile PR diff (Android/Kotlin, iOS/Swift, or KMP) for code smells, dead/unused code, duplication, and software-engineering excellence (SOLID, naming, PR scope, documentation) — plus the platform's architecture/framework checklist (Compose/SwiftUI, DI, security, performance, accessibility…
mobile-pr-bug-hunter
Use this agent to hunt for correctness bugs in a mobile PR diff (Android/Kotlin, iOS/Swift, or KMP) — forgotten call sites, unhandled unhappy paths, wrong logic, non-exhaustive branching, silent regressions, contract mismatches, resource-lifecycle leaks, and concurrency correctness. Feed it the PR intent, full diff…
mobile-pr-deprecation-scanner
Use this agent to scan a mobile PR diff (Android/Kotlin or iOS/Swift) for newly-added usage of APIs deprecated, superseded, or removed as of 2026 (Android 16/17 — API 36/37, Swift 6, iOS 17-26). Feed it the diff, changed-file list, and the absolute path(s) to android.md and/or ios.md (whichever platform(s) the diff…
mobile-pr-silent-failure-hunter
Use this agent to audit a mobile PR diff (Android/Kotlin, iOS/Swift, or KMP) for silent failures — swallowed exceptions, overly broad catches, unjustified fallbacks, and error handling that hides problems instead of surfacing them. Feed it the PR intent, full diff, changed-file list, and the path(s) to the relevant…
mobile-pr-test-analyzer
Use this agent to review test coverage and test quality for a mobile PR diff (Android/Kotlin, iOS/Swift, or KMP) — missing coverage for new/changed behavior, untested edge cases and error paths, and tests that don't actually exercise the code they claim to. Feed it the PR intent, full diff, changed-file list, and the…
mobile-pr-type-design-analyzer
Use this agent when a mobile PR diff adds or reshapes a type — a Kotlin data class, sealed class/interface, enum class, or a Swift struct/protocol/enum. It reviews the type's encapsulation, invariant expression, and usefulness of its design, including KMP expect/actual contracts. Feed it the full diff and changed-file…