Strategic planning with optional interview workflow
<Use_When>
--review--consensus, "ralplan"<Do_Not_Use_When>
autopilot insteadralph or delegate to executor<Why_This_Exists> Jumping into code without understanding requirements leads to rework, scope creep, and missed edge cases. Plan provides structured requirements gathering, expert analysis, and quality-gated plans so that execution starts from a solid foundation. The consensus mode adds multi-perspective validation for high-stakes projects. </Why_This_Exists>
<Steps> <Examples> <Good> Adaptive interview (gathering facts before asking): ``` Planner: [spawns explore agent: "find authentication implementation"] Planner: [receives: "Auth is in src/auth/ using JWT with passport.js"] Planner: "I see you're using JWT authentication with passport.js in src/auth/. For this new feature, should we extend the existing auth or add a separate auth flow?" ``` Why good: Answers its own codebase question first, then asks an informed preference question. </Good> <Good> Single question at a time: ``` Q1: "What's the main goal?" A1: "Improve performance" Q2: "For performance, what matters more -- latency or throughput?" A2: "Latency" Q3: "For latency, are we optimizing for p50 or p99?" ``` Why good: Each question builds on the previous answer. Focused and progressive. </Good> <Bad> Asking about things you could look up: ``` Planner: "Where is authentication implemented in your codebase?" User: "Uh, somewhere in src/auth I think?" ``` Why bad: The planner should spawn an explore agent to find this, not ask the user. </Bad> <Bad> Batching multiple questions: ``` "What's the scope? And the timeline? And who's the audience?" ``` Why bad: Three questions at once causes shallow answers. Ask one at a time. </Bad> <Bad> Presenting all design options at once: ``` "Here are 4 approaches: Option A... Option B... Option C... Option D... Which do you prefer?" ``` Why bad: Decision fatigue. Present one option with trade-offs, get reaction, then present the next. </Bad> </Examples> <Advanced> ## Design Option Presentation<Execution_Policy>
explore agent before asking the user about them--interactive to enable execution handoff--deliberate or when the request explicitly signals high risk (auth/security, data migration, destructive/irreversible changes, production incident, compliance/PII, public API breakage)
</Execution_Policy>| Mode | Trigger | Behavior |
|---|---|---|
| Interview | Default for broad requests | Interactive requirements gathering |
| Direct | --direct, or detailed request | Skip interview, generate plan directly |
| Consensus | --consensus, "ralplan" | Planner -> Architect -> Critic loop until agreement with RALPLAN-DR structured deliberation (short by default, --deliberate for high-risk); outputs plan by default |
| Consensus Interactive | --consensus --interactive | Same as Consensus but pauses for user feedback at draft and approval steps, then hands off to execution |
| Review | --review, "review this plan" | Critic evaluation of existing plan |
AskUserQuestion for preferences, scope, and constraintsexplore agent to find out, then ask informed follow-up questions--consensus / "ralplan")RALPLAN-DR modes: Short (default, bounded structure) and Deliberate (for --deliberate or explicit high-risk requests). Both modes keep the same Planner -> Architect -> Critic sequence. The workflow auto-proceeds through planning steps (Planner/Architect/Critic) but outputs the final plan without executing.
--interactive, MUST use AskUserQuestion to present the draft plan plus the RALPLAN-DR Principles / Decision Drivers / Options summary for early direction alignment with these options:
--interactive, automatically proceed to review (step 3).ask_codex with agent_role: "architect". Architect review MUST include: strongest steelman counterargument (antithesis) against the favored option, at least one meaningful tradeoff tension, and (when possible) a synthesis path. In deliberate mode, Architect should explicitly flag principle violations. Wait for this step to complete before proceeding to step 4. Do NOT run steps 3 and 4 in parallel.ask_codex with agent_role: "critic". Critic MUST verify principle-option consistency, fair alternative exploration, risk mitigation clarity, testable acceptance criteria, and concrete verification steps. Critic MUST explicitly reject shallow alternatives, driver contradictions, vague risks, or weak verification. In deliberate mode, Critic MUST reject missing/weak pre-mortem or missing/weak expanded test plan. Run only after step 3 is complete.AskUserQuestion with note that expert consensus was not reached.omx/plans/ with the accepted improvements (add missing details, refine steps, strengthen acceptance criteria, ADR updates, etc.)
d. Note which improvements were applied in a brief changelog section at the end of the plan--interactive, use AskUserQuestion to present the plan with these options:
--interactive, output the final approved plan and stop. Do NOT auto-execute.AskUserQuestion UI (never ask for approval in plain text)$ralph with the approved plan path from .omx/plans/ as context. Do NOT implement directly. Do NOT edit source code files in the planning agent. The ralph skill handles execution via ultrawork parallel agents.$team with the approved plan path from .omx/plans/ as context. Do NOT implement directly. The team skill coordinates parallel agents across the staged pipeline for faster execution on large tasks.--review).omx/plans/ask_codex with agent_role: "critic"Every plan includes:
Plans are saved to .omx/plans/. Drafts go to .omx/drafts/.
</Steps>
<Tool_Usage>
ToolSearch("mcp") to discover deferred MCP toolsAskUserQuestion for preference questions (scope, priority, timeline, risk tolerance) -- provides clickable UIexplore agent (Haiku, 30s timeout) to gather codebase facts before asking the userask_codex with agent_role: "planner" for planning validation on large-scope plansask_codex with agent_role: "analyst" for requirements analysisask_codex with agent_role: "critic" for plan review in consensus and review modes--deliberate or explicit high-risk signals (auth/security, migrations, destructive changes, production incidents, compliance/PII, public API breakage)--interactive: use AskUserQuestion for the user feedback step (step 2) and the final approval step (step 7) -- never ask for approval in plain text. Without --interactive, auto-proceed through planning steps without pausing. Output the final plan without execution.--interactive, on user approval MUST invoke $ralph for execution (step 9) -- never implement directly in the planning agent
</Tool_Usage><Escalation_And_Stop_Conditions>
--interactive, user can approve and hand off to ralph/team$ralph to transition to execution mode. Do NOT implement directly in the planning agent.<Final_Checklist>
.omx/plans/--interactive: user explicitly approved before any execution; without --interactive: output final plan after Critic approval (no auto-execution)
</Final_Checklist>When presenting design choices during interviews, chunk them:
Format for each option:
### Option A: [Name]
**Approach:** [1 sentence]
**Pros:** [bullets]
**Cons:** [bullets]
What's your reaction to this approach?
Before asking any interview question, classify it:
| Type | Examples | Action |
|---|---|---|
| Codebase Fact | "What patterns exist?", "Where is X?" | Explore first, do not ask user |
| User Preference | "Priority?", "Timeline?" | Ask user via AskUserQuestion |
| Scope Decision | "Include feature Y?" | Ask user |
| Requirement | "Performance constraints?" | Ask user |
| Criterion | Standard |
|---|---|
| Clarity | 80%+ claims cite file/line |
| Testability | 90%+ criteria are concrete |
| Verification | All file refs exist |
| Specificity | No vague terms |
The separate /planner, /ralplan, and /review skills have been merged into $plan. All workflows (interview, direct, consensus, review) are available through $plan.
</Advanced>