pm:review
Compatibility: If
AskUserQuestionis unavailable, present options as a numbered list and wait for the user's reply. IfTaskis unavailable, run parallel steps sequentially.
Review a product roadmap for quality, prioritization, and strategic coherence.
Step 0: Parse arguments and load artifact
Accept a roadmap file path or slug. Default to the most recently modified file in .codevoyant/roadmaps/.
ROADMAP_PATH="${1:-}"
SILENT=false
[[ "$*" =~ --silent ]] && SILENT=true
If ROADMAP_PATH not provided, find the most recent file:
ls -t .codevoyant/roadmaps/*.md 2>/dev/null | head -1
Set ROADMAP_FILE. Read the file. Parse flags: --silent.
Step 1: Run parallel review agents
Launch 3 review agents (model: claude-haiku-4-5-20251001, run_in_background: true) in a single message:
- Agent R1 — Prioritization: Does the ordering across capability tiers reflect the stated strategic goal? Are any must-have outcomes deferred to Tier 2/3?
- Agent R2 — Capability quality: For each capability in each tier, check:
- Name is outcome-oriented (not "ship X" or "build Y") — if solution-phrased, flag CRITICAL
- "What it enables" describes a user or business outcome, not a deliverable — if deliverable-phrased, flag CRITICAL
- "Why now" rationale is present and specific — if absent, flag INFORMATIONAL
- Key bets are present (2–4 bullets) — if missing, flag INFORMATIONAL
- Agent R3 — Strategic coherence: Does the roadmap tell a coherent story? Are themes consistent across tiers? Does the "What We Are NOT Doing" section contain explicit deferrals?
Wait for all three. Synthesize results.
Step 2: Two-pass classification
Pass 1 — CRITICAL (must resolve before approving)
- Capability name or "what it enables" phrased as a deliverable (ship/build/add/create)
- Missing strategic goal section
- Tier 1 capabilities that contradict each other (shipping both requires mutually exclusive implementation choices)
- Missing "What We Are NOT Doing" section
Pass 2 — INFORMATIONAL
- "Why now" rationale absent or vague
- Key bets missing for a capability
- Open questions section absent
- Tier assignments that seem misaligned with strategic goal
Step 3: Fix-First
Auto-fix without confirmation:
- Missing "What We Are NOT Doing" section: append with
[TODO: list explicit deferrals] - Missing "Open Questions" section: append with questions generated from Pass 1/2 findings
Flag for user decision:
- Capability phrased as deliverable (user must decide the outcome)
- Tier assignment disputes (user decides prioritization)
Step 4: Present review inline
Output the full review report directly in the chat as structured markdown — do not write a file:
## pm:review — {filename} — {date}
**Overall verdict:** Ready | Needs fixes | Blocked
**Findings:** {N} critical, {N} informational
### Critical Issues
{list — each labeled AUTO-FIXED or [needs your decision]}
### Informational
{list — each labeled AUTO-FIXED or noted for awareness}
### Looks good
{specific positives anchored to actual content}
### Auto-fixes applied
{list of edits made directly to the roadmap file}
### Suggested next steps
{ordered list}
Step 5: Interactive resolution (if not --silent)
If not --silent, surface all user-decision items one at a time via AskUserQuestion.
After resolving all items, ask:
AskUserQuestion:
question: "Roadmap review complete. What next?"
header: "Next step"
options:
- label: "Approve — run pm:approve"
- label: "Update — run pm:update"
- label: "Done for now"
Step 6: Notify
if [ "$SILENT" != "true" ]; then
npx @codevoyant/agent-kit notify \
--title "pm:review complete" \
--message "Review complete for {filename}: {N} critical, {N} informational"
fi
More from cloudvoyant/codevoyant
mem:help
Use when the user asks about available mem commands or needs help choosing a skill. Triggers on: \"mem help\", \"help mem\", \"what can mem do\", \"mem commands\", \"list mem skills\", \"mem reference\". Lists all mem commands with descriptions, arguments, and usage guidance.
14dev:plan
Use when planning architecture for a project or feature. Triggers on: "dev plan", "architecture plan", "plan architecture", "design architecture", "technical design", "system design for". Produces draft plan artifacts in .codevoyant/plans/{slug}/. Use /dev:approve to promote to docs/architecture/.
14em:review
Use when reviewing an engineering roadmap for quality and realism. Triggers on: "em review", "review roadmap", "sanity check roadmap", "em check", "review this plan". Checks capacity realism, dependency gaps, missing risks, and phasing quality. Auto-launched after em:plan.
13dev:explore
Use when researching technical approaches before building. Triggers on: "explore options", "what are my options for", "research approaches", "compare solutions", "dev explore", "generate proposals", "help me decide between". Runs parallel proposal generation via subagents and outputs to .codevoyant/explore/.
13em:plan
Use when planning a project (epic) or initiative with Linear as tracker.
13pm:plan
Plan a product roadmap for a quarter, half-year, or year. Writes a draft roadmap to .codevoyant/roadmaps/ using capability tiers. Triggers on: "pm plan", "product roadmap", "plan a roadmap", "quarterly roadmap", "annual plan".
13