t1k:agents
| Field | Value |
|---|---|
| Module | t1k-maintainer |
| Version | 3.2.1 |
| Effort | low |
| Tools | — |
Keywords: agent hierarchy, agent tree, fan-out cap, fork depth, live agents, spawn tree, subagent tree, who spawned
How to invoke
Section titled “How to invoke”/t1k:agents[--json]t1k:agents — Session Agent Tree
Section titled “t1k:agents — Session Agent Tree”Claude Code’s Agent Panel lists agents flat, with no parent/child structure and no
tree toggle (checked against the current harness — no setting exists to add one).
T1K already owns the parent -> child spawn data as the fan-out-cap ledger
(hooks/lib/fork-depth.cjs, core#767/#783/#852); this skill is a second,
read-only consumer of that same ledger that reconstructs and prints the tree.
Step 0 — Resolve the script path (BOTH install scopes)
Section titled “Step 0 — Resolve the script path (BOTH install scopes)”agent-tree-view.cjs ships wherever the owning module installed — resolve it,
don’t assume it:
for c in "$CLAUDE_PROJECT_DIR/.claude/scripts/agent-tree-view.cjs" \ ".claude/scripts/agent-tree-view.cjs" \ "$HOME/.claude/scripts/agent-tree-view.cjs"; do [ -f "$c" ] && echo "$c" && breakdoneEmpty output -> STOP and report agent-tree-view.cjs not found at project or global scope.
Step 1 — Run it
Section titled “Step 1 — Run it”node "<resolved-path>"The script resolves the current session’s ledger itself (CLAUDE_CODE_SESSION_ID,
falling back to CLAUDE_SESSION_ID) and prints a ready-to-show tree, per-depth
fan-out cap usage, and a totals line. Pass --json for the machine-readable form
when you need to compute over it rather than just display it.
Print the tool’s own text output to the user largely as-is — it is already formatted for a terminal. Do not re-summarize it into prose that drops the tree structure.
Reading the output
Section titled “Reading the output”released— the child’sSubagentStopfired; it no longer holds a fan-out slot.live— un-released and still inside the 15-minute floor (forkDepth.liveChildTtlMinutes) that counts against its parent’s cap.live (stale — no longer holds a fan-out slot)— un-released past that floor. Not necessarily stuck: a long-runningTeamCreateteammate looks exactly like this by design (core#788) — the ledger stops counting it against the cap precisely so one lostSubagentStopcan’t wedge the parent shut for the rest of the session. Only escalate this if the agent is also unresponsive.- “N occurred with UNKNOWN depth and are not shown below” — real spawns the ledger allowed but could not attribute a depth to (spawner not yet bound); they are absent from the tree, not silently folded into depth 0.
- Orphaned records — a child whose own parent record fell out of the ledger (pruned after 6h, or malformed). Shown separately, never dropped.
- Fan-out cap usage — one row per depth (0-3) per known spawner at that depth,
live/cap. A depth with no listed spawners means nothing at that depth has spawned yet this session, not that the cap is exhausted.
Read-only observability. Never mutates the ledger — the same file
fork-depth-guard.cjs writes under a lock to enforce the live budget.