plan-code-review

plan-code-review is an agent for Claude Code from anilcancakir/claude-code. It costs 36 tokens per session (2,791 once invoked), scanned A, original, MIT.

A read-only review agent that checks whether an implementation matches a written coding plan. It examines the plan and changed files, then reports either approval or findings that block approval.

In plain words
What is it for?
Use it after implementing a normal-sized plan to review compliance, specification details, code quality, and opportunities to simplify the result.
Why use it?
It catches missing, incomplete, disconnected, or out-of-scope work before the change is accepted. It also checks required exclusions and the plan's stated requirements.

Agent for Claude Code

Written for Claude Code: effort in frontmatter. Also seen: model in frontmatter; mentions CLAUDE.md; names the NotebookEdit tool.

Part of the ac plugin — 10 skills, 3 commands, 11 agents, 5 hooks, 1 MCP server shipped together

Good fit Use it after implementing a normal-sized plan to review compliance, specification details, code quality, and opportunities to simplify the result.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/anilcancakir/claude-code/plan-code-review
Install

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.

Clone the repo
git clone --depth 1 https://github.com/anilcancakir/claude-code

Made for: Claude Code.

Or install ac, the plugin that ships this one along with the rest of its 10 skills, 3 commands, 11 agents, 5 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 plan-code-review

README.md
[![agentmods](https://agentmods.dev/badge/agents/anilcancakir/claude-code/plan-code-review/github.svg)](https://agentmods.dev/agents/anilcancakir/claude-code/plan-code-review)
Your own site
<a href="https://agentmods.dev/agents/anilcancakir/claude-code/plan-code-review"><img src="https://agentmods.dev/badge/agents/anilcancakir/claude-code/plan-code-review/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 plan-code-review

Your own site · 80×15
<a href="https://agentmods.dev/agents/anilcancakir/claude-code/plan-code-review"><img src="https://agentmods.dev/badge/agents/anilcancakir/claude-code/plan-code-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 36 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,791 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.00036 $0.02791
Opus 5.5 $0.00014 $0.01116
Sonnet 5.5 $0.00007 $0.00558
Haiku 4.5 $0.00004 $0.00279

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

Security

Grade A, and why

plan-code-review 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 22d 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.

plugins/ac/agents/plan-code-review.md · 238 lines

How it starts

The opening of the file, as written. The whole thing — 238 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You do not return a verdict. You run once, you report, and the orchestrator decides what to fix, what to defer, and what to record. It is a better filter than you are, because it holds the plan, the wave history and the wisdom file while you hold only what your prompt named.

Report every issue you find that could cause incorrect behaviour, a test failure, or a misleading result, including ones you are unsure about. Do not filter for importance: rate each finding instead, with a severity (CRITICAL / IMPORTANT / MINOR) and a confidence (0-100), tagging anything under 80 with [confidence: N]. A reviewer told to be conservative reports less, and less is how a defect that needed real data to see survives a pass that had every chance to name it.

Omit only what is genuinely not a defect: a style or naming preference for which neither the codebase nor my-coding declares a rule.

Plan plus modified files. Adjacent unmodified code is out of scope except for the caller-impact check, where finding callers is the whole point.

You are read-only. You verify; you do not revise.

<input_contract> Your prompt carries a Plan: path, a Modified files: list and a Wisdom: path. Read all three: the wisdom file records what earlier waves learned and what the orchestrator had to remediate, which is context for judging whether a pattern you see is drift or a deliberate correction.

An empty modified-files list means nothing shipped and there is nothing to review. Report that in one line and stop, rather than reviewing the plan against an unchanged tree. </input_contract>

Stage 1: Compliance

For each step's Done when, verify the claim against the codebase at three levels.

Level Check Skip when
L1 Exists File exists, non-empty, expected identifiers present (Glob + Read) Never
L2 Substantive No stubs: grep TODO, FIXME, not implemented, empty bodies, pass, raise NotImplementedError, throw new Error('TODO') Never
L3 Wired At least one import, require or use of the file or its exports (LSP findReferences or Grep) Config, tests, scripts, entry points

Stop at the first failure: L1 fail is UNMET, L2 fail is UNMET (stub), L3 fail is UNMET (unwired). All three pass is MET.

Must NOT Have: for each forbidden pattern in the plan's section, search the modified files and report every match with file_path:line_number, one finding each.

Scope fidelity: verify each file the plan declared was actually modified, and flag any modified file the plan did not declare. That is scope creep.

Stage 1 failures are CRITICAL.

Read the full file on GitHub · 238 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. 22d ago Changed · +4 tokens per session 558d70a2d37f
  2. 1mo ago Changed · +128 lines · -137 tokens per session e5dcfaecfcd8
  3. 1mo ago First seen · 110 lines · 169 tokens per session scan A d4e42922afc0

Subscribe to this mod's changes

plan-code-review is an agent published in the GitHub repository anilcancakir/claude-code (3 stars, last pushed today), licensed MIT. It adds 36 tokens to every session and 2,791 once invoked, about $0.0001 per session on Opus 5.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-31.

Related

Other agents, from other repositories

reflection-judge

Post-processes reflect candidates — validates that cross-session evidence citations actually exist in normalized task records before proposals or micro-approvals are queued. Returns ACCEPT | DOWNGRADE: | SUPPRESS per observation.

gtapps/claude-code-hermit · 47 tokens

symfony-security-auditor

Read-only security audit of Symfony authentication and authorization: firewalls, accesscontrol, voters, API Platform security, rate limiting, CSRF, password hashing, and input validation. Use proactively after changes to security.yaml, voters, controllers, forms, or API resources.

dev-toolings/superpowers-symfony · 60 tokens

code-simplifier

Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Applies safe local simplifications (local renames, dead code, unnecessary nesting) directly and proposes structural changes for approval. Focuses on recently modified code unless instructed otherwise; not for…

oprogramadorreal/optimus-claude · 66 tokens

ccf-spec-checker

Use when /ccf:check reviews a finished implementation. Fresh-context reviewer that checks an implementation against the CCF spec — conformance, conventions, SOLID/OOP, spec drift, BE↔FE consistency. Read-only, returns findings with file:line, does NOT fix code. Invoked by /ccf:check, never for coding.

naniiluja/ccf · 78 tokens

code-reviewer

Use this agent to review pull request diffs for code quality, correctness, security, and best practices. Invoke when a PR is created and needs review before merge. Context: An issue PR has been created targeting the feature branch. assistant: "I'll use the code-reviewer agent to review this PR." Context: A feature PR…

skullninja/coco-workflow · 127 tokens

ccf-scope-checker

Use when /ccf:check reviews a finished task and needs its diff compared against the declared scope. Fresh-context SCOPE reviewer run by /ccf:check in parallel with ccf-spec-checker - checks only whether the diff matches the task's declared scope (files outside Files to touch, criteria with no matching change, changes…

naniiluja/ccf · 119 tokens