| name | dag-map |
| description | Render the multi-agent orchestration DAG for a session — parent→child subagent edges, tree depth, and fan-out — from the Agent Monitor workflow intelligence API. Cross-checks the orchestration dataset against the raw agent records and session detail. Use when visualizing how a session's agent structure was organized.
|
DAG Map
Render the subagent orchestration graph for one Claude Code session as a depth-ordered DAG.
Input
The user provides: $ARGUMENTS
A session ID. If empty, fetch GET /api/sessions?limit=1 and use the most recent session, stating which one you picked.
Data Sources
| Endpoint | Returns |
|---|
GET /api/workflows/{sessionId} | The orchestration dataset: DAG nodes (agent id, type, model, status, depth) and parent→child edges |
GET /api/agents | Raw subagent records (status, type, depth, parent) to cross-check node/edge counts |
GET /api/sessions/{sessionId} | Full session detail with nested agents[] to confirm the root and total agent count |
Report Sections
1. Topology Summary
From orchestration: the root agent, total agent count, max depth, and max fan-out (most children under any one parent). Confirm the agent count against /api/agents filtered to this session.
2. Edge List
Every parent→child edge, grouped by depth, formatted as:
depth d: parent[model] → child[type, status]
Mark leaf agents (no children) and any orphan nodes (a parent that is not present in the node set).
3. Depth & Fan-out Table
| Depth | Agents at depth | Children spawned | Avg fan-out |
|---|
4. ASCII Tree
A simple indented tree rendering of the DAG, e.g.:
root [opus, completed]
├─ explore [sonnet, completed]
└─ code-review [sonnet, error]
└─ debugger [sonnet, completed]
Output
- Render as Markdown tables plus one fenced ASCII tree block.
- Cite real node and edge counts from the API — never invent agents or edges.
- If a session has no subagents, say so plainly (single-agent session, depth 0) instead of fabricating a tree.
- If the dashboard is unreachable, tell the user to start it with
npm start from the repo root.