重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
omc-plan by yeachan-heo/oh-my-claudecode
npx skills add https://github.com/yeachan-heo/oh-my-claudecode --skill omc-plan<Use_When>
--review--consensus、"ralplan"<Do_Not_Use_When>
autopilotralph 或委托给执行器<Why_This_Exists> 在不理解需求的情况下直接开始编码会导致返工、范围蔓延和遗漏边缘情况。规划提供了结构化的需求收集、专家分析和质量把关的计划,以便执行从一个坚实的基础开始。共识模式为高风险项目增加了多视角验证。 </Why_This_Exists>
<Execution_Policy>
explore 代理收集代码库事实--interactive 以在草案审查和最终批准步骤启用用户提示广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
--deliberate 或当请求明确表明高风险(认证/安全、数据迁移、破坏性/不可逆更改、生产事件、合规/PII、公共 API 破坏)时切换到深思熟虑模式 </Execution_Policy>| 模式 | 触发条件 | 行为 |
|---|---|---|
| 访谈 | 宽泛请求的默认模式 | 交互式需求收集 |
| 直接 | --direct,或详细请求 | 跳过访谈,直接生成计划 |
| 共识 | --consensus、"ralplan" | 规划者 -> 架构师 -> 批评者循环,直到达成一致(使用 RALPLAN-DR 结构化审议,默认简短,高风险时使用 --deliberate);添加 --interactive 以在草案和批准步骤启用用户提示 |
| 审查 | --review、"审查这个计划" | 对现有计划进行批评者评估 |
AskUserQuestion 提出一个聚焦的问题,询问偏好、范围和约束explore 代理来查明,然后提出有根据的后续问题--consensus / "ralplan")RALPLAN-DR 模式:简短(默认,有界结构)和深思熟虑(用于 --deliberate 或明确的高风险请求)。两种模式都保持相同的规划者 -> 架构师 -> 批评者序列和相同的 AskUserQuestion 关卡。
提供者覆盖(当提供者 CLI 已安装时支持):
--architect codex — 将 Claude 架构师审查替换为 omc ask codex --agent-prompt architect "...",用于侧重于实现的架构审查--critic codex — 将 Claude 批评者审查替换为 omc ask codex --agent-prompt critic "...",用于执行前的外部审查状态生命周期:持久模式停止钩子使用 ralplan-state.json 来强制在共识循环期间继续。该技能必须管理此状态:
state_write(mode="ralplan", active=true, session_id=<当前会话ID>)state_write(mode="ralplan", active=false, session_id=<当前会话ID>)。此处不要使用 state_clear — state_clear 会写入一个 30 秒的取消信号,该信号会禁用所有模式的停止钩子强制执行,使新启动的执行模式失去保护。state_clear(mode="ralplan", session_id=<当前会话ID>) — 没有后续执行模式,因此取消信号窗口是无害的。如果不进行清理,即使共识工作流已完成,停止钩子也会阻止所有后续停止,并显示 [RALPLAN - 共识规划] 强化消息。始终传递 session_id 以避免清除其他并发会话的状态。
--interactive 运行,必须使用 AskUserQuestion 展示草案计划以及 RALPLAN-DR 原则 / 决策驱动因素 / 选项摘要,以便早期方向对齐,并提供以下选项:
* 继续审查 — 发送给架构师和批评者进行评估
* 请求更改 — 返回步骤 1,并纳入用户反馈
* 跳过审查 — 直接进入最终批准(步骤 7)如果没有使用 --interactive 运行,则自动继续审查(步骤 3)。Task(subagent_type="oh-my-claudecode:architect", ...) 审查架构合理性。架构师审查必须包括:针对首选选项的最强钢人反论(对立面)、至少一个有意义的权衡张力,以及(如果可能)一个综合路径。在深思熟虑模式下,架构师应明确标记违反原则的情况。等待此步骤完成后再继续步骤 4。 请不要并行运行步骤 3 和 4。Task(subagent_type="oh-my-claudecode:critic", ...) 根据质量标准进行评估。批评者必须验证原则-选项一致性、公平的替代方案探索、风险缓解清晰度、可测试的验收标准和具体的验证步骤。批评者必须明确拒绝肤浅的替代方案、驱动因素矛盾、模糊的风险或薄弱的验证。在深思熟虑模式下,批评者必须拒绝缺失/薄弱的事前剖析或缺失/薄弱的扩展测试计划。仅在步骤 3 完成后运行。AskUserQuestion 向用户展示最佳版本,并注明未达成专家共识.omc/plans/ 中的计划文件(添加缺失的细节、完善步骤、加强验收标准、更新 ADR 等)d. 在计划末尾的简短变更日志部分注明应用了哪些改进--interactive 运行,使用 AskUserQuestion 展示计划并提供以下选项:
* 批准并通过团队实施(推荐)— 通过协调的并行团队代理 (/team) 继续实施。自 v4.1.7 起,团队是规范的编排界面。
* 批准并通过 ralph 执行 — 通过 ralph+ultrawork 继续实施(带验证的顺序执行)
* 清除上下文并实施 — 首先压缩上下文窗口(当规划后上下文窗口已满 50%+ 时推荐),然后使用保存的计划文件通过 ralph 开始新的实施
* 请求更改 — 返回步骤 1,并纳入用户反馈
* 拒绝 — 完全丢弃计划如果没有使用 --interactive 运行,则输出最终批准的计划,调用 state_clear(mode="ralplan", session_id=<当前会话ID>),然后停止。不要自动执行。AskUserQuestion UI 进行选择(切勿以纯文本形式请求批准)。如果用户选择拒绝,调用 state_clear(mode="ralplan", session_id=<当前会话ID>) 并停止。state_write(mode="ralplan", active=false, session_id=<当前会话ID>),以便停止钩子不会干扰执行模式自身的强制执行。此处不要使用 state_clear — 它会写入一个取消信号,该信号会禁用新启动模式的强制执行。
* 批准并通过团队实施:必须使用来自 .omc/plans/ 的批准计划路径作为上下文调用 Skill("oh-my-claudecode:team")。不要直接实施。团队技能协调跨阶段管道的并行代理,以在大型任务上更快地执行。这是推荐的默认执行路径。
* 批准并通过 ralph 执行:必须使用来自 .omc/plans/ 的批准计划路径作为上下文调用 Skill("oh-my-claudecode:ralph")。不要直接实施。不要在规划代理中编辑源代码文件。ralph 技能通过 ultrawork 并行代理处理执行。
* 清除上下文并实施:首先调用 Skill("compact") 压缩上下文窗口(减少规划期间累积的令牌使用量),然后使用来自 .omc/plans/ 的批准计划路径调用 。当规划会话后上下文窗口已满 50%+ 时,推荐使用此路径。--review).omc/plans/ 读取计划文件Task(subagent_type="oh-my-claudecode:critic", ...) 通过批评者进行评估每个计划包括:
计划保存到 .omc/plans/。草案保存到 .omc/drafts/。
<Tool_Usage>
AskUserQuestion 询问偏好问题(范围、优先级、时间线、风险承受能力)-- 提供可点击的 UIexplore 代理 (Haiku, 30s 超时) 在询问用户之前收集代码库事实Task(subagent_type="oh-my-claudecode:planner", ...) 对大范围计划进行规划验证Task(subagent_type="oh-my-claudecode:analyst", ...) 进行需求分析Task(subagent_type="oh-my-claudecode:critic", ...) 在共识和审查模式下进行计划审查--deliberate 或明确的高风险信号(认证/安全、迁移、破坏性更改、生产事件、合规/PII、公共 API 破坏)时启用深思熟虑模式--interactive 的共识模式下:使用 AskUserQuestion 进行用户反馈步骤(步骤 2)和最终批准步骤(步骤 7)-- 切勿以纯文本形式请求批准。没有 --interactive 时,跳过这两个提示并输出最终计划。--interactive 的共识模式下,用户批准后必须调用 Skill("oh-my-claudecode:ralph") 进行执行(步骤 9)-- 切勿在规划代理中直接实施state_write(mode="ralplan", active=false, session_id=<当前会话ID>),然后调用 Skill("compact") 压缩累积的规划上下文,然后立即使用计划路径调用 Skill("oh-my-claudecode:ralph") -- 压缩步骤对于在实施循环开始前释放上下文至关重要state_write(active=false),对于真正的终止退出(拒绝、错误)使用 state_clear。在启动执行模式之前切勿使用 state_clear — 其取消信号会禁用 30 秒的停止钩子强制执行。 </Tool_Usage><Escalation_And_Stop_Conditions>
--interactive 的共识模式输出最终计划并停止;带 --interactive 时,在任何实施开始前需要明确的用户批准。始终在停止前调用 state_clear(mode="ralplan", session_id=<当前会话ID>)。state_write(mode="ralplan", active=false, session_id=<当前会话ID>),然后必须调用 Skill("oh-my-claudecode:ralph") 以过渡到执行模式。不要在规划代理中直接实施。<Final_Checklist>
.omc/plans/--interactive 的共识模式下:任何执行前用户已明确批准;没有 --interactive 时:仅输出计划,不自动执行state_write(active=false),终止退出(拒绝、错误、非交互式停止)时使用 state_clear </Final_Checklist>在访谈期间呈现设计选择时,请分块进行:
每个选项的格式:
### 选项 A: [名称]
**方法:** [1 句话]
**优点:** [要点列表]
**缺点:** [要点列表]
您对此方法有何看法?
在提出任何访谈问题之前,先对其进行分类:
| 类型 | 示例 | 操作 |
|---|---|---|
| 代码库事实 | "存在哪些模式?"、"X 在哪里?" | 先探索,不要询问用户 |
| 用户偏好 | "优先级?"、"时间线?" | 通过 AskUserQuestion 询问用户 |
| 范围决策 | "包含功能 Y 吗?" | 询问用户 |
| 需求 | "性能约束?" | 询问用户 |
| 标准 | 标准 |
|---|---|
| 清晰度 | 80%+ 的声明引用文件/行号 |
| 可测试性 | 90%+ 的标准是具体的 |
| 验证 | 所有文件引用都存在 |
| 具体性 | 没有模糊术语 |
单独的 /planner、/ralplan 和 /review 技能已合并到 /plan 中。所有工作流(访谈、直接、共识、审查)都可通过 /plan 使用。
每周安装次数
65
仓库
GitHub 星标数
11.2K
首次出现
2026年3月3日
安全审计
安装于
opencode65
github-copilot64
gemini-cli64
amp64
cline64
claude-code64
<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) </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.
--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).--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 for the user feedback step (step 2) and the final approval step (step 7) -- never ask for approval in plain text. Without , skip both prompts and output the final plan.<Escalation_And_Stop_Conditions>
--interactive outputs the final plan 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.state_write(mode="ralplan", active=false, session_id=<current_session_id>) then MUST invoke Skill("oh-my-claudecode:ralph") to transition to execution mode. Do NOT implement directly in the planning agent.<Final_Checklist>
.omc/plans/--interactive: user explicitly approved before any execution; without --interactive: plan output 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.
Weekly Installs
65
Repository
GitHub Stars
11.2K
First Seen
Mar 3, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode65
github-copilot64
gemini-cli64
amp64
cline64
claude-code64
站立会议模板:敏捷开发每日站会指南与工具(含远程团队异步模板)
10,500 周安装
Skill("oh-my-claudecode:ralph")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.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.AskUserQuestion with note that expert consensus was not reached.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--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 approved plan, call state_clear(mode="ralplan", session_id=<current_session_id>), and stop. Do NOT auto-execute.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.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 invoke Skill("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.AskUserQuestion--interactive--interactive, on user approval MUST invoke Skill("oh-my-claudecode:ralph") for execution (step 9) -- never implement directly in the planning agentstate_write(mode="ralplan", active=false, session_id=<current_session_id>) first, then invoke Skill("compact") to compress the accumulated planning context, then immediately invoke Skill("oh-my-claudecode:ralph") with the plan path -- the compact step is critical to free up context before the implementation loop beginsstate_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>