Skip to content

t1k:agents

FieldValue
Modulet1k-maintainer
Version3.2.1
Effortlow
Tools—

Keywords: agent hierarchy, agent tree, fan-out cap, fork depth, live agents, spawn tree, subagent tree, who spawned

/t1k:agents
[--json]

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:

Terminal window
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" && break
done

Empty output -> STOP and report agent-tree-view.cjs not found at project or global scope.

Terminal window
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.

  • released — the child’s SubagentStop fired; 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-running TeamCreate teammate looks exactly like this by design (core#788) — the ledger stops counting it against the cap precisely so one lost SubagentStop can’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.