Agency Orchestrator Workflow Runner
jnMetaCode/superpowers-zh
Runs agency-orchestrator YAML workflows inside the current agent session, with the session's own model playing each role in turn and no API key needed.
Runs deterministic DAG pipelines from a JSON descriptor with journal-based crash recovery, so an interrupted run resumes without repeating finished nodes.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode graph --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/graph .claude/skills/graph && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "graph" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/graph into .claude/skills/graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graph", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/graphType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode graph --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/graph .agents/skills/graph && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "graph" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/graph into .agents/skills/graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graph", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode graph --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/graph .cursor/skills/graph && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "graph" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/graph into .cursor/skills/graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graph", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Yeachan-Heo/oh-my-claudecode.git --path skills/graph--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode graph --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/graph .gemini/skills/graph && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "graph" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/graph into .gemini/skills/graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graph", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Yeachan-Heo/oh-my-claudecode graphInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/graph .github/skills/graph && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "graph" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/graph into .github/skills/graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graph", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode graph --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/graph .opencode/skills/graph && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "graph" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/graph into .opencode/skills/graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graph", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
graphRuns deterministic DAG pipelines from a JSON descriptor with journal-based crash recovery, so an interrupted run resumes without repeating finished nodes.
The graph runtime executes through a separate OS process with the omc graph run command, so killing a run midway and rerunning it really resumes from the journal. You give it a descriptor file, or describe a pipeline in words and the agent writes the descriptor, saves it such as under .omc/graphs and shows it to you before running. A run_id identifies a logical pipeline, and rerunning with the same one resumes instead of restarting. Progress lines are tagged run, node, ok, fail, join and done.
Nodes of kind human-approval cannot run through the Bash tool, whose stdin is not interactive and fails closed to denied, so you are told to run the command yourself with the exclamation prefix. Exit codes are 0 for success, 1 for terminal failure, 19 when another writer owns the run, 20 for a corrupt journal, 21 for descriptor drift on resume and 70 for a runtime crash. Journals and snapshots sit under .omc/graph-runs. It suits repeatable pipelines, not exploratory work or adaptive re-planning.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 454bae0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GRAPH_IDEMPOTENCY_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Orchestration Graph Runner loads about 1.3k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 615 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Yeachan-Heo/oh-my-claudecode at commit 454bae0, republished under its MIT licence (© Yeachan-Heo). 615 words, ~1,345 tokens.
.claude/skills/graph/SKILL.md (or your agent's skills folder).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.
/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].
.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).
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_id must be unique per logical pipeline;
rerunning with the same run_id RESUMES, 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_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.
fixed edges and
fan_out/join pairs. conditional and back_edge routes are fully
supported by the runtime and scheduler contracts but require a custom
NodeExecutor that emits route on its results — built-in executors never
produce routes, so graphs relying on them fail fast with
route_required rather than guessing.idempotent commands, the resolved key is available to the
command as GRAPH_IDEMPOTENCY_KEY before it starts and is also recorded for
downstream dedupe. Built-in executors reject reconcile; reconciliation
requires a custom executor with an actual external reconciliation authority.
Exactly-once for external side effects is out of scope for v1.GRAPH_*, and the optional idempotency key), not the host's full secrets.
Commands are not filesystem/process sandboxed.Read, Glob, and Grep, 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.json as executable content.© Yeachan-Heo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/graph of Yeachan-Heo/oh-my-claudecode.
Open the folder on GitHubat commit 454bae0
Orchestration Graph Runner next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Orchestration Graph Runner this skillYeachan-Heo/oh-my-claudecode | 40k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Agency Orchestrator Workflow RunnerjnMetaCode/superpowers-zh | 8.3k | — | ~885 | Automated safety check: Pass | MIT | |
| Prowl Agent Workflowsonevcat/Prowl | 640 | — | ~2.7k | Automated safety check: Pass | Custom licence | |
| cmux Agent Surface Controldisler/learning-cmux-with-agents | 115 | — | ~2.6k | Automated safety check: Notes | MIT | |
| Parallel Batch OperationsQwenLM/qwen-code | 28k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Agentic Workflow Designerdotnet/Open-XML-SDK | 4.6k | 2 repos | ~3.5k | Automated safety check: Pass | MIT |
jnMetaCode/superpowers-zh
Runs agency-orchestrator YAML workflows inside the current agent session, with the session's own model playing each role in turn and no API key needed.
onevcat/Prowl
Authors, validates, runs and participates in Prowl Agent Workflows, bundles that orchestrate several live coding agents inside the Prowl macOS app.
disler/learning-cmux-with-agents
Drives the cmux terminal multiplexer from natural language to open, inspect, prompt, read and close windows, workspaces, panes, surfaces and agent sessions.
QwenLM/qwen-code
Runs one operation across many files with parallel worker agents: finds files by glob pattern, splits them into chunks, launches workers and summarizes the results.
dotnet/Open-XML-SDK
Interviews you one question at a time about goal, trigger, permissions and data needs, then drafts a single agentic workflow markdown file.
builderz-labs/mission-control
Teaches an agent to use the Mission Control dashboard API: register, send heartbeats, fetch assigned tasks, report progress and disconnect, with API key auth.
Yeachan-Heo/oh-my-claudecode
Sends a question or task to another locally installed agent CLI, such as Codex or Gemini, through omc ask and saves the answer as a file.
Yeachan-Heo/oh-my-claudecode
Charts a foggy effort into a map of decision tickets on the repo's issue tracker and works through them one per session, producing decisions rather than deliverables.
Yeachan-Heo/oh-my-claudecode
Runs an autonomous improvement loop on a repository: agents propose and execute plans, a tournament picks the winner by benchmark, and each round is recorded and plotted.
Yeachan-Heo/oh-my-claudecode
Takes a short product idea through requirements, design, planning, parallel implementation, QA cycles and multi-reviewer validation to produce working code.
Yeachan-Heo/oh-my-claudecode
Detects and gracefully cancels whichever OMC mode, autopilot, ralph, swarm, pipeline, or team, is currently active, then clears its state.
Yeachan-Heo/oh-my-claudecode
Maps a codebase directory by directory and writes linked AGENTS.md files, each pointing to its parent, to document what each area contains.
Categories
Runs deterministic DAG pipelines from a JSON descriptor with journal-based crash recovery, so an interrupted run resumes without repeating finished nodes. The graph runtime executes through a separate OS process with the omc graph run command, so killing a run midway and rerunning it really resumes from the journal.omc/graphs and shows it to you before running.
Orchestration Graph Runner fits situations like: running a repeatable multi-step pipeline with explicit dependencies; needing a long job to resume after a crash or kill; keeping an auditable journal of a pipeline run; adding a human approval step before a deploy node.
Run `npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a claude-code`. Or copy the skill folder (skills/graph in Yeachan-Heo/oh-my-claudecode) into .claude/skills/graph in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a codex`. Or copy the skill folder (skills/graph in Yeachan-Heo/oh-my-claudecode) into .agents/skills/graph in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Yeachan-Heo/oh-my-claudecode --skill graph -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/graph, .gemini/skills/graph, .github/skills/graph and .opencode/skills/graph in your project.
Going by SKILL.md and its folder, Orchestration Graph Runner needs credentials named GRAPH_IDEMPOTENCY_KEY. Our summary lists: The `omc` CLI from oh-my-claudecode.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Orchestration Graph Runner is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Orchestration Graph Runner: Agency Orchestrator Workflow Runner (jnMetaCode/superpowers-zh, 8.3k stars), Prowl Agent Workflows (onevcat/Prowl, 640 stars), cmux Agent Surface Control (disler/learning-cmux-with-agents, 115 stars) and Parallel Batch Operations (QwenLM/qwen-code, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Yeachan-Heo (a GitHub user) maintains it in Yeachan-Heo/oh-my-claudecode, which has 39,720 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 8, 2026.
Source: Yeachan-Heo/oh-my-claudecode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.