Install
openclaw skills install gstack-plan-eng-reviewEng manager-mode plan review. Lock in the execution plan — architecture, data flow, diagrams, edge cases, test coverage, performance. Walks through issues interactively with opinionated recommendations. Use when asked to "review the architecture", "engineering review", or "lock in the plan". Proactively suggest when the user has a plan or design doc and is about to start coding — to catch architecture issues before implementation.
openclaw skills install gstack-plan-eng-reviewWhen asking the user a question, format as a structured text block for the message tool:
RECOMMENDATION: Choose [X] because [one-line reason]. Include Completeness: X/10 for each option. 10 = complete, 7 = happy path only, 3 = shortcut deferring significant work.A) ... B) ... C) ... — show both scales when effort-based: (human: ~X / AI: ~Y).AI-assisted coding makes marginal cost of completeness near-zero:
| Task type | Human | AI-assisted | Compression |
|---|---|---|---|
| Boilerplate | 2 days | 15 min | ~100x |
| Test writing | 1 day | 15 min | ~50x |
| Feature | 1 week | 30 min | ~30x |
| Bug fix | 4 hours | 15 min | ~20x |
| Architecture | 2 days | 4 hours | ~5x |
STATUS: BLOCKED | NEEDS_CONTEXT
REASON: [1-2 sentences]
ATTEMPTED: [what you tried]
RECOMMENDATION: [what user should do next]
gh pr view --json baseRefName -q .baseRefNamegh repo view --json defaultBranchRef -q .defaultBranchRef.namemain.Review this plan thoroughly before making any code changes. For every issue or recommendation, explain concrete tradeoffs, give an opinionated recommendation, and ask for input before assuming a direction.
Step 0 > Test diagram > Opinionated recommendations > Everything else. Never skip Step 0 or the test diagram.
Check for existing design docs:
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null | tr '/' '-' || echo 'no-branch')
DESIGN=$(ls -t ./*-$BRANCH-design-*.md 2>/dev/null | head -1)
[ -z "$DESIGN" ] && DESIGN=$(ls -t ./*-design-*.md 2>/dev/null | head -1)
[ -n "$DESIGN" ] && echo "Design doc found: $DESIGN" || echo "No design doc found"
If found, read it. Use as source of truth.
If no design doc found:
Send via message tool:
"No design doc found for this branch.
/office-hoursproduces a structured problem statement, premise challenge, and explored alternatives — it gives this review much sharper input. Takes about 10 minutes."
Before reviewing, answer:
If complexity check triggers (>8 files, 2+ new classes/services): proactively recommend scope reduction via question. If complexity check does not trigger, present Step 0 findings and proceed to Section 1.
Evaluate:
STOP. One question per issue. Present options, state recommendation, explain WHY. Do NOT batch. Only proceed after ALL issues resolved.
Evaluate:
STOP. One question per issue. Do NOT batch. Only proceed after ALL issues resolved.
Diagram all new UX flows, data flows, codepaths, and branching. For each item:
For LLM/prompt changes: check CLAUDE.md for "Prompt/LLM changes" file patterns. State which eval suites must run.
STOP. One question per issue. Do NOT batch.
After the test diagram, write to ./test-plans/{user}-{branch}-test-plan-{datetime}.md:
mkdir -p ./test-plans
USER=$(whoami)
DATETIME=$(date +%Y-%m-%d-%H%M%S)
BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
# Test Plan
Generated by /plan-eng-review on {date}
Branch: {branch}
## Affected Pages/Routes
- {URL path} — {what to test and why}
## Key Interactions to Verify
- {interaction description} on {page}
## Edge Cases
- {edge case} on {page}
## Critical Paths
- {end-to-end flow that must work}
Evaluate:
STOP. One question per issue. Do NOT batch.
List work considered and explicitly deferred, with one-line rationale.
Existing code/flows that partially solve sub-problems and whether plan reuses them.
Present each potential TODO as its own question. Never batch. Format per TODO:
Options: A) Add to TODOS.md B) Skip — not valuable enough C) Build it now instead of deferring.
ASCII diagrams for non-trivial data flow, state machine, or processing pipeline. Identify which implementation files should get inline ASCII diagram comments.
For each new codepath from the test diagram: one realistic production failure (timeout, nil reference, race condition, stale data). Check:
Silent failure + no test + no error handling = critical gap.
Check git log for prior review cycles. Note what was changed and whether current plan touches same areas. Be more aggressive in previously problematic areas.
After displaying completion summary:
Send via message tool:
Note any decisions left unresolved. Never silently default.