
Graph
Deterministic orchestration graph runtime - declarative DAG pipelines with...
Install
npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -g -a claude-code -y- Repository
- Yeachan-Heo/oh-my-claudecode40.5k
- Category
- Engineering
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 1,285 tokens
- Runs scripts
- No, instructions only
What it does
Deterministic orchestration graph runtime - declarative DAG pipelines with journal-based crash recovery
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>
