feat: Claude Code Monitor — lanes, pipelines and a merged workspace

Internal SmartGift build of a Claude Code monitoring dashboard.

Lanes: a durable unit of parallel agent work, one per working directory,
tracked across session restarts. Managed lanes are git worktrees the
dashboard provisions and can reset or remove behind a three-check destroy
guard and a counted preflight; adopted lanes are directories you already
own and are never destroyable.

Pipelines: a lane moves through pipeline stages. A stage the agent declares
with evidence renders green; a stage inferred from the tool-event stream
renders dashed amber and never counts as done. Detection is forward-only
within a 30-minute window, and never writes the declared stage.

Workspace: one page at /run with a lane grid, the selected lane's pipeline,
and a full Claude console behind a disclosure.
This commit is contained in:
2026-07-29 17:07:45 +07:00
commit 57dc91585d
783 changed files with 221743 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
---
description: Print the orchestration DAG edges (parent→child subagents) for a session.
argument-hint: "[session-id]"
---
Print the multi-agent orchestration DAG for a session from `http://localhost:4820`.
The session id is **$ARGUMENTS**. If empty, fetch `curl -s 'http://localhost:4820/api/sessions?limit=1'` and use the most recent session, stating which id you picked. If the dashboard is unreachable, tell the user to start it with `npm start` from the repo root.
Fetch the workflow intelligence and read its `orchestration` dataset:
```
curl -s http://localhost:4820/api/workflows/$ARGUMENTS
```
`orchestration` contains the DAG nodes (agent id, type, model, status, depth) and parent→child edges.
Print, concisely:
1. **One-line topology**`root → depth <N>, fan-out <max>, <agent count> agents`.
2. **Edge list** — one line per edge, grouped/ordered by depth:
`depth d: parent[model] → child[type, status]`
3. **Leaves** — list the leaf agents (no children) on one line.
No tables, no preamble — just the topology line and the edges. Cite only nodes and edges returned by the API; never invent agents. If the session has no subagents, say so (single-agent session, depth 0). For a rendered tree and depth/fan-out breakdown, point the user at the `dag-map` skill.
+25
View File
@@ -0,0 +1,25 @@
---
description: List recent Workflow-tool fleet runs with status and agent counts.
---
List recent Workflow-tool (Workflow()) fleet runs from the Agent Monitor at `http://localhost:4820`.
These fleets emit **no hooks** — the dashboard ingests them from on-disk run journals, so this is independent of the hook event stream. If the dashboard is unreachable, tell the user to start it with `npm start` from the repo root.
Fetch the run journals:
```
curl -s http://localhost:4820/api/workflows/runs
```
Each run has a run id, status, agent count, and timing.
Print, concisely:
1. **Status mix** — one summary line, e.g. `8 runs: 5 completed, 2 running, 1 error`.
2. **Recent runs** — a compact table, most recent first:
| Run ID | Status | Agents | Started | Duration |
|--------|--------|--------|---------|----------|
Keep it terse. Cite only runs returned by the API; never invent runs. If there are no fleet runs, say so. To drill into one run's per-agent detail, point the user at the `fleet-runs` skill.
@@ -0,0 +1,25 @@
---
description: Summarize the workflow intelligence for a session — stats, complexity, and top patterns.
argument-hint: "[session-id]"
---
Summarize the Agent Monitor workflow intelligence for a session from `http://localhost:4820`.
The session id is **$ARGUMENTS**. If empty, fetch `curl -s 'http://localhost:4820/api/sessions?limit=1'` and use the most recent session, stating which id you picked. If the dashboard is unreachable, tell the user to start it with `npm start` from the repo root.
Fetch the workflow intelligence:
```
curl -s http://localhost:4820/api/workflows/$ARGUMENTS
```
This returns 11 datasets: `stats`, `orchestration`, `toolFlow`, `effectiveness`, `patterns`, `modelDelegation`, `errorPropagation`, `concurrency`, `complexity`, `compaction`, `cooccurrence`.
Print, concisely:
1. **Header** — session id, total agents, max depth, and total tool calls (from `stats` / `orchestration`).
2. **Complexity** — the numeric `complexity` score and what drives it (depth, breadth, tool diversity).
3. **Top patterns** — up to 5 recurring sequences from `patterns`, each as `sequence ×frequency`, sorted by frequency descending.
4. **Quick signals** — one line each: concurrency lane count (`concurrency`), subagent success rate (`effectiveness`), and total errors with origin depth (`errorPropagation`).
Keep it terse — this is a one-shot. Cite only numbers returned by the API; for deeper analysis point the user at the `dag-map`, `delegation-audit`, `concurrency-report`, or `error-propagation` skills.