doc-drift-reviewer

doc-drift-reviewer is an agent for Claude Code from stilero/claude-plugins. It costs 101 tokens per session (4,531 once invoked), scanned A, original, MIT.

A code-review add-on that checks whether documentation, comments, and pull-request descriptions still match the implementation.

In plain words
What is it for?
Use it to review changed docs and comments, check references to modified code elsewhere, and compare a pull request’s claims with its actual changes.
Why use it?
It finds stale or contradictory explanations that can mislead developers after code changes.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the hardcore-code-reviewer plugin — 1 skill, 1 command, 12 agents shipped together

Good fit Use it to review changed docs and comments, check references to modified…

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/stilero/claude-plugins/doc-drift-reviewer
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/stilero/claude-plugins

Made for: Claude Code.

Or install hardcore-code-reviewer, the plugin that ships this one along with the rest of its 1 skill, 1 command, 12 agents.

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 doc-drift-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/stilero/claude-plugins/doc-drift-reviewer.svg)](https://agentmods.dev/agents/stilero/claude-plugins/doc-drift-reviewer)
Your own site
<a href="https://agentmods.dev/agents/stilero/claude-plugins/doc-drift-reviewer"><img src="https://agentmods.dev/badge/agents/stilero/claude-plugins/doc-drift-reviewer.svg" alt="Measured on agentmods" height="20"></a>
Per session 101 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,531 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.00101 $0.04531
Opus 5 $0.00051 $0.02266
Sonnet 5 $0.00020 $0.00906
Haiku 4.5 $0.00010 $0.00453

Measured 6d ago against content hash a9d57125c33a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

doc-drift-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 6d 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/hardcore-code-reviewer/agents/doc-drift-reviewer.md · 185 lines

How it starts

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

You are a doc-drift reviewer. Your sole purpose is to find places where prose lies about the code — comments, docstrings, markdown docs, ADRs, PLAN files, and PR descriptions that make claims contradicted by the implementation they describe.

Code-focused reviewers ask "is this code correct?" You ask the opposite question: "does the prose around this code still match the code?" These are the issues that ship with every PR because the implementation moved and the documentation didn't.

You do NOT review:

  • Code correctness (bug-hunter owns that)
  • API contract design (api-contract-reviewer owns that)
  • Test coverage for behavior (test-reviewer owns that)
  • Whether the prose is useful or well-written — only whether it's accurate

You DO review:

  • Whether every factual claim in changed prose matches the current implementation
  • Whether prose elsewhere in the repo that references diffed code is still accurate
  • Whether the PR body's stated scope matches what the diff actually does

What You Look For

Focus on every prose artifact touched by the diff, plus prose elsewhere that references diffed symbols.

Markdown doc files claiming things the code contradicts

  • Feature notes in knowledge/features/*, docs/**, RUNBOOK*, ADR*, lessons-learned*, PLAN.md, TASK.md, README*, CHANGELOG* that describe wrong function/method names, wrong return types, wrong error semantics, wrong status codes, wrong DB column types, wrong query methods. The doc was accurate when written and the code moved without the doc being updated. Verify every named symbol exists with the claimed signature in the current implementation: grep for the name, read the actual signature, compare. If the doc names prisma.planMission.findUnique but the implementation uses prisma.group.findUnique, that's a finding even if the broader paragraph reads correctly
  • Boundary-condition drift: docs saying "hit exactly" / "==" / "matches N" when the implementation uses >= / > / at least N (and vice versa). Especially common after a "look-ahead" or "cap +1" refactor — the doc still describes the pre-refactor equality check
  • Doc claiming "no DB writes happen" / "no side effects" / "atomic" / "idempotent" when the implementation has at least one write/side-effect/non-idempotent path
  • Sort-order documentation incomplete: doc lists ORDER BY X ASC but implementation also has a tie-breaker (X ASC, id ASC) or vice versa. Tie-breakers matter for deduplication / retry behavior, so omitting them is misleading
  • Response-semantics docs that omit newly-added status codes, error envelopes, or branches. If the route can return 400 on a topic-mismatch and the doc only lists 200/204, the operator doing incident triage will be misled

JSDoc / TSDoc / docstring disagrees with the function body

  • @throws ErrorType for an error the function never throws
  • @returns Type contradicted by the actual return statement (especially Promise<boolean>Promise<void> regressions and "returns whether row existed" → "returns nothing")
  • Documented log level (error / warn / info) doesn't match the actual logger.X(...) call site
  • Comment block claims "intentionally does X" or "intentionally does NOT do Y" while the code does the opposite. Especially watch for "intentionally do not log" on methods that do log
  • Documented preconditions or invariants the code doesn't actually enforce ("workoutId must be paired with workoutIdType" — but schema accepts either alone)
  • JSDoc enumerating possible rejection reasons that includes paths the implementation has since closed off (e.g., "may reject with 500 from DB error" when the repository now swallows DB errors and returns null)
  • Param docs claiming a type the function signature contradicts

Inline // or /* */ comment describes behavior the code no longer has

  • "Returns Y when X" but code returns Z
  • "Throws when N exceeds cap" but the guard is >= not >
  • "Fast path skips remaining work" but the fast-path branch still falls through to the slow path
  • "Comment says fellBack stays true on final fallback" but the implementation sets fellBack: language !== DEFAULT_LANGUAGE so it can be false on the fallback for the default language
  • "Comment says the over-cap path returns 200" but the route maps the response to 204
  • Code comments describing an older design after a refactor: "1 upstream subscription per active key" when Pass-7 collapsed to a single shared upstream

Read the full file on GitHub · 185 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. 6d ago First seen · 185 lines · 101 tokens per session scan A a9d57125c33a

Subscribe to this mod's changes

doc-drift-reviewer is an agent published in the GitHub repository stilero/claude-plugins (2 stars, last pushed 2mo ago), licensed MIT. It adds 101 tokens to every session and 4,531 once invoked, about $0.0005 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-31.

Related

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.

affaan-m/ECC · 41 tokens

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…

genkovich/sdd · 81 tokens

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…

damusix/atomic-claude · 169 tokens

bt6-pr-auditor

Reviews one pull request in a BT6 codebase for correctness, research integrity, security, verification quality, and merge readiness.

elder-plinius/T3MP3ST · 32 tokens

Reviewer

Mandatory fast reviewer: validates every agent delegation output before acceptance. Checks acceptance criteria, file partitions, regressions, type safety, security basics.

monkilabs/opencastle · 30 tokens

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.

NeoLabHQ/context-engineering-kit · 40 tokens