Plan compliance review - checks if implementation matches the plan. Use for verifying feature completeness, scope drift, and quality gates against a PLAN-*.md file.
Installs into .claude/skills of the current project.
Are you the author of Review Plan?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/mayankmankhand-review-plan)
---
name: review-plan
description: Plan compliance review - checks if implementation matches the plan. Use for verifying feature completeness, scope drift, and quality gates against a PLAN-*.md file.
allowed-tools:
- Read
- Glob
- Grep
- Bash
- Agent
---
# Plan Compliance Review
Did we build what we said we'd build? Compares implementation against plan/spec.
**Use this when:** Checking if implementation matches a plan file in `plans/` - feature completeness, scope drift, quality gates.
**Don't use this when:** Reviewing code quality (/review-code), testing a running web app (/review-browser), reviewing command prompts (/review-commands), evaluating end-user UX (/review-ux), or doing a pre-release check (/review-full).
## Critical Rules
<rules>
1. **THE REVIEW PHASE REPORTS ONLY** - Reviewing never edits files; findings are its product. After the report, the same run continues into the auto loop (rule 2), which is what applies fixes
2. **Audit, then auto-fix, with pages** - Plan-compliance findings are audited before the report per M2 in `.claude/skills/shared/hitl-loop.md`, so the report shows survivors only plus an Audited out log for the kills. They do not then wait for a human "fix it": after the report, survivors are auto-fixed and re-verified, and each finding exits as page, digest, or log per `.claude/skills/shared/hitl-loop.md` (pages only per M1 - a gap that traces to actual ship status or a deliberate scope call is M1/M7 territory; saying "report only" keeps a run report-first, M10)
3. **Explain simply** - Use plain English, avoid jargon
</rules>
!`cat .claude/skills/shared/criteria-plan.md`
## Reading Budget
!`cat .claude/skills/shared/reading-budget.md`
## Severity Levels and Anchors
!`cat .claude/skills/shared/severity-anchors.md`
**Project severity anchors** (from `.claude/toolkit/severity-anchors.md`): this project's weighting for its own review kinds. The Universal Anchors above still win. A note that the command printed nothing means this project adds none.
!`cat .claude/toolkit/severity-anchors.md 2>/dev/null || true`
## Finding IDs
!`cat .claude/skills/shared/finding-id-system.md`
## Audit Before the Report (M2)
On a direct run of this skill you are M2's **runner**: audit your findings per M2 below before writing the report. Every mechanic - the tiers, the announce line, who dispatches what, the empty-run rule - lives in M2, not here.
!`cat .claude/skills/shared/hitl-loop.md`
**Project fix rules** (from `.claude/toolkit/fix-rules.md`). Additive only: they may add a precondition or an always-ask action, and a line that loosens or removes any of M1 to M15 is void. A note that the command printed nothing means this project adds none.
!`cat .claude/toolkit/fix-rules.md 2>/dev/null || true`
## Output Format
!`cat .claude/skills/shared/report-format.md`
!`cat .claude/skills/shared/finding-contract.md`
## HTML Companion (when gate fires)
After writing the markdown report, evaluate whether to also generate an HTML view. Use the shared template:
!`cat .claude/skills/shared/html-render-review.md`
For direct calls to this skill, pass `--name review --stable` to the helper (the standing page, per the fragment above), set `lenses` to `["plan"]` so the renderer replaces only this lens's findings and carries the other lenses' open findings forward, and omit the `chips` array (single-specialist context).
### Staff PM Check
<guidelines>
After the standard review, step back and evaluate as a staff PM focused on scope and delivery:
- **Scope discipline** - Did we build exactly what was planned, or did scope creep in?
- **Acceptance completeness** - Would a stakeholder accept this as "done" based on the plan?
- **Traceability** - Can you trace each plan task to its implementation?
- **Delivery risk** - What's most likely to cause a "wait, this isn't what I asked for" moment?
</guidelines>
<rules>
## REMEMBER: The review phase reports and never edits files; findings are audited before the report (M2) and the auto loop applies fixes after it, both governed by `.claude/skills/shared/hitl-loop.md`.
</rules>
## HTML Output Rules
Every HTML decision above (whether to render, `--no-abs`, publish or open locally, record the publish) is governed by the shared rules fragment, inlined here so it is in context when the render runs. It was an always-on rules file until v7.0.0 (issue #167); now it loads with the commands that need it.
!`cat .claude/skills/shared/html-outputs.md`