Mode Selection
| 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); add --interactive for user prompts at draft and approval steps |
| Review | --review, "review this plan" |
Critic evaluation of existing plan |
Interview Mode (broad/vague requests)
- Classify the request: Broad (vague verbs, no specific files, touches 3+ areas) triggers interview mode
- Ask one focused question using
AskUserQuestionfor preferences, scope, and constraints - Gather codebase facts first: Before asking "what patterns does your code use?", spawn an
exploreagent to find out, then ask informed follow-up questions - Build on answers: Each question builds on the previous answer
- Consult Analyst (Opus) for hidden requirements, edge cases, and risks
- Create plan when the user signals readiness: "create the plan", "I'm ready", "make it a work plan"
Direct Mode (detailed requests)
- Quick Analysis: Optional brief Analyst consultation
- Create plan: Generate comprehensive work plan immediately
- Review (optional): Critic review if requested
Consensus Mode (--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 and the same AskUserQuestion gates.
Provider overrides (supported when the provider CLI is installed):
--architect codex— replace the Antigravity Architect pass withomc ask codex --agent-prompt architect "..."for implementation-heavy architecture review--critic codex— replace the Antigravity Critic pass withomc ask codex --agent-prompt critic "..."for an external review pass before execution- If the requested provider is unavailable, briefly note that and continue with the default Antigravity Architect/Critic step for that stage
State lifecycle: The persistent-mode stop hook uses ralplan-state.json to enforce continuation during the consensus loop. The skill MUST manage this state:
- On entry: Call
state_write(mode="ralplan", active=true, session_id=<current_session_id>)before step 1 - On handoff to execution (approval → ralph/team): Call
state_write(mode="ralplan", active=false, session_id=<current_session_id>). Do NOT usestate_clearhere —state_clearwrites a 30-second cancel signal that disables stop-hook enforcement for ALL modes, leaving the newly launched execution mode unprotected. - On true terminal exit (rejection, non-interactive plan output, error/abort): Call
state_clear(mode="ralplan", session_id=<current_session_id>)— no execution mode follows, so the cancel signal window is harmless. - Do NOT clear during intermediate steps like Critic approval or max-iteration presentation, as the user may still select "Request changes".
Without cleanup, the stop hook blocks all subsequent stops with [RALPLAN - CONSENSUS PLANNING] reinforcement messages even after the consensus workflow has finished. Always pass session_id to avoid clearing other concurrent sessions' state.
- Planner creates initial plan and a compact RALPLAN-DR summary before any Architect review. The summary MUST include:
- Principles (3-5)
- Decision Drivers (top 3)
- Viable Options (>=2) with bounded pros/cons for each option
- If only one viable option remains, an explicit invalidation rationale for the alternatives that were rejected
- In deliberate mode: a pre-mortem (3 failure scenarios) and an expanded test plan covering unit / integration / e2e / observability
- User feedback (--interactive only): If running with
--interactive, MUST useAskUserQuestionto present the draft plan plus the RALPLAN-DR Principles / Decision Drivers / Options summary for early direction alignment with these options:- Proceed to review — send to Architect and Critic for evaluation
- Request changes — return to step 1 with user feedback incorporated
- Skip review — go directly to final approval (step 7)
If NOT running with
--interactive, automatically proceed to review (step 3).
- Architect reviews for architectural soundness using
Task(subagent_type="oh-my-claudecode: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. - Critic evaluates against quality criteria using
Task(subagent_type="oh-my-claudecode: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. - Re-review loop (max 5 iterations): If Critic rejects, execute this closed loop:
a. Collect all rejection feedback from Architect + Critic
b. Pass feedback to Planner to produce a revised plan
c. Return to Step 3 — Architect reviews the revised plan
d. Return to Step 4 — Critic evaluates the revised plan
e. Repeat until Critic approves OR max 5 iterations reached
f. If max iterations reached without approval, present the best version to user via
AskUserQuestionwith note that expert consensus was not reached - Apply improvements: When reviewers approve with improvement suggestions, merge all accepted improvements into the plan file before proceeding. Final consensus output MUST include an ADR section with: Decision, Drivers, Alternatives considered, Why chosen, Consequences, Follow-ups. Specifically:
a. Collect all improvement suggestions from Architect and Critic responses
b. Deduplicate and categorize the suggestions
c. Update the plan file in
.omc/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 - On Critic approval (with improvements applied): (--interactive only) If running with
--interactive, useAskUserQuestionto present the plan with these options:- Approve and implement via team (Recommended) — proceed to implementation via coordinated parallel team agents (
/team). Team is the canonical orchestration surface since v4.1.7. - Approve and execute via ralph — proceed to implementation via ralph+ultrawork (sequential execution with verification)
- Clear context and implement — compact the context window first (recommended when context is large after planning), then start fresh implementation via ralph with the saved plan file
- Request changes — return to step 1 with user feedback
- Reject — discard the plan entirely
If NOT running with
--interactive, output the final approved plan, callstate_clear(mode="ralplan", session_id=<current_session_id>), and stop. Do NOT auto-execute.
- Approve and implement via team (Recommended) — proceed to implementation via coordinated parallel team agents (
- (--interactive only) User chooses via the structured
AskUserQuestionUI (never ask for approval in plain text). If user selects Reject, callstate_clear(mode="ralplan", session_id=<current_session_id>)and stop. - On user approval (--interactive only): Call
state_write(mode="ralplan", active=false, session_id=<current_session_id>)before invoking the execution skill (ralph/team), so the stop hook does not interfere with the execution mode's own enforcement. Do NOT usestate_clearhere — it writes a cancel signal that disables enforcement for the newly launched mode.- Approve and implement via team: MUST invoke
Skill("oh-my-claudecode:team")with the approved plan path from.omc/plans/as context. Do NOT implement directly. The team skill coordinates parallel agents across the staged pipeline for faster execution on large tasks. This is the recommended default execution path. - Approve and execute via ralph: MUST invoke
Skill("oh-my-claudecode:ralph")with the approved plan path from.omc/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. - Clear context and implement: First invoke
Skill("compact")to compress the context window (reduces token usage accumulated during planning), then invokeSkill("oh-my-claudecode:ralph")with the approved plan path from.omc/plans/. This path is recommended when the context window is 50%+ full after the planning session.
- Approve and implement via team: MUST invoke
Review Mode (--review)
- Read plan file from
.omc/plans/ - Evaluate via Critic using
Task(subagent_type="oh-my-claudecode:critic", ...) - Return verdict: APPROVED, REVISE (with specific feedback), or REJECT (replanning required)
Plan Output Format
Every plan includes:
- Requirements Summary
- Acceptance Criteria (testable)
- Implementation Steps (with file references)
- Risks and Mitigations
- Verification Steps
- For consensus/ralplan: RALPLAN-DR summary (Principles, Decision Drivers, Options)
- For consensus/ralplan final output: ADR (Decision, Drivers, Alternatives considered, Why chosen, Consequences, Follow-ups)
- For deliberate consensus mode: Pre-mortem (3 scenarios) and Expanded Test Plan (unit/integration/e2e/observability)
Plans are saved to .omc/plans/. Drafts go to .omc/drafts/.
When presenting design choices during interviews, chunk them:
- Overview (2-3 sentences)
- Option A with trade-offs
- [Wait for user reaction]
- Option B with trade-offs
- [Wait for user reaction]
- Recommendation (only after options discussed)
Format for each option:
### Option A: [Name]
**Approach:** [1 sentence]
**Pros:** [bullets]
**Cons:** [bullets]
What's your reaction to this approach?
Question Classification
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 |
Review Quality Criteria
| Criterion | Standard |
|---|---|
| Clarity | 80%+ claims cite file/line |
| Testability | 90%+ criteria are concrete |
| Verification | All file refs exist |
| Specificity | No vague terms |
Deprecation Notice
The separate /planner, /ralplan, and /review skills have been merged into /plan. All workflows (interview, direct, consensus, review) are available through /plan.