Utility skill for opening a named terminal pane (tmux or iTerm2) to monitor a subagent or team member's output in real time. Supports both Agent tool (subagents) and TeamCreate tool (Claude teams). Call this skill before launching any Agent or team member, passing mode, label, pane-name, and the relevant output target as context. Detects terminal type once per session and reuses it across calls.
From programming-skillsnpx claudepluginhub wesleyegberto/software-engineering-skills --plugin programming-skillsThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
Opens a dedicated terminal pane (tmux or iTerm2) to let the user follow a subagent's or team member's output in real time.
| Parameter | Required | Description |
|---|---|---|
mode | yes | subagent or team |
label | yes | Header text displayed in the pane |
pane-name | yes | Short name for the tab/window |
output-file | if mode: subagent | File to tail (written by the agent) |
team-name | if mode: team | Team name (used to locate .team/<team-name>/) |
team-member | optional | Specific team member to monitor; omit to show full team activity |
Execute the steps below every time this skill is called.
If the terminal type has NOT been detected yet in this session, run:
if [ -n "$TMUX" ]; then
echo "tmux"
elif [ -n "$ITERM_SESSION_ID" ] || [ "$TERM_PROGRAM" = "iTerm.app" ]; then
echo "iterm2"
else
echo "none"
fi
Store the result as TERMINAL_TYPE. On subsequent calls reuse the stored value
— do NOT re-detect.
If TERMINAL_TYPE is none, print once (not on every call):
Terminal multiplexer not detected (no tmux session, ITERM_SESSION_ID not set).
Agents will run without dedicated panes.
To enable live monitoring: run Claude inside a tmux session or use iTerm2.
Then return immediately — skip Steps 2 and 3.
mode: subagent — tail the output file as soon as it appears:
echo '=== <label> ==='; \
until [ -f <output-file> ]; do sleep 1; done; \
tail -f <output-file>
mode: team, with team-member — tail that member's output file:
echo '=== <label> ==='; \
until [ -f .team/<team-name>/<team-member>.md ]; do sleep 1; done; \
tail -f .team/<team-name>/<team-member>.md
mode: team, without team-member — watch the team directory for activity:
echo '=== <label> ==='; \
watch -n 2 "ls -lt .team/<team-name>/ 2>/dev/null | head -20"
tmux:
# Ensure the monitoring session exists (only first call creates it)
tmux has-session -t agent-monitor 2>/dev/null || \
tmux new-session -d -s agent-monitor -n "orchestrator"
# Open a named window running the monitoring command
tmux new-window -t agent-monitor -n "<pane-name>" \
"MONITORING_CMD; exec bash"
Replace MONITORING_CMD with the command built in Step 2.
iTerm2 (via AppleScript):
tell application "iTerm2"
tell current window
create tab with default profile
tell current session
set name to "<pane-name>"
write text "MONITORING_CMD"
end tell
end tell
end tell
Replace MONITORING_CMD with the command built in Step 2.
After opening the pane, return control to the calling skill immediately. The pane runs independently; the calling skill proceeds to launch the agent or team member without waiting.