| name | go |
| description | Launch a task through the act-bounded pipeline — crystallize (deep-interview/ralplan if vague) → isolated worktree → autonomous loop (ralph/autopilot/ultrawork) to completion → verify → propose a draft PR. Refuses under safe-mode. Use when the user types /go <task> or says "run this to completion autonomously". |
/go — act-bounded pipeline entry (the operating method as one command)
The stance behind this is injected (fable-always-on.md §Act-bounded autonomy); this skill is only the
choreography. Reversible ground = autonomous; irreversible/outbound = the human's gate.
0. Guards (before anything)
- Safe-mode: if
~/.claude/state/SAFE-MODE exists → REFUSE: "safe-mode active — run
~/.claude/scripts/undo-safe-mode.sh first."
- Kill switch: honor
<repo>/.omc/loop-pause (refuse while present).
1. Crystallize (only if vague)
Apply fable's test: can you already write the acceptance command for this task?
- No → run
deep-interview (single-surface asks) or ralplan (multi-fork/architectural) to a
spec/plan, then STOP for the user's approval — execution authorization is always human.
- Yes → record one line ("crisp: acceptance = ") and proceed.
2. Isolate
EnterWorktree (baseRef: head). All mutation happens in the worktree — never the main checkout.
Remember: spawned sub-agents run cwd=main; pass ABSOLUTE worktree paths in every delegation.
3. Launch the loop (autonomous to completion)
Pick by task shape — ralph (persist until done) · autopilot (idea→code) · ultrawork (wide
parallel) — and use the named workflows (parallel-build, exhaustive-review…) for fan-out stages.
Three-tier routing throughout; maker ≠ checker (verifier/code-reviewer seats; Codex on silent
gates). This session should be running bypassPermissions inside the worktree — the git-safety hook
is the load-bearing guard there (deny rules do not apply in bypass; probe-proven 2026-07-02).
Resume contract (survives compaction / reboot / process death): at every wave or iteration
boundary the loop WRITES <worktree>/.omc/state/RESUME-STATE.md containing: done waves + commit
hashes · the next wave + its acceptance command · env pins (emulator serial, Metro port, device
quirks) · the standing guardrails · the crisp done-criterion from §1 restated. Resuming after ANY
interruption is then always the same one-liner — "read .omc/state/RESUME-STATE.md and continue" —
never a hand-retyped state dump. (Session mining 2026-07-02: ~40 hand-written resume/continue
nudges across 7 long runs, each re-listing wave hashes and env recipes by hand. A fuzzy
done-criterion — "full parity" — is what kept those loops alive forever; the AC list is the exit.)
Scope note: clone-app runs keep their own RESUME.md + _<name>-build/ set — inside a clone-app
run THAT file is the canonical resume anchor, not this one.
4. Verify (the finish line)
The repo's real gate green (typecheck → lint → test, run from the app's own dir) + independent
verifier evidence. A failed gate → iterate; the same fix failing twice → root-cause, never blind retry.
5. Close (the only outbound touchpoint)
- Local commits in the worktree only.
- Present: diff summary + verify evidence + what was decided along the way.
- PROPOSE the draft PR (
gh pr create --draft) — outbound, so it's the user's call unless they
granted it for this run ("open the PR when done" counts).
- If the run produced a durable lesson, write it to memory/wiki.
Interrupts
On cancel/failure: refresh .omc/state/RESUME-STATE.md, then report exact state (worktree path,
branch, last green gate).