원클릭으로
prometheus-strict
// [OMX] Clean-room interview-driven planner: Metis clarifies, Momus challenges, Oracle synthesizes, then hands off to $ultragoal/$team.
// [OMX] Clean-room interview-driven planner: Metis clarifies, Momus challenges, Oracle synthesizes, then hands off to $ultragoal/$team.
Alias for $plan --consensus
Durable professor-critic research workflow over Codex goal mode without reviving deprecated omx autoresearch
Stateful validator-gated research loop with native-hook persistence
[OMX] Bounded best-practice research wrapper using official/upstream evidence first
Strategic planning with optional interview workflow
[OMX] Strict autonomous loop: $deep-interview -> $ralplan -> $ultragoal (+ $team if needed) -> $code-review -> $ultraqa
| name | prometheus-strict |
| description | [OMX] Clean-room interview-driven planner: Metis clarifies, Momus challenges, Oracle synthesizes, then hands off to $ultragoal/$team. |
| argument-hint | <goal or problem statement> |
Clean-room OMX planning workflow inspired by the high-level OMO Prometheus concept only. This skill does not copy implementation, prompts, wording, control flow, or runtime code from OMO. It reimplements the idea under this repository's MIT-licensed skill conventions.
Credit: Inspired by OMO Prometheus (code-yeongyu/oh-my-openagent), reimplemented from concept under MIT.
The output is a planning-only artifact for $ultragoal and, when independent lanes are justified, $team. When a durable artifact is useful, store or request the final plan under .omx/plans/prometheus-strict/.
<Use_When>
$ultragoal story needs durable scope, tests, and handoff sequencing.<Do_Not_Use_When>
explore/analyze as appropriate.$ultraqa.start-work port. Those are explicit non-goals.
</Do_Not_Use_When><Why_This_Exists>
OMX already has $plan, $ralplan, and $deep-interview. Prometheus Strict exists for a narrower case: an explicit clean-room strict-planning lane with named clarification, critique, and synthesis roles, plus a durable .omx/plans/prometheus-strict/ handoff contract. It is not a replacement for execution workflows.
</Why_This_Exists>
<Execution_Policy>
explore for repo facts and the exact cheap gpt-5.4-mini researcher lane for external docs / OSS references before asking the user. Prometheus Strict may fan out up to 2 explore + 4 researcher agents per round so breadth comes from more citation-focused mini researchers while Metis/Momus/Oracle keep stronger judgment roles.$team only when Oracle identifies independent, bounded, verifiable lanes.Every Metis/Momus/Oracle question to the user MUST go through the surface-appropriate structured question path. Plain prose questioning is the last fallback, not the default.
omx question as the OMX-owned structured question surface (this is the AskUserQuestion equivalent for Prometheus Strict). From attached-tmux Bash/tool paths, prefix the command with OMX_QUESTION_RETURN_PANE=$TMUX_PANE (or a concrete %pane value) so the leader-pane return target is preserved.questions[] array call: scope, constraints, non-goals, deliverables, safety bounds, and acceptance criteria are normally independent and MUST be batched into one structured form so the user answers them in a single panel. Reserve one-at-a-time only for dependent question chains where the next question depends on the previous answer.omx question JSON answer before checking the clearance rule, asking another round, or handing off; prefer answers[] / answers[i].answer, and use the legacy top-level answer only as a compatibility fallback. After every answers[] batch, run at least two gap-fill passes before another question or handoff: Pass 1 assimilates user answers into the checklist; Pass 2 re-scans repo context, prior turns, research fan-out evidence, and conservative defaults to absorb non-CRITICAL residual gaps.<turn_aborted> or the round-5 cap forces exit; handoff is allowed only after Round 2 has been emitted and processed. Zero-question complete-checklist handoff remains valid when no questions were emitted.<research_fan_out> explore/researcher evidence, re-run spec prefill, and build Round 2 from residual CRITICAL gaps only.Q1: ... Q2: ... Q3: ...) and wait for all answers in one user turn; do not split into separate round-trips.The interview is governed by deterministic checklist clearance, not by subjective "feels enough" judgement. Exit the Metis interview loop when the 6-item checklist is fully YES: objective / scope IN+OUT / acceptance / test strategy / handoff target / no outstanding CRITICAL. Each item is evaluated with the tri-state defined in <Turn_Termination_Rules>.
Cap interview rounds at 5 to prevent runaway. If checklist clearance is not reached by round 5, hand the remaining UNKNOWN items to Oracle as explicitly carried-forward <unresolved_blocker> entries.
Hostility / non-answer exit: if the user's responses for a round contain refusal signals (1-2 character non-answers, dismissive 알아서 / "you decide" / "whatever" patterns, profanity-laden responses, or a <turn_aborted> on the prior turn), the round invalidates the answers — it does NOT advance any checklist item to YES, exits the interview loop immediately, and routes the unresolved gaps either to <silent_absorption> (for dismissive delegation) or back to the user via hostility_exit (for anger / aborted turns). See prometheus-strict-metis <hostility_detection> for the full pattern list and routing rules.
</Execution_Policy>
<Turn_Termination_Rules> Every Prometheus Strict turn ends with EXACTLY ONE of the following terminations. Bare summaries and "I think we're done" are forbidden.
The 6-item checklist is: objective / scope IN+OUT / acceptance / test strategy / handoff target / no outstanding CRITICAL. A checklist item is YES when it is USER_ANSWERED ∪ ABSORBED_WITH_CITATION ∪ INFERRED_FROM_SPEC. Only UNKNOWN (no answer, no citation, no spec inference) counts as NO.
omx question batch: use when at least one CRITICAL question survives <gap_triage> and <self_review>. The batch is the round; the turn waits for answers[] before continuing.<unresolved_blocker> carry-forward after Pass 2 synthesis.<turn_aborted> is detected via <hostility_detection> with subtype hostility_exit, or when the next action is destructive, credential-gated, external-production, and cannot be defaulted safely.Edge cases:
omx question form.<unresolved_blocker> entries.<turn_aborted> → option (c) for anger, profanity, or aborted-turn via hostility_exit; option (b) for dismissive-delegation (알아서 / "you decide") with absorbed gaps annotated.
</Turn_Termination_Rules>Restate the target result, known constraints, deliverables, validation expectations, and stop condition. Identify whether this turn is planning-only or whether the user also requested downstream execution.
If the prompt contains destructive, credential-gated, external-production, or materially scope-changing decisions, hold those decisions for explicit user confirmation. Otherwise, continue through the planning loop.
Use prometheus-strict-metis as the interview voice. When native subagents are available, invoke the dedicated agent; otherwise run the same role in-context without editing files.
Metis discovers success criteria, non-goals, evidence versus assumptions, required artifacts, likely execution lanes, and missing decisions. Before the first user-facing question batch, Metis must actively fan out repo/external research per intent: explore maps local surfaces and exact gpt-5.4-mini researcher lanes gather official/upstream or OSS-reference evidence. Research-heavy intents use more cheap researchers rather than downgrading Metis/Momus/Oracle judgment.
Run the interview as a bounded loop:
questions[] array, or numbered prose fallback outside tmux).answers[], then run Gap-fill Pass 1 — answer assimilation: update evidence vs. assumption and mark checklist items YES only when USER_ANSWERED, ABSORBED_WITH_CITATION, or INFERRED_FROM_SPEC.<research_fan_out> explore/researcher evidence, re-run spec prefill, and prepare Round 2 from residual CRITICAL gaps only.<Turn_Termination_Rules> tri-state) only after BOTH gap-fill passes and the minimum two emitted question rounds gate; exit when ALL YES and either no questions were emitted or Round 2 has been emitted and processed.<unresolved_blocker> entries.Use prometheus-strict-momus as the adversarial critique voice. When native subagents are available, invoke the dedicated agent; otherwise run the same role in-context without editing files.
Momus challenges underspecified acceptance criteria, unsafe assumptions, hidden destructive steps, overbroad scope, missing verification, ownership conflicts, and $ultragoal/$team handoff ambiguity.
Bounded retry contract: after Oracle synthesizes in §4, re-invoke Momus on the synthesized plan to verify that Oracle's resolutions did not introduce new risks (scope addition without matching verification, lane split that creates dependency cycles, safety reinforcement that contradicts stop conditions). Repeat the Momus → Oracle re-synthesis cycle up to 3 times total. If blocking objections remain after the 3rd cycle, mark them as carried-forward in the final plan and proceed to §5.
Use prometheus-strict-oracle as the synthesis voice. When native subagents are available, invoke the dedicated agent; otherwise run the same role in-context without editing files.
Pass 1 — Synthesis. Oracle produces the final objective, scope and non-goals, accepted assumptions, resolved critique, sequenced steps or lanes, verification matrix, rollback/escalation conditions, and recommended OMX handoff.
Pass 2 — Self-Verification (machine-checkable acceptance contract). Oracle re-reads its own Pass 1 output and asserts:
$ultragoal, $team, or none).If any Pass 2 check fails, Oracle MUST loop back to Pass 1 to repair before emitting the plan. Cap Pass 1 ↔ Pass 2 cycles at 3; on cycle 3 failure, emit the plan with the failing gates annotated as carried-forward and escalate to the user.
Before handing off, re-invoke prometheus-strict-metis on the finalized Oracle plan with a single charge: identify ambiguities that surfaced only after the plan was rendered — for example, new lane assignments that overlap, verification matrix gaps revealed by stop conditions, acceptance criteria that contradict the rollback contract.
If post-plan Metis surfaces any blocking gap, return to §4 Pass 1 with the new question. Otherwise proceed to §6.
Prometheus Strict stops with a plan unless the user explicitly invokes or authorizes the next workflow. Prefer this sequence:
$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>
explore / exact gpt-5.4-mini researcher evidence-gathering before question generation for non-trivial intents, then re-prefill and ask only surviving CRITICAL gaps.prometheus-strict-metis, prometheus-strict-momus, and prometheus-strict-oracle sequentially; do not fan out implementation work from this skill.$ultragoal only as the recommended execution handoff after the plan is ready.$team only when parallel lanes are independent and verifiable.
</Tool_Usage>Prometheus Strict does not own a long-running runtime loop. If a durable planning artifact is needed, write the final plan to .omx/plans/prometheus-strict/<slug>.md. Draft-only or inline plans may set the artifact path to N/A - inline plan only.
Do not create hook state, Sisyphus state, or start-work compatibility state for this skill.
<Final_Checklist>
answers[] batch and, if any question round was emitted, after the minimum two emitted question rounds gate; otherwise the 5-round cap was reached with UNKNOWN items carried forward as <unresolved_blocker> entries.$ultragoal and $team only when warranted.If writing a durable plan file, store this markdown at .omx/plans/prometheus-strict/<slug>.md and reference that path in the handoff.
## 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.
Escalate instead of planning when a necessary answer cannot be inferred safely, the next step is destructive or credential-gated, required repository context is unavailable, or the user asks for behavior outside the non-goals.
Original task: {{PROMPT}}