diff-review

diff-review is a command for Claude Code from NikiforovAll/claude-code-rules. It costs 16 tokens per session (1,729 once invoked), scanned A, a copy of diff-review, Apache-2.0.

A command that creates a visual HTML review of code changes, comparing the before and after architecture and adding code-review analysis. It can inspect working-tree changes, commits, branches, pull requests, or commit ranges.

In plain words
What is it for?
Use it to review uncommitted changes, a commit, a branch, a pull request, or the difference between two commits.
Why use it?
It gives a single browser page for understanding what changed and how the system's structure was affected. This is easier to scan than raw version-control output alone.

Command for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Part of the handbook-visual-explainer plugin — 1 skill, 7 commands shipped together

Good fit Use it to review uncommitted changes, a commit, a branch, a pull request, or the difference between two commits.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/nikiforovall/claude-code-rules/diff-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/NikiforovAll/claude-code-rules

Made for: Claude Code.

Or install handbook-visual-explainer, the plugin that ships this one along with the rest of its 1 skill, 7 commands.

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 diff-review

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

Your own site · 80×15
<a href="https://agentmods.dev/commands/nikiforovall/claude-code-rules/diff-review"><img src="https://agentmods.dev/badge/commands/nikiforovall/claude-code-rules/diff-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 16 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,729 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 89% copy Near-identical to another mod 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.00016 $0.01729
Opus 5 $0.00008 $0.00864
Sonnet 5 $0.00003 $0.00346
Haiku 4.5 $0.00002 $0.00173

Measured yesterday against content hash b468f9da6083, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-22, from the pricing page.

Security

Grade A, and why

diff-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 yesterday.

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.

Origin

This is a copy

89% identical to diff-review — 58 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

plugins/handbook-visual-explainer/commands/diff-review.md · 65 lines

How it starts

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

Load the visual-explainer skill, then generate a comprehensive visual diff review as a self-contained HTML page.

Follow the visual-explainer skill workflow. Read the reference template, CSS patterns, and mermaid theming references before generating. Use a GitHub-diff-inspired aesthetic with red/green before/after panels, but vary fonts and palette from previous diagrams.

Scope detection — interpret the requested scope, ignoring any --flags (those are the skill's, per its Arguments table): $ARGUMENTS

  • Branch name (e.g. main, develop): working tree vs that branch
  • Commit hash: that specific commit's diff (git show <hash>)
  • HEAD: uncommitted changes only (git diff and git diff --staged)
  • PR number (e.g. #42): gh pr diff 42
  • Range (e.g. abc123..def456): diff between two commits
  • No argument: default to main

Data gathering phase — run these first to understand the full scope:

  • git diff --stat <ref> for file-level overview
  • git diff --name-status <ref> -- for new/modified/deleted files (separate src from tests)
  • Line counts: compare key files between <ref> and working tree (git show <ref>:file | wc -l vs wc -l)
  • New public API surface: grep added lines for exported symbols, public functions, classes, interfaces (adapt the pattern to the project's language — export/function/class/interface for TS/JS, def/class for Python, func/type for Go, etc.)
  • Feature inventory: grep for new actions, keybindings, config fields, event types on both sides
  • Read all changed files in full — include surrounding code paths needed to validate behavior
  • Check whether CHANGELOG.md has an entry for these changes
  • Check whether README.md or docs/*.md need updates given any new or changed features
  • Reconstruct decision rationale: if this work was done in the current session, mine the conversation for approaches discussed, alternatives rejected, and trade-offs made. Check for progress docs (~/.agent/memory/{project}/progress.md, ~/.pi/agent/memory/{project}/progress.md) or plan files that may contain reasoning. For committed changes, read commit messages and PR descriptions.

Verification checkpoint — before generating HTML, produce a structured fact sheet of every claim you will present in the review:

  • Every quantitative figure: line counts, file counts, function counts, test counts
  • Every function, type, and module name you will reference
  • Every behavior description: what code does, what changed, before vs. after
  • For each, cite the source: the git command output that produced it, or the file:line where you read it Verify each claim against the code. If something cannot be verified, mark it as uncertain rather than stating it as fact. This fact sheet is your source of truth during HTML generation — do not deviate from it.

Diagram structure — the page should include:

  1. Executive summary — not just a dry before/after. Lead with the intuition: why do these changes exist? What problem were they solving, what was the core insight? Then the factual scope (X files, Y lines, Z new modules). Aim for "aha moment" clarity — a reader who only sees this section should understand the essence of the change. Visual treatment: this is the visual anchor — use hero depth (larger type 20-24px, subtle accent-tinted background, more padding than other sections).
  2. KPI dashboard — lines added/removed, files changed, new modules, test counts. Include a housekeeping indicator: whether CHANGELOG.md was updated (green/red badge) and whether docs need changes (green/yellow/red).
  3. Module architecture — how the file structure changed, with a Mermaid dependency graph of the current state. Wrap in .mermaid-wrap with the standard zoom controls — see "Zoom Controls" in css-patterns.md.
  4. Major feature comparisons — side-by-side before/after panels for each significant area of change (UI, data flow, API surface, config, etc.).
  5. Flow diagrams — Mermaid flowchart, sequence, or state diagrams for any new lifecycle/pipeline/interaction patterns. Same zoom controls and click-to-expand as section 3.
  6. File map — full tree with color-coded new/modified/deleted indicators. Visual treatment: compact — consider <details> collapsed by default for pages with many sections.
  7. Test coverage — before/after test file counts and what's covered
  8. Code review — structured Good/Bad/Ugly analysis of the changes:
    • Good: Solid choices, improvements, clean patterns worth calling out
    • Bad: Concrete issues — bugs, regressions, missing error handling, logic errors
    • Ugly: Subtle problems — tech debt introduced, maintainability concerns, things that work now but will bite later
    • Questions: Anything unclear or that needs the author's clarification
    • Use styled cards with green/red/amber/blue left-border accents matching the diff color language. Each item should reference specific files and line ranges. If nothing to flag in a category, say "None found" rather than omitting the section.
  9. Decision log — for each significant design choice in the diff, a styled card with:
    • Decision: one-line summary of what was decided (e.g., "Promise-based deferred resolution instead of event emitters for cleanup signaling")
    • Rationale: why this approach — constraints, trade-offs, what it enables. Pull from conversation context if available, infer from code structure if not.
    • Alternatives considered: what was rejected and why, if recoverable
    • Confidence: whether this rationale was explicitly discussed (high — sourced from conversation/docs) or inferred from the code (medium — flagged as inference). Low confidence means the rationale couldn't be recovered at all.
    • Visual treatment by confidence level — use left-border accent colors consistent with the diff color language: High (sourced from conversation/docs): green left border. Medium (inferred from code): blue left border, labeled "inferred." Low (not recoverable): amber left border, "rationale not recoverable — document before committing" warning. Low-confidence cards are cognitive debt hotspots — tell the user to document the reasoning before committing.
  10. Re-entry context — a concise "note from present-you to future-you" covering the following. Visual treatment: compact — consider <details> collapsed by default for pages with many sections.
  • Key invariants: assumptions the changed code relies on that aren't enforced by types or tests (e.g., "cleanup must be called before session switch or artifacts leak")
  • Non-obvious coupling: files or behaviors that are connected in ways that aren't visible from imports alone (e.g., "the feed renderer reads events written by the overlay — changing the event schema requires updating both")
  • Gotchas: things that would surprise someone modifying this code in two weeks. Edge cases, ordering dependencies, implicit contracts.
  • Don't forget: if the changes require follow-up work (migration, config update, docs), list it here.

Read the full file on GitHub · 65 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. yesterday First seen · 65 lines · 16 tokens per session scan A b468f9da6083

Subscribe to this mod's changes

diff-review is a command published in the GitHub repository NikiforovAll/claude-code-rules (141 stars, last pushed 2d ago), licensed Apache-2.0. It adds 16 tokens to every session and 1,729 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to diff-review, differing in 58 lines, and is treated as a copy.