name: dag-library description: "Stores a DAG definition once and re-runs it by name, instead of pasting the definition into every run. Use when the user wants to save a DAG, run a saved one, or schedule the same multi-agent graph repeatedly." metadata: short-description: Store and re-run named dag definitions
dag-library
Use this skill when the user wants to KEEP a dag definition and run it again later — the graph is an asset, not a one-off. For authoring a brand-new graph, read mass-ulw first; this skill covers the storage-and-rerun half.
The shape
A stored definition is a plain dag definition JSON file named <name>.json in one of the library dirs. First hit wins:
$OMO_DAG_LIBRARY(multiple dirs, separated by:— or by;on Windows, so drive-letter paths survive)$PWD/.omo/dags$HOME/.omo/dags
{
"key": "nightly-audit",
"name": "Nightly audit",
"nodes": [
{ "id": "audit", "category": "unspecified-low", "prompt": "Audit docs/ for stale claims; write findings to /tmp/audit-{{key}}.md." },
{ "id": "verify", "category": "quick", "prompt": "Verify each finding in /tmp/audit-{{key}}.md against src/.", "dependsOn": ["audit"] }
]
}
String values may carry placeholders, filled at load time: {{key}} (the final rotated key — use it in file paths so reruns never clobber each other), {{date}} (UTC YYYYMMDD), (UTC YYYYMMDD-HHmmss). Node prompts must still stand alone: is ordering only, so pass data between nodes through files, exactly as in mass-ulw.