graph
Deterministic orchestration graph runtime - declarative DAG pipelines with journal-based crash recovery
- 0
- Installs
- —
- Rating
- —
- Success rate
- 1
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 dca89357bf547450… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
Graph Skill
Run a deterministic orchestration graph from a declarative JSON descriptor.
The runtime consumes the sealed-descriptor and pure-scheduler contracts in
src/graph/* and executes through an independent OS process (omc graph run),
so crash recovery (kill mid-run, rerun, resume from journal) works for real.
Usage
/oh-my-claudecode:graph <descriptor.json>
/oh-my-claudecode:graph "build then test then ask me before deploy" (author the descriptor first)
The execution surface is always the CLI subcommand:
omc graph run <descriptor.json> [--runs-root <dir>]
Run it via the Bash tool for non-interactive graphs. Progress lines stream as
[run], [node], [ok], [fail], [join], [done].
When To Use
- Repeatable multi-step pipelines with explicit dependencies (DAG)
- Work that must survive interruption: kill/restart resumes from journal
- Auditable runs: OCC journal + projection snapshots under
.omc/graph-runs/<run_id>/
When NOT to use: exploratory one-off work (use conversation or /team); anything needing adaptive re-planning mid-run (graphs are deterministic).
Workflow
-
Descriptor given -> go to step 3.
-
Pipeline described -> author the descriptor JSON (schema below), write it next to the project (suggest
.omc/graphs/<name>.json) and show it to the user before running.run_idmust be unique per logical pipeline; rerunning with the samerun_idRESUMES, not restarts. -
Approval nodes: if the descriptor contains any
"kind": "human-approval"node, do NOT run it through the Bash tool (stdin is not interactive there; EOF fails closed to denied). Tell the user to run interactively instead:! omc graph run <file>The
!prefix runs it inside this session with live stdin so y/n works. -
Run and relay progress. Exit codes (normative): 0 succeeded | 1 terminal failed | 19 another writer owns this run (busy) 20 corrupt/tampered journal (fail-closed) | 21 descriptor drift on resume | 70 runtime crash (unmapped error)
-
Resume: rerunning the same command after a crash replays committed transitions and continues. Completed nodes never re-execute.
Descriptor Schema (minimal)
{ "descriptor_version": 1, "run_id": "unique-pipeline-id", "revision_id": "rev-1", "goal": "one line", "nodes": [ { "id": "n1", "kind": "command", "title": "...", "timeout_ms": 60000, "max_attempts": 2, "effect_policy": { "policy": "side_effect_free" }, "command": "npm test" }, { "id": "a1", "kind": "agent", "title": "...", "timeout_ms": 300000, "max_attempts": 1, "effect_policy": { "policy": "side_effect_free" }, "instructions": "..." }, { "id": "gate", "kind": "human-approval", "title": "...", "prompt": "Proceed?" } ], "edges": [ { "id": "e1", "kind": "fixed", "from": "n1", "to": "a1" } ], "entry_node_ids": ["n1"], "concurrency_limit": 2, "terminal_verification_node_id": "a1" }
Edge kinds: fixed | conditional | fan_out/join pairs | back_edge (bounded retries via max_traversals). See src/graph/schema.ts for the authoritative Zod schema — and read the Capability Boundary section above for what built-in executors actually execute today.
Capability Boundary & Semantics (read before authoring)
- Edge support: built-in command/agent executors cover
fixededges andfan_out/joinpairs.conditionalandback_edgeroutes are fully supported by the runtime and scheduler contracts but require a custom NodeExecutor that emitsrouteon its results — built-in executors never produce routes, so graphs relying on them fail fast withroute_requiredrather than guessing. - Crash-recovery guarantee is at-least-once for command nodes: a crash
between an external side effect and its journal append re-executes that node
on resume. For
idempotentcommands, the resolved key is available to the command asGRAPH_IDEMPOTENCY_KEYbefore it starts and is also recorded for downstream dedupe. Built-in executors rejectreconcile; reconciliation requires a custom executor with an actual external reconciliation authority. Exactly-once for external side effects is out of scope for v1. - Command trust boundary: command nodes are arbitrary shell lines with
process authority in the current working directory. Only run descriptors
you wrote or trust. Command children receive an allowlisted environment
(PATH, HOME/USERPROFILE, TEMP/TMP, locale/timezone, USER identity,
GRAPH_*, and the optional idempotency key), not the host's full secrets. Commands are not filesystem/process sandboxed. - Agent authority boundary: built-in agent nodes are explicitly read-only.
They run in the current working directory with no additional directories,
only
Read,Glob, andGrep,permissionMode: dontAsk, session persistence disabled, and a provider-specific environment allowlist. Agent timeouts abort and interrupt the SDK query. Use a custom executor for any agent that needs mutation or external effects. Treat.omc/graph-runs/<run_id>/descriptor.jsonas executable content.
Files
1- SKILL.md
c0ebe6ddc55.3 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from Yeachan-Heo/oh-my-claudecode8
Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and carrying a why, steps before reference, one meaning in one home, no restating what the environment already says. Mandatory at drydock seed generation and the launch C5 se
Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode
Periodic architecture survey — walks the module graph and reports ranked deepening candidates (shallow modules, hypothetical seams, logic behind the wrong seam). Survey, not rescue: it finds candidates and hands them to the captain; it never refactors on its own.
Process-first advisor routing for Claude, Codex, Gemini, Antigravity, Grok, or Cursor via `omc ask`, with artifact capture and no raw CLI assembly
Shipyard's navigator — chart a foggy effort (destination unclear, questions not yet stateable) into a map of decision tickets on the repo's issue tracker, then work the frontier one ticket per session until the way is clear, and hand the collapsed decisions to /launch as a mission brief. Wayfinding,
Full autonomous execution from idea to working code
Stateful single-mission improvement loop with strict evaluator contract, markdown decision logs, and max-runtime stop behavior
Cancel any active OMC mode (autopilot, ralph, ultragoal, swarm, ultrapilot, pipeline, team) and clean up retired legacy state
Related knowledge skillsscan passed
PostHog integration for Nuxt 4 applications
Score a scoped competitor set into comparable profile cards: nine weighted dimensions (positioning, voice, visual craft, offer packaging, evidence, enterprise-readiness, thought leadership, pricing, client tension) with 1-5 evidence-anchored rubrics and a tension 2x2 plot. Use when benchmarking or s