plugins/iterative-engineering/skills/plan-review/SKILL.md
Review PRDs, brainstorm docs, tech plans, design docs, specs, or any planning document for issues. This skill should be used whenever the user wants feedback, critique, or a quality check on an existing planning or requirements document — even if they don't use the word "review." Common triggers include: "review the plan", "check the PRD", "critique my tech plan", "what's wrong with this plan", "poke holes in the requirements", "is this plan solid", "take a look at this spec", "give feedback on the brainstorm", or pointing to a doc file and asking if anything is off. Also triggers after writing a PRD or tech plan (to review what was just created), or when invoked by brainstorming or tech-planning skills. Do NOT trigger for code review (PRs, diffs, source files), writing/creating new plans, debugging, or reviewing non-planning documents (READMEs, CLAUDE.md, test coverage).
npx skillsauth add tmchow/tmc-marketplace plan-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reviews PRDs, brainstorms, and technical plans using dynamically selected reviewer personas. Spawns parallel sub-agents that return structured JSON, then merges and deduplicates findings into a single report.
iterative:brainstorming/iterative:tech-planning skillsAll reviewers use HIGH/MEDIUM/LOW:
| Level | Meaning | Action | |-------|---------|--------| | HIGH | Blocks execution; cannot start the next step without resolving | Must fix before proceeding | | MEDIUM | Creates risk; work can start but likely leads to rework or confusion | Should fix | | LOW | Improvement opportunity; plan works but could be clearer or tighter | Author's discretion |
6 personas in three tiers. See references/persona-catalog.md for the full catalog.
Document-type (exactly 1 — selected by document type):
| Agent | Selected when | Identity |
|-------|--------------|----------|
| prd-reviewer | Document is a PRD or brainstorm | Senior product leader evaluating product document quality |
| tech-plan-reviewer | Document is a tech plan | Implementer evaluating whether they can code from this plan |
Always-on (every review):
| Agent | Focus |
|-------|-------|
| coherence-reviewer | Internal consistency, contradictions, terminology drift, structural issues |
Conditional (selected per document):
| Agent | Select when document... |
|-------|------------------------|
| skeptic-reviewer | Proposes abstractions, multi-layer architecture, plugin systems, or infrastructure ahead of need |
| feasibility-reviewer | Is a tech plan that proposes architecture, external integrations, or performance constraints |
| scope-guardian-reviewer | Is a PRD with multiple priority levels and potential conflicts, unclear scope boundaries, many requirements where goal alignment isn't obvious, or goals that don't connect to requirements |
The document type naturally regulates the review. A simple PRD gets 2 reviewers (prd-reviewer + coherence-reviewer). A complex tech plan with architecture decisions gets 4 (tech-plan-reviewer + coherence-reviewer + skeptic-reviewer + feasibility-reviewer). No separate "mode" is needed.
Identify the document to review from argument, conversation context, or ask user. Determine the document type — PRD, brainstorm, or tech plan — from filename, content, and context. Treat brainstorm documents and PRDs synonymously. Record the document path and document type.
Read the full document content. This is needed for both reviewer selection and spawning.
Read the document content from Stage 1. The document-type reviewer and coherence are automatic. For each conditional persona in the catalog (references/persona-catalog.md), decide whether the document warrants it. This is agent judgment, not keyword matching.
Announce the team before spawning:
Review team:
- prd-reviewer (document-type)
- coherence-reviewer (always)
- scope-guardian-reviewer — PRD has 12 requirements across 3 priority levels with dependency conflicts
This is progress reporting, not a blocking confirmation.
Spawn each selected reviewer as a parallel sub-agent using the template in references/subagent-template.md. Each sub-agent receives:
references/findings-schema.jsonSub-agents are read-only: they review and return structured JSON. They do not edit files, run commands, or propose fixes.
Each sub-agent returns JSON matching references/findings-schema.json:
{
"reviewer": "prd-reviewer",
"findings": [...],
"residual_concerns": [...]
}
Convert multiple reviewer JSON payloads into one deduplicated, confidence-gated finding set.
normalize(section) + line_bucket(line, ±5) + normalize(title). When fingerprints match, merge: keep highest priority, keep highest confidence with strongest evidence, union evidence, note which reviewers flagged it.Assemble the final report using the template in references/review-output-template.md:
Do not include time estimates.
When invoked from iterative:brainstorming or iterative:tech-planning: return findings directly — the calling skill owns the fix loop and workflow transitions. Do not enter the standalone fix loop below.
When invoked standalone: run the standalone fix loop.
After presenting the synthesized findings (Stage 5), offer to fix issues when running standalone. Plan fixes are text edits with low cascading risk — keep the loop simple.
If zero findings, the review is done — no further prompts needed.
Use the platform's interactive question tool — AskUserQuestion (Claude Code) or request_user_input (Codex). Both platforms provide an automatic "Other" free-form option — do not add one manually.
Present a single prompt listing all priority levels with findings. No intermediate "choose which..." step.
Claude Code — use AskUserQuestion with multiSelect: true:
When HIGH issues exist, pre-check the HIGH option:
When only MEDIUM/LOW issues exist, nothing pre-checked:
Only include priority levels that have findings.
Codex — use request_user_input (single-select, build combined options):
When HIGH issues exist:
When only MEDIUM/LOW issues exist:
Only include options where findings exist at those levels. Omit options that would duplicate another (e.g., if no LOW, omit "Fix all" since it equals the line above).
Fix only the selected priorities. Spawn a single subagent with the filtered findings, document path, and document type. The subagent applies targeted fixes, preserves the document's voice and decisions, and commits.
Wait for the subagent to complete.
After fixes land (or user skipped), present an interactive choice:
If another round: run the full Stage 1–Step 8 flow again. No workflow transition options — the user knows what to do next.
If the platform doesn't support parallel sub-agents, run reviewers sequentially. Everything else (stages, output format, merge pipeline) stays the same.
testing
Turn requirements into a structured implementation plan with subtasks, dependencies, file paths, and test scenarios. Triggers: "create a plan", "tech planning", "write a tech plan", or has requirements ready to formalize.
data-ai
Investigate open questions through parallel research — prior art, constraints, competitive analysis. Triggers: "research this", "investigate questions", "resolve open questions", "look into this", or when a PRD has unresolved questions.
development
Execute a tech plan with dependency-aware batching, TDD, code review, and PR creation. Triggers: "implement the plan", "start building", "start implementing", "execute the plan".
testing
Complete a feature branch with test verification and PR creation. Triggers: "finish up", "create a PR", "wrap up the feature". Also invoked by iterative:implementing after all tasks are complete.