| name | wezterm-orchestrator |
| description | Control WezTerm panes - list panes, send commands to Pi agents, monitor their status. Use when coordinating multiple terminal sessions or coding agents. |
WezTerm Orchestrator
Control multiple WezTerm panes and Pi agents programmatically.
List Panes
bb wezterm list
Quick summary:
bb wezterm list | jq -r '.data[] | "\(.pane_id): \(.title) - \(.cwd | sub("file://"; ""))"'
Send to a Pane
bb wezterm send <pane_id> "your prompt here"
Without pressing enter:
bb wezterm send <pane_id> "partial" --no-enter
Focus a Pane
bb wezterm focus <pane_id>
Find Pi Agent Panes
bb wezterm list | jq -r '.data[] | select(.title | contains("π")) | {pane_id, title, cwd}'
Broadcast to All Pi Agents
for id in $(bb wezterm list | jq -r '.data[] | select(.title | contains("π")) | .pane_id'); do
echo "Sending to pane $id..."
bb wezterm send $id "check for compilation errors and fix them"
sleep 2
done
Common Workflows
Parallel task assignment
bb wezterm send 0 "implement the backend API for user auth"
bb wezterm send 1 "create the frontend login form"
Sequential with dependency
bb wezterm send 0 "run the tests"
bb wezterm send 1 "review the test results and fix failures"
Code review pattern
bb wezterm send 0 "implement feature X"
bb wezterm send 3 "review the changes in the last commit, suggest improvements"
Notes
- Pane IDs are stable within a WezTerm session
- Always list panes first to get current IDs
- Add
sleep 2 between broadcasts to avoid overwhelming agents
- Use
/skill:pi-session-reader to check agent progress
- If commands fail: User may be in another app. Wait for them to return to WezTerm, or use
/skill:agent-monitor which can check sessions without WezTerm access