بنقرة واحدة
omh-autopilot
pipeline: interview→plan→execute→QA→verify (idea→code)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
pipeline: interview→plan→execute→QA→verify (idea→code)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Drive an omh-ralph run: dispatch, evidence, commit hygiene.
Execute one omh-ralph task: file-scope, commit, report.
Drive omh-ralplan: context package, rounds, distillation.
Drive omh-triage: when to invoke, how to run rounds.
Multi-role consensus triage of an issue backlog.
Socratic reqs interview; clarify vague/ambiguous goals
| name | omh-autopilot |
| description | pipeline: interview→plan→execute→QA→verify (idea→code) |
| version | 2.0.0 |
| metadata | {"hermes":{"requires_toolsets":["terminal","omh"],"tags":["autopilot","pipeline","autonomous","end-to-end","composition"],"category":"omh"}} |
omh plugin must be installed (~/.hermes/plugins/omh/)Each autopilot invocation reads state, does ONE unit of work, exits. The caller re-invokes. This preserves fresh context at every level — including during the ralph loop.
Invocation 1: Phase 0 — requirements (or skip)
Invocation 2: Phase 1 — planning (or skip)
Invocations 3-N: Phase 2 — ralph iterations (one per call)
Invocation N+1: Phase 3 — QA cycle [FRESH SESSION]
Invocation M: Phase 4 — validation round [FRESH SESSION]
Final: Phase 5 — cleanup → complete
See references/caller-examples.md for how to drive the loop.
Autopilot drives a goal through spec → plan → ralph → QA → validation.
Two autopilot sessions on the same goal would race on autopilot,
ralph, and ralph-tasks state simultaneously. Use per-instance state
instance_id in this order:
.omh/specs/{name}-spec.md, use
instance_id = "{name}"..omh/plans/ralplan-{slug}.md, use
instance_id = "{slug}".instance_id = kebab(goal)[:60].lock = omh_state(action="lock", mode="autopilot",
lock_key="{instance_id}",
session_id="{HERMES_SESSION_ID or uuid}",
holder_note="autopilot driving {goal_or_plan}")
On acquired=false, report held_by, offer wait/cancel/different
goal. Stale-pid auto-release applies.instance_id to every omh_state call in this invocation
(autopilot, ralph, ralph-tasks).instance_id in the delegation context so the ralph subagent
acquires mode="ralph" lock on the same slug.omh_state(action="unlock", mode="autopilot",
lock_key="{instance_id}",
session_id="{HERMES_SESSION_ID or uuid}")
Singleton fallback (legacy). Omitting
instance_idwrites.omh/state/autopilot-state.jsonand skips locking. Acceptable only when running one autopilot at a time.
state = omh_state(action="read", mode="autopilot", instance_id="{instance_id}")
context_checkpoint flag → if true, clear it and exit (phase boundary)state.stale = true → warn, offer fresh startpause_after_phase matches current completed phase → set phase="paused", exitWhen no autopilot state exists, detect artifacts:
.omh/specs/*-spec.md → create state at Phase 1.omh/plans/ralplan-*.md → create state at Phase 2omh_state(action="check", mode="ralph", instance_id="{instance_id}") → phase="complete") → create state at Phase 3Check for active ralph: omh_state(action="check", mode="ralph", instance_id="{instance_id}") → if active, warn about existing session.
omh_state(action="write", mode="autopilot", instance_id="{instance_id}", data={
"phase": "requirements", "goal": "...", "ralph_iteration": 0,
"qa_cycle": 0, "max_qa_cycles": 5, "validation_round": 0,
"max_validation_rounds": 3, "validation_verdicts": {},
"skip_qa": false, "skip_validation": false, "pause_after_phase": null
})
Goal: Ensure a confirmed spec exists.
.omh/specs/*-spec.md with status: confirmed → found? Set spec_file, advance to Phase 1, exitomh-deep-interview and follow it. This phase is interactive.phase: "planning", spec_file: "<path>". Exit.For fully autonomous runs: run omh-deep-interview separately first.
Goal: Ensure a consensus plan exists.
.omh/plans/ralplan-*.md → found? Set plan_file, advance to Phase 2, exitomh-ralplan, follow its procedure with the spec as inputphase: "execution", plan_file, ralph_iteration: 0, context_checkpoint: true. Exit.Each invocation performs exactly ONE ralph iteration:
delegate_task with the omh-ralph skill context:
delegate_task(goal="[omh-role:executor] Follow the omh-ralph skill procedure:
read state, pick the next incomplete task, execute it, verify, update state, exit.",
context="<current ralph state + plan file contents>")
ralph = omh_state(action="check", mode="ralph", instance_id="{instance_id}")
active=true → increment ralph_iteration, exit (caller re-invokes)phase="complete" → advance: phase: "qa", context_checkpoint: true, exitphase="blocked" → set autopilot phase: "blocked", report, exitEach invocation performs ONE QA cycle. Starts in fresh session (context_checkpoint).
If skip_qa: true → advance to Phase 4, exit.
evidence = omh_gather_evidence(commands=["<build>", "<test>", "<lint>"])
evidence.all_pass → advance: phase: "validation", context_checkpoint: true, exitqa_cycle. Check 3-strike on qa_error_history. If triggered → phase="blocked", exitqa_cycle > max_qa_cycles (default 5) → phase="blocked", exitEach invocation performs ONE validation round. Starts in fresh session.
If skip_validation: true → advance to Phase 5, exit.
evidence = omh_gather_evidence(commands=["<build>", "<test>"])
delegate_task(tasks=[
{goal: "[omh-role:architect] Architectural review:\n{spec + plan}", context: "{evidence}"},
{goal: "[omh-role:security-reviewer] Security review:\n{changed files list}", context: "{evidence}"},
{goal: "[omh-role:code-reviewer] Code quality review:\n{changed files list}", context: "{evidence}"}
])
validation_verdictsvalidation_round, exitvalidation_round > max_validation_rounds (default 3) → phase="blocked", exitphase: "complete" (safety — if interrupted, re-invocation retries cleanup)omh_state(action="clear", mode="autopilot", instance_id="{instance_id}")
omh_state(action="clear", mode="ralph", instance_id="{instance_id}")
omh_state(action="clear", mode="ralph-tasks", instance_id="{instance_id}")
.omh/logs/, .omh/plans/, .omh/specs/All state via omh_state tool. Atomic writes and staleness handled automatically.
omh_state(action="check", mode="autopilot", instance_id="{instance_id}")
→ {exists, active, phase, stale}
context_checkpoint.