| name | tmux-agents-claude |
| description | Top-level "manager of managers" layer over tmux-subagents-claude (the `claudemux` CLI). Use whenever YOU manage agents that each manage their own subagents โ a tree of Claude Code sessions in tmux panes. Triggers: "check on your agents and their subagents", "ask your agents how their subagents are doing", "ask your agents what their agents have been doing", "list your agents and their subagents", build a roster/status TREE of the whole fleet, route a task down through one of your agents, or recursively tear the tree down. TWO INVARIANTS this skill enforces: (1) the `master` row in `claudemux status` is YOU โ never prompt/result/capture/despawn it; (2) you drive only your DIRECT children โ anything below them you reach by DELEGATING to the child, never by addressing a grandchild yourself. |
Tmux Agents โ Claude (manager of managers)
You sit at top of agent tree. Direct children are themselves managers โ each runs claudemux to
spawn and drive its own subagents. Brief children, route work, aggregate reports, tear down cleanly.
master (YOU)
โโโ agent-dotfiles โ direct child (manager)
โ โโโ implementer โ grandchild (DON'T address directly)
โ โโโ reviewer
โโโ agent-obsidian โ direct child (manager)
โโโ editor
โโโ organizer
Built on tmux-subagents-claude (claudemux CLI) โ inherit all
its rules. This skill adds only the tree layer.
Two iron rules
1. master is you. Run ! claudemux promote once to register yourself. claudemux status then
shows a master row (TASK=master) โ that's this session. Roster commands
(prompt/result/capture/despawn) act on the agents list; master isn't in it.
Never target master. Skip it when reading status.
2. Drive only direct children. claudemux status shows your project's transcripts + roster
overlay. Grandchildren live in a different project's transcripts. To act on one, delegate to the
owning child โ never address a grandchild yourself.
Fleet check โ build the tree
claudemux status โ your transcripts + roster. Skip master row.
- For each child,
prompt --wait it to run its own claudemux status and report subagents (use
freshness token per child).
- Assemble tree + tables; flag deltas.
master (me)
โโโ agent-dotfiles ๐ข idle
โ โโโ implementer ๐ข idle (Opus)
โ โโโ reviewer ๐ข idle (Sonnet)
โโโ agent-obsidian ๐ข idle
โโโ editor ๐ข idle (Opus)
Freshness
Every child prompt can collide with stale reply or wedged input line. Guard every status/report prompt:
- Prefix:
Ignore any leftover input text.
- Require:
Reply starting with token <UNIQUE> โ verify token before trusting body. Missing โ resend.
- Run foreground (
--wait, never &).
Wedged child: capture to inspect โ have it despawn+resurrect, or do so yourself.
Delegate downward
To act on grandchild, prompt the child that owns it:
- "Ask your
editor to report what it's done, then summarize."
- "Run
claudemux despawn ingester then despawn --prune."
- "Run
claudemux status and list every subagent you manage."
Recursive teardown (leaves-first)
claudemux compact <heavy-child> โ free context before more work.
- Prompt each child: "
claudemux despawn --all then despawn --prune." (delegated)
claudemux despawn <child> for each child from your roster.
claudemux status โ confirm only master remains.
Soft-delete: despawn/dismiss stamps dismissed_at and hides the entry from default status.
Run despawn --prune after teardown to hard-delete dismissed entries.
Enlisted caveat: enlisted child's pane keeps running after dismiss โ user must kill it directly.
More
references/orchestration-patterns.md โ copy-paste freshness
prompts, teardown checklist, enlisted-vs-owned table, context-watch note, FAQ.