/review
Review how an implementation diverged from its approved plan. Forks a clean-context agent over the plan and the diff to surface requirements drift and warranted follow-ups. Use at finish time or before opening a PR.
$ npx -y skills add bendrucker/claude --skill review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/review
Context preview
The summary Claude sees to decide when to auto-load this skill.
Review how an implementation diverged from its approved plan. Forks a clean-context agent over the plan and the diff to surface requirements drift and warranted follow-ups. Use at finish time or before opening a PR.
SKILL.md
review.SKILL.mdname: plan:review
description: >-
Review how an implementation diverged from its approved plan. Forks a
clean-context agent over the plan and the diff to surface requirements drift
and warranted follow-ups. Use at finish time or before opening a PR.
allowed-tools:
- Agent
Plan Review
Compare what shipped against the plan that was approved. Surface where the implementation drifted and what follow-ups that warrants.
The review runs in a forked agent with a clean context. An implementing session accumulates a justification for every departure as it happens, so drift goes unseen from inside it. A reviewer handed only the plan and the diff judges the delta cold. That outside view is the point: re-emphasizing the same prompt in the implementing context would not substitute for it.
Fork the Review
Claude Code writes the approved plan to a file under `~/.claude/plans/` and injects that file's path into the session when plan mode exits. That file is the plan. Use the path already in this session's context. If none was injected, the session built against no approved plan and there is nothing to review: say so and stop.
Dispatch a background `general-purpose` Agent. Never `fork`: a fork inherits this session's context and defeats the outside view. The agent starts clean and has no idea where this skill lives, so hand it absolute paths: the plan file, and the rubric `references/divergence.md` resolved against this skill's base directory (that directory is in your context). A bare relative path resolves against the repo root in the agent's context and misses. Tell it to:
- read the plan file.
- work out the base branch this change targets, then diff what shipped against it. The branch's open PR is authoritative (`gh pr view --json baseRefName -q .baseRefName`). With no PR yet, fall back to the repository default (`gh repo view --json defaultBranchRef -q .defaultBranchRef.name`). Don't assume `main`: a stacked branch targets its parent. Capture both committed and uncommitted work: `git diff <base>...HEAD`, plus `git diff HEAD` and `git status --short` for anything not yet committed. The review can run mid-implementation, so uncommitted changes are in scope.
- read the rubric it was handed, and return the report that rubric asks for.
Run it on a cheaper model when one is set. The review reasons over two documents, so it does not need the top tier.
Report
Relay the agent's report: the divergences and their classification, the drift, the ranked follow-ups (fix-before-merge against later), and the verdict. Add nothing of your own. The value is the outside view, not a second opinion filtered back through this context.
Read more
name: plan:review description: >- Review how an implementation diverged from its approved plan. Forks a clean-context agent over the plan and the diff to surface requirements drift and warranted follow-ups. Use at finish time or before opening a PR. allowed-tools: - Agent
Plan Review
Compare what shipped against the plan that was approved. Surface where the implementation drifted and what follow-ups that warrants.
The review runs in a forked agent with a clean context. An implementing session accumulates a justification for every departure as it happens, so drift goes unseen from inside it. A reviewer handed only the plan and the diff judges the delta cold. That outside view is the point: re-emphasizing the same prompt in the implementing context would not substitute for it.
Fork the Review
Claude Code writes the approved plan to a file under `~/.claude/plans/` and injects that file's path into the session when plan mode exits. That file is the plan. Use the path already in this session's context. If none was injected, the session built against no approved plan and there is nothing to review: say so and stop.
Dispatch a background `general-purpose` Agent. Never `fork`: a fork inherits this session's context and defeats the outside view. The agent starts clean and has no idea where this skill lives, so hand it absolute paths: the plan file, and the rubric `references/divergence.md` resolved against this skill's base directory (that directory is in your context). A bare relative path resolves against the repo root in the agent's context and misses. Tell it to:
- read the plan file.
- work out the base branch this change targets, then diff what shipped against it. The branch's open PR is authoritative (`gh pr view --json baseRefName -q .baseRefName`). With no PR yet, fall back to the repository default (`gh repo view --json defaultBranchRef -q .defaultBranchRef.name`). Don't assume `main`: a stacked branch targets its parent. Capture both committed and uncommitted work: `git diff <base>...HEAD`, plus `git diff HEAD` and `git status --short` for anything not yet committed. The review can run mid-implementation, so uncommitted changes are in scope.
- read the rubric it was handed, and return the report that rubric asks for.
Run it on a cheaper model when one is set. The review reasons over two documents, so it does not need the top tier.
Report
Relay the agent's report: the divergences and their classification, the drift, the ranked follow-ups (fix-before-merge against later), and the verdict. Add nothing of your own. The value is the outside view, not a second opinion filtered back through this context.
My personal plugin marketplace for Claude Code, Anthropic's AI coding assistant.
Repo: bendrucker/claude
Other skills on bendrucker-claude.
- /agent-ideas
Harvest agent-tooling ideas from prominent developers.
Open skill - /cleye
Type-safe CLI argument parsing with cleye, the standard parser for this repo's Bun scripts. Use when writing or editing any script that takes arguments (flags, positional parameters, subcommands, --help) instead of reading existing scripts for the pattern.
Open skill - /coverage
Measure Bun test coverage and close gaps on a specific file. Use when adding or editing tests, when asked about coverage, or when the PostToolUse coverage hook reports uncovered lines.
Open skill - /activity
Report real device usage from ActivityWatch. Covers per-app time, window titles, and active vs idle spans. Use when asked "what apps did I use", "how long was I in X", "what did I work on today", "how much was I active vs idle", or to mine usage patterns for automation.
Open skill - /history
Report shell history from atuin's local capture. Covers what commands ran, when, where, and how they exited. Use when asked "what commands did I run", "what was I working on in the terminal", "have I ever run X", "how do I usually invoke X", or about recent shell activity,
Open skill - /bun
Bun runtime patterns. Use when running bun commands, working with package.json/bun.lock, writing TypeScript scripts under Bun, or developing Claude Code plugins.
Open skill

