Install
npx skillscat add yeachan-heo/oh-my-claudecode/plan Install via the SkillsCat registry.
SKILL.md
Plan creates comprehensive, actionable work plans through intelligent interaction. It auto-detects whether to interview the user (broad requests) or plan directly (detailed requests), and supports consensus mode (iterative Planner/Architect/Critic loop) and review mode (Critic evaluation of existing plans).
- User wants to plan before implementing -- "plan this", "plan the", "let's plan"
- User wants structured requirements gathering for a vague idea
- User wants an existing plan reviewed -- "review this plan", `--review`
- User wants multi-perspective consensus on a plan -- `--consensus`, "ralplan"
- Task is broad or vague and needs scoping before any code is written
</Use_When>
- User wants autonomous end-to-end execution -- use `autopilot` instead
- User wants to start coding immediately with a clear task -- use `ralph` or delegate to executor
- User asks a simple question that can be answered directly -- just answer it
- Task is a single focused fix with obvious scope -- skip planning, just do it
</Do_Not_Use_When>
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>
- Auto-detect interview vs direct mode based on request specificity
- Ask one question at a time during interviews -- never batch multiple questions
- Gather codebase facts via `explore` agent before asking the user about them
- Plans must meet quality standards: 80%+ claims cite file/line, 90%+ criteria are testable
- Consensus mode runs fully automated by default; add `--interactive` to enable user prompts at draft review and final approval steps
</Execution_Policy>
Consensus Mode (
Review Mode (
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; 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")
- Planner creates initial plan
- User feedback (--interactive only): If running with
--interactive, MUST useAskUserQuestionto present the draft plan 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", ...). 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", ...). 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 viaAskUserQuestionwith 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. 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, 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 execute — proceed to implementation via ralph+ultrawork
- Approve and implement via team — proceed to implementation via coordinated parallel team agents
- 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 and stop. Do NOT auto-execute.
- (--interactive only) User chooses via the structured
AskUserQuestionUI (never ask for approval in plain text) - On user approval (--interactive only):
- Approve and execute: 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. - 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. - 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 execute: 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
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.