用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Yeachan-Heo/oh-my-claudecode --skill omc-plan命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Consensus planning entrypoint that auto-gates vague ralph/autopilot/team requests before execution
Cancel any active OMC mode (autopilot, ralph, ultrawork, ultraqa, ultragoal, swarm, ultrapilot, pipeline, team)
N coordinated agents on shared task list using Claude Code implicit agent teams
正在显示 SKILL.md
| name | omc-plan |
| description | Strategic planning with optional interview workflow |
| argument-hint | [--direct|--consensus|--review] [--interactive] [--deliberate] <task description> |
| pipeline | ["deep-interview"] |
| handoff-policy | approval-required |
| handoff | .omc/plans/ralplan-*.md |
| level | 4 |
<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>
<Execution_Policy>
explore agent before asking the user about them--interactive to enable user prompts at draft review and final approval steps--deliberate or when the request explicitly signals high risk (auth/security, data migration, destructive/irreversible changes, production incident, compliance/PII, public API breakage)pending approval unless the user has explicitly opted into execution in the current turn or via the structured approval UI. Before explicit execution approval, planning modes MUST NOT run mutation-oriented shell commands, edit source files, commit, push, open PRs, invoke execution skills, or delegate implementation tasks./goal, Ralph, Team, UltraQA, or artifact-only Ultragoal, identify exactly one primary loop authority and use the deterministic conflict policies refuse, adopt_existing, and artifact_only rather than non-deterministic warning handling. /goal facts must cite Claude Code/Anthropic sources only (Claude Code /goal docs: https://code.claude.com/docs/en/goal; Anthropic Claude Code changelog: https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md), and plans MUST NOT claim the /goal evaluator independently runs commands or reads files; require surfaced proof evidence before any completion claim.docs/shared/mode-selection-guide.md#goal-oriented-workflow-selection and docs/REFERENCE.md#goal-workflow-ux-goal-ralph-team-ultraqa-ultragoal.
</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); add --interactive for user prompts at draft and approval steps |
| 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 and the same AskUserQuestion gates.
Provider overrides (supported when the provider CLI is installed):
--architect codex — replace the Claude Architect pass with omc ask codex --agent-prompt architect "..." for implementation-heavy architecture review--critic codex — replace the Claude Critic pass with omc ask codex --agent-prompt critic "..." for an external review pass before executionState lifecycle: The persistent-mode stop hook uses ralplan-state.json to enforce continuation during the consensus loop. The skill MUST manage this state:
state_write(mode="ralplan", active=true, session_id=<current_session_id>) before step 1state_write(mode="ralplan", active=false, session_id=<current_session_id>). Do NOT use state_clear here — state_clear writes a 30-second cancel signal that disables stop-hook enforcement for ALL modes, leaving the newly launched execution mode unprotected.state_clear(mode="ralplan", session_id=<current_session_id>) — no execution mode follows, so the cancel signal window is harmless.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:
User feedback (--interactive only): If running with --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).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. Architect MUST evaluate the same fixed plan snapshot produced by Planner in step 1 without mutating it; Architect output MUST NOT be passed to Critic.
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. Critic MUST evaluate the same fixed plan snapshot independently, as a separate, individually awaited Task call; Critic MUST NOT consume or receive the Architect review.
--review).omc/plans/Task(subagent_type="oh-my-claudecode:critic", ...)Every plan includes:
Plans are saved to .omc/plans/. Drafts go to .omc/drafts/.
<Tool_Usage>
AskUserQuestion for preference questions (scope, priority, timeline, risk tolerance) -- provides clickable UIexplore agent (Haiku, 30s timeout) to gather codebase facts before asking the userTask(subagent_type="oh-my-claudecode:planner", ...) for planning validation on large-scope plansTask(subagent_type="oh-my-claudecode:analyst", ...) for requirements analysisTask(subagent_type="oh-my-claudecode: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, skip both prompts, mark the plan pending approval, output the final plan, and stop.--interactive, on explicit user approval MUST invoke Skill("oh-my-claudecode:ralph") or Skill("oh-my-claudecode:team") for execution (step 9) -- never implement directly in the planning agentpending approval, call state_write(mode="ralplan", active=false, current_phase="pending_approval", session_id=<current_session_id>), then invoke Skill("compact") to compress the accumulated planning context. After compact, require a fresh explicit execution approval before any ralph/team launch; never auto-start implementation from compact continuation<Escalation_And_Stop_Conditions>
--interactive outputs the final plan marked pending approval and stops; with --interactive, requires explicit user approval before any implementation begins. Always call state_clear(mode="ralplan", session_id=<current_session_id>) before stopping.pending approval and ask for explicit execution approval via the structured approval UI. Do NOT invoke Skill("oh-my-claudecode:ralph"), mutate files, delegate implementation, commit, push, or open a PR from the planning module until that approval exists.<Final_Checklist>
.omc/plans/--interactive: user explicitly approved before any execution; without --interactive: plan output marked pending approval only, no auto-executionstate_write(active=false) for handoff to execution, state_clear for terminal exits (rejection, error, non-interactive stop)
</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.
Independent sequential reviews of one fixed plan snapshot. Architect and Critic each review the same fixed plan snapshot produced by Planner in step 1, and neither review mutates it. Architect output MUST NOT be passed to Critic. Architect and Critic MUST run sequentially as separate, individually awaited Task calls — never in parallel — and the Critic Task MUST NOT be issued until the Architect Task has completed and its result has been awaited. Critic MUST NOT consume or receive the Architect review. Architect and Critic results MUST be combined only by Planner during revision or improvement synthesis, and only after both reviews have completed.
Re-review loop (max 5 iterations): If Critic rejects, execute this closed loop:
a. Collect all rejection feedback from Architect + Critic (Planner-only synthesis: Architect and Critic results MUST be combined only by Planner, and only after both reviews have completed).
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 AskUserQuestion with 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): mark the plan status as pending approval unless explicit execution approval has already been captured. (--interactive only) If running with --interactive, use AskUserQuestion to present the plan with these options:
/team). Team is the canonical orchestration surface since v4.1.7.--interactive, output the final plan marked pending approval, call state_clear(mode="ralplan", session_id=<current_session_id>), and stop. Do NOT auto-execute.(--interactive only) User chooses via the structured AskUserQuestion UI (never ask for approval in plain text). If user selects Reject, call state_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 use state_clear here — it writes a cancel signal that disables enforcement for the newly launched mode.
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.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.Skill("compact") to compress the context window (reduces token usage accumulated during planning), then return with the saved pending-approval plan path and require a fresh explicit execution approval before any ralph/team launch. This path is recommended when the context window is 50%+ full after the planning session.state_write(active=false) for handoff paths (approval → ralph/team) and state_clear for true terminal exits (rejection, error). Never use state_clear before launching an execution mode — its cancel signal disables stop-hook enforcement for 30 seconds.
</Tool_Usage>