tobihagemann/review-plan
Review a planning artifact (plan, shells, or spec) by running internal reviews and a peer review in parallel and returning combined findings. Use when the user asks to \"review my plan\", \"review my shells\", \"review my spec\", \"check my plan\", \"check my shells\", \"check my spec\", \"critique my plan\", \"critique my shells\", \"critique my spec\", or wants feedback on a planning artifact.
npx skills add https://github.com/tobihagemann/turbo --skill review-plan
Review a planning artifact against type-specific criteria. Runs internal reviews and /peer-review in parallel by default. Returns combined structured findings.
.turbo/ for existing artifacts. If multiple types exist, pick the one with the most recently modified file..turbo/plans/<slug>.md.turbo/plans/*.md. If exactly one file exists, use it.turbo/plan.md if .turbo/plans/ does not exist.turbo/shells/<slug>-*.md.turbo/specs/*.md. If exactly one, derive slug and glob for shellsFor shells, read each shell file and parse its YAML frontmatter (spec, depends_on). Read the source spec from the spec field.
.turbo/specs/<slug>.md.turbo/specs/*.md. If exactly one, use it.turbo/spec.md if .turbo/specs/ does not existIf multiple candidates exist, pick the most recently modified.
Each artifact type has two reference files, one per internal review:
Skip peer review when instructed (e.g., "without peer review", "no peer", "internal only").
Use the Agent tool to launch all agents below in a single assistant message so they run concurrently. Run them in the foreground so all their results return in this turn. Each Agent call uses model: "opus" and no name. That is three Agent tool calls when peer review is active (two internal + one peer), or two Agent tool calls when peer review is skipped. Every agent's prompt must direct it to treat the shared working tree and its git index as read-only and to assess findings by reading and reasoning. For a check that genuinely requires mutating code (such as testing whether a finding holds), the agent works in an isolated git worktree created under $TMPDIR and discarded afterward. Give that worktree its own dependency install rather than reaching the shared tree's install by any route: removing a worktree deletes through symlinks, and a redirected suite writes into the shared install. When its own install is not possible, the check is left unrun and reported as such. Afterward the agent verifies that git worktree list no longer shows the worktree, that git status --short is clean, and that the shared tree's dependency directory still resolves (a destroyed install leaves git status clean, since it is gitignored). Damage the agent cannot repair is reported with the exact repair command in place of findings.
~/.claude/skills/review-plan/references/<type>-structure-review.md), the output format below, and this directive: read that reference file directly, apply its determination criteria as the bar for a real finding, then report every finding that clears that bar tagged with its priority and with internal (structure). Coverage is the goal at this stage, so surface everything that qualifies and let the priority tags convey severity. The subagent must also return the Overall Verdict block for its dimension.~/.claude/skills/review-plan/references/<type>-scope-review.md) and findings tagged internal (scope)./peer-review via the Skill tool with a request describing: (a) the artifact under review; (b) the criteria live in ~/.claude/skills/review-plan/references/<type>-structure-review.md and ~/.claude/skills/review-plan/references/<type>-scope-review.md for the resolved type from Step 1 — the reviewer should read both files directly and cover every criterion in one single-pass review, applying each file's determination criteria and priority scale to the findings in that file's domain; (c) the Overall Verdict should use the Readiness: <ready | needs revision> label. The prompt must also state explicitly that the subagent's final assistant message must contain the verbatim findings text /peer-review produced.Aggregate findings with attribution (reviewer: "internal" or "peer", each with its "structure" or "scope" dimension). Present them in the output format below.
Then use the TaskList tool and proceed to any remaining task.
Format each finding as:
### [P<N>] <title (imperative, ≤80 chars)>
**Section:** <plan section, shell number(s), or spec section>
**Reviewer:** <internal | peer> (<structure | scope>)
<one paragraph explaining the issue and its impact>
After all findings, place the Overall Verdict block each internal subagent returned for its dimension, then a single combined block for the peer review:
## Overall Verdict: <Structure | Scope>
**Readiness:** <ready | needs revision>
<1-3 sentence assessment>
## Peer Review Verdict
**Readiness:** <ready | needs revision>
<1-3 sentence assessment>
If there are no qualifying findings, state so and explain briefly.
Take tobihagemann/review-plan from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.