staff-reviewer

staff-reviewer is an agent for Claude Code from kvdm-co-pilot/create-cmp. It costs 0 tokens per session (2,989 once invoked), scanned A, original, MIT.

A code-review agent that reads a change independently and turns defects into tests that should fail, or into clearly named decisions for a person to make.

In plain words
What is it for?
Use it before a change is considered proven, especially to find defects that can be reproduced in automated tests and to flag issues that need human judgement.
Why use it?
It avoids relying on an author's written summary or on review comments that nobody verifies. A failing test gives the project a concrete way to check the finding.

Agent for Claude Code

Written for Claude Code: effort in frontmatter. Also seen: model in frontmatter.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node scripts/proof-plan.mjs --record-review --round <n> --tests "<names you added>" --decisions "<handed up>".

Part of the create-cmp plugin — 18 skills, 4 agents, 3 hooks, 1 MCP server shipped together

Good fit Use it before a change is considered proven, especially to find defects that can be reproduced in automated tests and to flag issues that need human judgement.

Compare 6 agents from other repositories ↓
Install

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.

Clone the repo
git clone --depth 1 https://github.com/kvdm-co-pilot/create-cmp
agentmods
npx agentmods add agents/kvdm-co-pilot/create-cmp/staff-reviewer

Made for: Claude Code.

Or install create-cmp, the plugin that ships this one along with the rest of its 18 skills, 4 agents, 3 hooks, 1 MCP server.

Wrote 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.

agentmods badge for staff-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/kvdm-co-pilot/create-cmp/staff-reviewer/github.svg)](https://agentmods.dev/agents/kvdm-co-pilot/create-cmp/staff-reviewer)
Your own site
<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.

agentmods 80×15 button for staff-reviewer

Your own site · 80×15
<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>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,989 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 27d ago against content hash 11db3134952e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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.

.claude/agents/staff-reviewer.md · 177 lines

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-audit landing 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 under docs/, 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.

Read the full file on GitHub · 177 lines

Changes

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.

  1. 27d ago Changed · +14 lines 11db3134952e
  2. 1mo ago Changed · +17 lines 9295cbdec3d2
  3. 1mo ago Changed · +1 lines 79e2d206e489
  4. 1mo ago Changed · +9 lines b7f3df7a8c8e
  5. 1mo ago Changed · +5 lines 0ad304f494ad
  6. 1mo ago Changed · +4 lines 47bd76dcb35c
  7. 1mo ago Changed · +35 lines fd741d9ab798
  8. 1mo ago First seen · 92 lines · 0 tokens per session scan A 6cb67e72a026

Subscribe to this mod's changes

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.

Related

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…

Abdallah-Abdelazim/mobile-pr-review-plugin · 134 tokens

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…

Abdallah-Abdelazim/mobile-pr-review-plugin · 131 tokens

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…

Abdallah-Abdelazim/mobile-pr-review-plugin · 134 tokens

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…

Abdallah-Abdelazim/mobile-pr-review-plugin · 99 tokens

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…

Abdallah-Abdelazim/mobile-pr-review-plugin · 103 tokens

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…

Abdallah-Abdelazim/mobile-pr-review-plugin · 91 tokens