From tmux
Generic tmux reference for sessions, windows, panes, screen capture, and input. If CMUX_* environment variables are present, use the cmux skill instead.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tmux:tmuxThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill for terminal multiplexing when the current terminal is not managed by cmux or Ghostex.
Use this skill for terminal multiplexing when the current terminal is not managed by cmux or Ghostex.
env | grep '^CMUX_' # if present, switch to the cmux skill
env | grep '^GHOSTEX_' # if present, the terminal is Ghostex-managed: use its bundled ghostex-agent-orchestration skill
test -n "$TMUX" && echo tmux
command -v tmux
Routing:
CMUX_WORKSPACE_ID and CMUX_SURFACE_ID are set, use the cmux skill.GHOSTEX_* env vars are set (e.g. GHOSTEX_ZMX_BIN), the terminal is Ghostex-managed: use the bundled ghostex-agent-orchestration skill (zmx underneath). A merely-running Ghostex app elsewhere does not count - gx state succeeding is server state, not terminal ownership.TMUX is set, target the current tmux server/session.tmux exists, create or attach a tmux session before relying on pane operations.tmux list-sessions
tmux list-windows -a -F '#{session_name}:#{window_index} #{window_name} active=#{window_active}'
tmux list-panes -a -F '#{session_name}:#{window_index}.#{pane_index} #{pane_id} active=#{pane_active} cwd=#{pane_current_path} cmd=#{pane_current_command} title=#{pane_title}'
tmux display-message -p '#{session_name}:#{window_index}.#{pane_index} #{pane_id}'
Always inspect layout first, then use explicit targets. Prefer %pane_id; it remains stable if windows are rearranged.
tmux capture-pane -p -t %pane_id -S -80
tmux capture-pane -p -t %pane_id -S -200
tmux capture-pane -p -t session:window.pane -S -80
tmux send-keys -t %pane_id "command here" Enter
tmux send-keys -t %pane_id Enter
tmux send-keys -t %pane_id C-c
Prefer sending full commands plus Enter; use keys for control sequences.
tmux new-session -d -s name -c /path
tmux attach-session -t name
tmux new-window -t name -n title -c /path
tmux split-window -h -t %pane_id -c /path
tmux split-window -v -t %pane_id -c /path
tmux switch-client -t session
tmux select-window -t session:window
tmux select-pane -t %pane_id
tmux kill-pane -t %pane_id
tmux kill-window -t session:window
tmux kill-session -t session
tmux move-window -s source:window -t target:window
tmux move-pane -s %source_pane -t %target_pane
tmux join-pane -s %source_pane -t %target_pane
tmux break-pane -s %pane_id
tmux set-buffer -b scratch "text"
tmux paste-buffer -b scratch -t %pane_id
tmux wait-for build-done
tmux wait-for -S build-done
tmux new-session -d -s agent-task -c /repo
tmux send-keys -t agent-task:0.0 "droid" Enter
tmux attach-session -t agent-task
Run normal agent CLIs in tmux panes (droid, hermes, codex).
%pane_id or session:window.pane).Creates, 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 yourconscience/dotagents --plugin tmux