关于 prometheus-strict
Prometheus Strict 是面向高风险或含糊任务的纯规划技能,通过需求澄清、质疑和综合等不同角色,产出可交接的计划。适用于执行前需要明确范围、验收标准、风险和验证方式的工作。
主要功能
- 01通过结构化问题澄清需求
- 02质疑假设和验证缺口
- 03综合形成执行交接计划
- 04将规划与实施分开
- 05支持将计划存于 .omx/plans/prometheus-strict/
适用场景
- 01执行前规划含糊任务
- 02明确验收标准和验证方式
- 03识别适合团队拆分的独立工作
- 04为 $ultragoal 准备范围明确的交接
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ yeachan-heo/ oh-my-codex --skill prometheus-strict安装后在 Claude Code 中输入/prometheus-strict确认已加载。
附带文件README.md
详细介绍
Prometheus Strict
受 OMO Prometheus 高层概念启发、以净室方式实现的 OMX 规划工作流。本技能不会复制 OMO 的实现、提示词、措辞、控制流或运行时代码。它是在本仓库的 MIT 许可技能约定下对该理念的重新实现。
致谢:灵感来自 OMO Prometheus(code-yeongyu/oh-my-openagent),基于 MIT 从概念重新实现。
输出是一份仅用于规划的产物,供 $ultragoal 使用,并在独立工作流合理时供 $team 使用。当持久化产物有用时,将最终计划存储或请求存储到 .omx/plans/prometheus-strict/ 下。
<Use_When>
- 任务足够重要,浅层计划可能导致错误的工作。
- 需求已部分已知,但验收标准、边界、风险或验证尚不完整。
- 用户希望在执行前进行严格的访谈。
- 未来的
$ultragoal故事需要持久化的范围、测试和交接顺序。 - 可能需要团队拆分,但各工作流尚不安全,无法分配。 </Use_When>
<Do_Not_Use_When>
- 用户要求立即实现一个清晰、低风险的变更;请使用常规执行器路径。
- 任务只是仓库查找或解释;视情况使用
explore/analyze。 - 用户需要在代码变更后进行对抗性执行 QA;请使用
$ultraqa。 - 用户想要 hook 行为、Sisyphus 行为或
start-work移植。这些是明确的非目标。 </Do_Not_Use_When>
<Why_This_Exists>
OMX 已有 $plan、$ralplan 和 $deep-interview。Prometheus Strict 存在的意义在于一个更窄的场景:一条显式的净室严格规划通道,具有明确的澄清、批判和综合角色,外加持久化的 .omx/plans/prometheus-strict/ 交接契约。它不是执行工作流的替代品。
</Why_This_Exists>
<Execution_Policy>
- 保持仅规划。除非用户之后启动单独的执行工作流,否则在本技能期间不要编辑源代码。
- 保持净室边界。不要复制或模仿 OMO 的措辞、源代码、提示词、运行时行为或控制流。
- 保持非目标可见:无 hook 实现。无 Sisyphus/start-work 移植。无自动外部生产操作。
- 当答案会实质性改变范围、安全性或验证时,以批量轮次提出高杠杆问题。仅在依赖性问题链中,即下一个问题取决于前一个答案时,才保留一次一个的提问方式。
- 如果有安全的假设可用,请陈述该假设并继续。
- 在需要时使用仓库读取,以使路径、测试和交接命令具体化。
- 在 Metis 规划期间,对每个非平凡意图运行提问前的研究扇出,除非任务平凡、所引用的规格自包含,或缓存证据已覆盖同一范围;在询问用户之前,使用
explore获取仓库事实,并使用精确廉价的gpt-5.6-terraresearcher通道获取外部文档 / OSS 参考。Prometheus Strict 每轮最多可扇出2 explore + 4 researcher个 Agent,因此广度来自更多以引用为重点的小型研究者,而 Metis/Momus/Oracle 保持更强的判断角色。 - 仅当 Oracle 识别出独立、有界、可验证的工作流时,才推荐
$team。
结构化问题界面
向用户提出的每个 Metis/Momus/Oracle 问题都必须经过与界面相匹配的结构化问题路径。纯文本提问是最后的后备手段,而非默认方式。
- 在已附加的 tmux OMX 运行时中,使用
omx question作为 OMX 拥有的结构化问题界面(这是 Prometheus Strict 中AskUserQuestion的等价物)。从已附加的 tmux Bash/工具路径调用时,请在命令前加上OMX_QUESTION_RETURN_PANE=$TMUX_PANE(或具体的%pane值),以便保留 leader 窗格的返回目标。 - 将相互独立的高价值问题批量合并为单次
questions[]数组调用:范围、约束、非目标、交付物、安全边界和验收标准通常是相互独立的,必须批量合并到一个结构化表单中,让用户在一个面板中一次性作答。仅在后续问题依赖前一个答案的依赖式问题链中,才保留一次一个问题的方式。 - 在检查放行规则、提出另一轮问题或移交之前,等待
omx question的 JSON 答案;优先使用answers[]/answers[i].answer,仅在兼容性后备场景下使用旧版顶层answer。每轮answers[]批量作答之后,在提出下一个问题或移交之前,至少运行 两轮补缺扫描:第 1 轮将用户答案吸纳进检查清单;第 2 轮重新扫描仓库上下文、先前对话轮次、研究扇出证据和保守默认值,以吸收非 CRITICAL 的残留缺口。 - 最少发布两轮问题:当 Metis 发布任何面向用户的问题轮次时,除非敌意/
<turn_aborted>或第 5 轮上限强制退出,否则不得在第 1 轮后移交;只有在第 2 轮已发布并处理完毕后才允许移交。当未发布任何问题时,零问题、完整检查清单的移交仍然有效。 - 轮次之间的规划必须积极利用证据:在第 1 轮答案和两轮补缺扫描之后,刷新或复用
<research_fan_out>的探索/研究员证据,重新运行规格预填充,并仅基于残留的 CRITICAL 缺口构建第 2 轮。 - 在 tmux 之外,当有可用的原生结构化输入工具时,使用该工具。
- 当两种结构化界面都无法渲染时(非 tmux 的 Codex CLI、管道运行、CI),将该轮的独立问题列为编号的纯文本块(
Q1: ... Q2: ... Q3: ...),并在一个用户轮次中等待所有答案;不要拆分为多次独立往返。 - 当尚未达到放行标准时,多轮访谈确实是预期行为;每一轮都是一个批量表单(或其纯文本后备形式),绝不拆分到多个表单中。
清单确认
访谈由确定性的清单确认机制驱动,而非主观判断“感觉够了”。当 6 项清单全部为 YES 时,退出 Metis 访谈循环:目标/范围 IN+OUT/验收标准/测试策略/交接目标/没有未解决的 CRITICAL。每项均按照 <Turn_Termination_Rules> 中定义的三态进行评估。
访谈轮数上限为 5,以防止无限延续。如果到第 5 轮仍未完成清单确认,则将剩余 UNKNOWN 项作为明确标注的 <unresolved_blocker> 条目交给 Oracle,供其后续处理。
敌意/不作答退出:如果用户在某一轮的回复中包含拒绝信号(1–2 个字符的不作答、敷衍的 알아서/“你决定”/“随便”模式、带有脏话的回复,或上一轮出现 <turn_aborted>),则该轮答案无效——任何清单项都不会因此变为 YES;立即退出访谈循环,并将未解决的缺口转交给 <silent_absorption>(对于敷衍推给他人处理的情况),或通过 hostility_exit 交回用户处理(对于愤怒/中止轮次的情况)。完整模式列表和路由规则请参阅 prometheus-strict-metis 的 <hostility_detection>。
</Execution_Policy>
<Turn_Termination_Rules> 每个 Prometheus Strict 回合都必须以以下终止方式之一结束,且只能有一种。禁止只做总结或说“我觉得可以结束了”。
6 项清单为:目标/范围 IN+OUT/验收标准/测试策略/交接目标/没有未解决的 CRITICAL。当某一清单项满足 USER_ANSWERED ∪ ABSORBED_WITH_CITATION ∪ INFERRED_FROM_SPEC 时,该项为 YES。只有 UNKNOWN(没有答案、没有引用依据、无法从规范推断)才计为 NO。
- (a)
omx question批次:当至少有一个 CRITICAL 问题经<gap_triage>和<self_review>后仍需处理时使用。该批次就是本轮;等待收到answers[]后再继续。 - (b) 明确交接:当 6 项清单全部为 YES 时使用。确认完成后,将 Metis 交给 Momus;批评审查后,将 Momus 交给 Oracle;Pass 2 综合后,将 Oracle 交给用户,或将未解决项作为
<unresolved_blocker>条目继续处理。 - (c) 阻止并停止:通过
<hostility_detection>检测到敌意/<turn_aborted>,且子类型为hostility_exit时使用;或者下一步操作具有破坏性、需要凭据、涉及外部生产环境,且无法安全地采用默认方案时使用。
边缘情况:
- 没有待提问的问题但清单已完成 → 选择 (b) 明确交接。不要输出空的
omx question表单。 - 第 5 轮仍未完成清单 → 选择 (a),再发送一批问题,并标注仍未解决的 UNKNOWN 项;或者选择 (b),将 UNKNOWN 项作为
<unresolved_blocker>条目交给 Oracle,供其后续处理。 - 敌意/
<turn_aborted>→ 对于愤怒、脏话或通过hostility_exit中止的轮次,选择 (c);对于敷衍推给他人处理(알아서/“你决定”),选择 (b),并标注已吸收处理的缺口。 </Turn_Termination_Rules>
重述目标结果、已知约束、交付物、验证预期和停止条件。确认本轮仅进行规划,还是用户也要求执行后续操作。
如果提示中包含破坏性操作、需要凭据的操作、外部生产环境操作,或实质性改变范围的决策,应暂缓这些决策,等待用户明确确认。否则,继续规划流程。
2. Metis 访谈(迭代式、清单清零)
使用 prometheus-strict-metis 作为访谈声音。当原生子代理可用时,调用专用 Agent;否则在上下文内运行同一角色,不编辑文件。
Metis 会发现成功标准、非目标、证据与假设、所需产物、可能的执行通道以及缺失的决策。在第一批面向用户的问题之前,Metis 必须按意图主动展开仓库/外部研究:explore 映射本地表面,精确的 gpt-5.6-terra researcher 通道收集官方/上游或 OSS 参考证据。研究密集的意图使用更多低成本 researcher,而不是降低 Metis/Momus/Oracle 的判断力。
将访谈作为有界循环运行:
- 识别每个当前为 UNKNOWN 的清单项,以及每个其答案会实质性改变范围、安全性或验证的 CRITICAL 问题。
- 将该轮独立问题批量放入单个 Structured Question Surface 调用(
questions[]数组,或在 tmux 外使用编号散文回退)。 - 收集结构化的
answers[],然后运行 Gap-fill Pass 1 — answer assimilation:更新证据与假设,并仅当 USER_ANSWERED、ABSORBED_WITH_CITATION 或 INFERRED_FROM_SPEC 时将清单项标记为 YES。 - 运行 Gap-fill Pass 2 — residual adversarial scan:对照仓库上下文、先前轮次、研究展开证据、框架/行业默认值以及保守的可逆默认值,重新检查每个剩余的 UNKNOWN;以引用/假设吸收非 CRITICAL 缺口,仅保留 CRITICAL 阻塞项。
- 在第 1 轮之后运行 between-round planning:刷新或复用
<research_fan_out>explore/researcher 证据,重新运行 spec prefill,并仅根据剩余的 CRITICAL 缺口准备第 2 轮。 - 仅在两轮 gap-fill 和至少两轮已发出问题轮次的门控之后,评估 6 项清单(
<Turn_Termination_Rules>三态);当全部为 YES 且要么未发出问题,要么第 2 轮已发出并处理完毕时退出。 - 如果未达到清单清零,或仅处理了第 1 轮,则返回步骤 1 进行下一轮。上限为 5 轮;达到上限时,将剩余的 UNKNOWN 项作为显式
<unresolved_blocker>条目转交 Oracle。
3. Momus 挑战(有界重试)
使用 prometheus-strict-momus 作为对抗性批评声音。当原生子代理可用时,调用专用 Agent;否则在上下文内运行同一角色,不编辑文件。
Momus 会挑战规格不足的验收标准、不安全的假设、隐藏的破坏性步骤、过宽的范围、缺失的验证、所有权冲突以及 $ultragoal/$team 交接歧义。
有界重试契约:在 §4 中 Oracle 综合之后,对综合后的计划重新调用 Momus,以验证 Oracle 的解决方案没有引入新风险(添加范围却没有匹配的验证、产生依赖循环的通道拆分、与停止条件矛盾的安全强化)。将 Momus → Oracle 重新综合循环最多重复 3 次总计。如果第 3 次循环后仍有阻塞性反对意见,则在最终计划中将其标记为 carry-forward,并继续到 §5。
4. Oracle 综合(两轮:综合 + 自验证)
使用 prometheus-strict-oracle 作为综合发声者。当有原生子 Agent 可用时,调用专用 Agent;否则在上下文中执行同一角色,而不编辑文件。
第 1 轮——综合。 Oracle 产出的最终目标、范围与非目标、已接受的假设、已解决的批评、排序后的步骤或泳道、验证矩阵、回滚/升级条件,以及推荐的 OMX 交接。
第 2 轮——自验证(可机器检查的验收契约)。 Oracle 重新阅读其第 1 轮的输出并断言:
- 验证矩阵中的每一项声明都有明确的证据来源(测试/构建/lint/e2e/文档)。
- 每个步骤都列出其负责人/泳道/执行者;并行泳道之间没有共享文件冲突。
- 停止、回滚和验收标准彼此一致(没有任何验收标准会被同样触发回滚的状态所满足)。
- 没有任何破坏性、需要凭据或外部生产环境的步骤未经授权。
- 交接命令是具体的(可逐字调用)并指向一个存在的工作流(
$ultragoal、$team或none)。 - 清洁室信用得到保留。
如果任何第 2 轮检查失败,Oracle 必须先循环回第 1 轮修复,然后才能发出计划。第 1 轮 ↔ 第 2 轮循环上限为 3 次;在第 3 次循环失败时,发出计划并将失败的关卡标注为结转项,同时升级给用户。
5. 计划后缺口检查(Metis 重新调用)
在交接之前,对最终确定的 Oracle 计划重新调用 prometheus-strict-metis,只有一个任务:识别仅在计划呈现之后才浮现的歧义——例如,新的泳道分配出现重叠、由停止条件揭示的验证矩阵缺口、与回滚契约相矛盾的验收标准。
如果计划后的 Metis 发现任何阻塞性缺口,则带着新问题返回 §4 第 1 轮。否则继续到 §6。
6. 交接
除非用户明确调用或授权下一个工作流,否则 Prometheus Strict 会停在一个计划上。优先采用以下顺序:
$ultragoal "<Oracle plan summary or .omx/plans/prometheus-strict/<slug>.md>"
$team <N>:executor "execute the approved Ultragoal story in parallel lanes" # only when warranted
<Tool_Usage>
- 使用只读仓库检查来验证所引用的文件、命令和现有约定。
- 将 Metis 研究扇出视为规划的一部分,而非执行:在非平凡意图的问题生成之前,先派出
explore/ 精确的gpt-5.6-terraresearcher进行证据收集,然后重新预填充并只询问仍然存在的 CRITICAL 缺口。 - 按顺序使用
prometheus-strict-metis、prometheus-strict-momus和prometheus-strict-oracle;不要从本技能扇出实现工作。 - 仅当计划就绪后,才使用
$ultragoal作为推荐的执行交接。 - 仅当并行泳道相互独立且可验证时,才使用
$team。 </Tool_Usage>
状态管理
Prometheus Strict 不拥有长时间运行的运行时循环。如果需要持久化的规划产物,请将最终计划写入 .omx/plans/prometheus-strict/<slug>.md。仅草稿或内联计划可以将产物路径设为 N/A - inline plan only。
不要为此技能创建 hook 状态、Sisyphus 状态或 start-work 兼容状态。
<Final_Checklist>
- 目标结果明确。
- 范围和非目标明确。
- 验收标准可度量。
- Metis 访谈循环仅在所有
answers[]批次后强制执行两次补缺遍历,并且(如果发出了任何问题轮次)在最少两个已发出问题轮次的门槛之后,才达到清单通过;否则在达到 5 轮上限时,将 UNKNOWN 项作为<unresolved_blocker>条目继续传递。 - Momus 反对意见已解决,或作为明确阻塞项继续传递,且最多消耗 3 次 Momus → Oracle 重新综合循环。
- Oracle 计划包含验证矩阵。
- Oracle Pass 2 自验证已完成;每个可机器检查的契约项均通过,或标注为继续传递。
- 计划后 Metis 差距检查未产生阻塞性反对意见(或全部继续传递)。
- 仅在确有需要时,交接才推荐
$ultragoal和$team。 - 洁净室署名得到保留。
- 未引入 hook 实现或 Sisyphus/start-work 移植。
</Final_Checklist>
## 输出契约如果写入持久化计划文件,请将此 markdown 存储于 .omx/plans/prometheus-strict/<slug>.md,并在交接中引用该路径。
## Prometheus Strict Plan
### Target Result
- <one-sentence objective>
### Clarified Requirements (Metis)
- <requirement / acceptance criterion>
### Critique Resolved (Momus)
- <risk or objection> -> <resolution>
### Oracle Execution Plan
1. <sequenced step or lane>
### Verification Matrix
| Claim | Required evidence | Owner/lane |
| --- | --- | --- |
| <claim> | <test/build/lint/e2e/doc evidence> | <owner> |
### Artifact
- Durable plan path: `.omx/plans/prometheus-strict/<slug>.md` or `N/A - inline plan only`
### Handoff
- Recommended next workflow: <$ultragoal / $team / direct execution / none>
- Stop condition: <what proves the plan is ready or why it is blocked>
### Clean-Room Credit
Inspired by OMO Prometheus (`code-yeongyu/oh-my-openagent`), reimplemented from concept under MIT.
失败与升级
当无法安全推断必要答案、下一步具有破坏性或受凭据限制、所需仓库上下文不可用,或用户要求的行为超出非目标范围时,请升级而非继续规划。
原始任务: {{PROMPT}}