From adjutant-agent
Broadcasts a message into every active agent's Claude Code tmux session as a submitted prompt, with persistent MCP messages as backup. Useful for injecting standing orders or announcements into all running agents at once.
How this skill is triggered — by the user, by Claude, or both
Slash command
/adjutant-agent:broadcast-promptThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Deliver a message directly into every active agent's Claude Code prompt — submitted as a real prompt (with Enter) — and send a persistent MCP message copy.
Deliver a message directly into every active agent's Claude Code prompt — submitted as a real prompt (with Enter) — and send a persistent MCP message copy.
When the user invokes /broadcast-prompt <message>, follow these steps exactly:
The <message> is everything after /broadcast-prompt . Preserve it exactly — whitespace, punctuation, newlines, all of it.
Call the MCP tool:
list_agents({ status: "all" })
Record the full agent roster with their names and statuses.
Run:
tmux list-sessions -F "#{session_name}" 2>/dev/null || true
This gives you every active tmux session name. Agent sessions use the naming convention adj-swarm-{agentname}.
For each agent from Step 2:
adj-swarm-{agentname} exists in the Step 3 outputFor each agent in tmux_targets, run these two commands sequentially:
tmux send-keys -t "adj-swarm-{name}" -l "{message}"
tmux send-keys -t "adj-swarm-{name}" Enter
Critical details:
-l flag is mandatory — it sends the text literally, preventing tmux from interpreting spaces or special characters as key namesEnter is sent as a separate send-keys command, not embedded in the textsend-keys fails for a specific agent, move that agent from tmux_targets to mcp_only and note the errorFor every agent in both tmux_targets and mcp_only (everyone except yourself), send:
send_message({ to: "{agentname}", body: "{message}" })
This ensures agents that reconnect later still see the message in their inbox.
Send a summary to the user:
send_message({ to: "user", body: "<delivery report>" })
The delivery report should contain:
## Broadcast Delivery Report
**Message:** {first 100 chars of message}...
**Delivered via tmux prompt ({count}):**
- agent-a
- agent-b
**MCP message only — no tmux session ({count}):**
- agent-c
**Skipped (self):**
- {your-name}
Also print the delivery report to stdout so the invoking user sees it immediately.
adj-swarm-{name} matches the Adjutant swarm spawner patternCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub lupusdei/adjutant --plugin adjutant-agent