Skills

Subagent Dag Orchestration

Use when delegated work breaks into several tasks that agents on the roster can carry out.

Install

npx skills add EverMind-AI/Raven --skill subagent-dag-orchestration -g -a claude-code -y
Repository
EverMind-AI/Raven6k
Category
Testing
Updated
3d ago
License
Apache-2.0
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Use when delegated work breaks into several tasks that agents on the roster can carry out. The host's role decides what to delegate; this skill decides how to group that work. A DAG node dispatches to a roster agent, including the generic agent, and cannot call the host's tools. Choose from the tool's `subagent` parameter enum -- agent names on ordinary turns, worker labels when a Worker Table is bound. The roster describes underlying capabilities. Reading a brief or checking task status is host coordination, not a reason to create graph nodes. Before dispatching tasks one at a time, test three things: are two or more tasks independent (they can run at once), does a task hand its result to the next (a graph wires that handoff with no turn of yours in between), do the tasks want different specialists (the roster closes the tool list). If any of the three holds, orchestrate the whole task as one run_subagent_dag call. A step whose result decides what runs next is a decision node: give it routes, and guard what follows with when, all in one graph. Iteration is graphs in series, one graph per round, driven by you.

Sub-Agent DAG Orchestration

When to use

The trigger is delegated work that breaks into several tasks.

The host's role decides what to delegate; this guide decides how to group the work. A DAG node dispatches to an agent on the roster, including Raven-General; it cannot call the host's tools. Choose from that tool's subagent parameter enum: agent names on ordinary turns, worker labels when a Worker Table is bound. A worker label selects the underlying agent together with that worker's brief. The roster describes the underlying agents' capabilities; its names are not dispatch values on a worker turn. The host's own coordination calls, such as reading a brief or checking task status, are not delegated tasks and do not need a graph just because there are several of them.

For the delegated tasks, test three things before dispatching them one at a time:

  • Independence, can two or more steps run at the same time? Independent nodes are scheduled concurrently, up to the shared sub-agent cap (max_concurrent_subagents, spawn draws on the same allowance).
  • Handoff, does a step hand its result to the next one? A node's output is written to a file the downstream node reads, and the graph wires that handoff itself. A spawn can hand its result on too, it takes a node_id and a later task names it the same way a node does, but only across a turn of yours; a graph needs none.
  • Specialism, do the steps want different sub-agents? The roster at the end of the tool list says what each agent is for. When a Worker Table is bound, the subagent parameter also describes each worker's brief; choose a label that fits.

If any of the three holds, express the whole task as one run_subagent_dag call rather than dispatching sub-agents one at a time. Persistence is not one of the reasons: every node's prompt and output is written to disk, and so is every spawn's.

Read the whole SKILL.md on GitHub

More in Testing