| name | terminal-tools |
| description | TODO: Add description |
Terminal Tools Skill
Reference knowledge for tmux mastery and TUI tool control.
tmux Quick Reference
Session Management
tmux ls
tmux new -s NAME
tmux attach -t NAME
tmux kill-session -t NAME
tmux has-session -t NAME 2>/dev/null
Capture & Send (Critical)
tmux capture-pane -t SESSION -p
tmux capture-pane -t SESSION -p -S -50
tmux capture-pane -t SESSION -p -S - -E -
tmux send-keys -t SESSION "text"
tmux send-keys -t SESSION -l "text"
tmux send-keys -t SESSION C-c
tmux send-keys -t SESSION Enter
tmux send-keys -t SESSION Escape
tmux send-keys -t SESSION Up/Down/Left/Right
tmux send-keys -t SESSION NPage
tmux send-keys -t SESSION PPage
tmux send-keys -t SESSION Tab/BTab
Timing Pattern (Critical)
tmux send-keys -t SESSION -l "prompt text"
sleep 0.3
tmux send-keys -t SESSION Enter
Sending Multi-line Content (Critical)
tmux send-keys -t SESSION -l "$LONG_PROMPT"
printf '%s' "$LONG_PROMPT" | tmux load-buffer -
tmux paste-buffer -t "$SESSION"
sleep 0.3
tmux send-keys -t "$SESSION" C-m
PROMPT_FILE=$(mktemp)
cat > "$PROMPT_FILE" << 'PROMPT_EOF'
Your multi-line prompt here...
Can include special chars, quotes, backticks safely.
PROMPT_EOF
tmux load-buffer "$PROMPT_FILE"
tmux paste-buffer -t "$SESSION"
tmux send-keys -t "$SESSION" C-m
rm "$PROMPT_FILE"
Why this matters: send-keys -l still processes content through the shell, and special characters (backticks, nested quotes, escape sequences) can trigger tmux copy mode or corrupt terminal state. load-buffer bypasses this entirely.
When to use which:
| Content Type | Method |
|---|
| Short one-liner | send-keys -l |
| Multi-line prompt | load-buffer + paste-buffer |
| Content with code blocks | load-buffer + paste-buffer |
| Simple notification | send-keys -l |
Window/Pane
tmux split-window -h
tmux split-window -v
tmux split-window -h -l 30%
tmux select-pane -L/-R/-U/-D
tmux resize-pane -L/-R/-U/-D 10
TUI Quick Reference
Full keybindings: references/tui-keybindings.md
Common Keys (Most TUIs)
| Key | Action |
|---|
q | Quit |
/ | Search |
h or ? | Help |
j/k | Navigate (vim-style) |
Enter | Select/expand |
Quit Any TUI
tmux send-keys -t SESSION q
tmux send-keys -t SESSION C-c
tmux send-keys -t SESSION ":q" Enter
Refresh View
tmux send-keys -t SESSION r
tmux send-keys -t SESSION C-l
TabzChrome Session Naming
Sessions spawned by TabzChrome:
ctt-{name-slug}-{uuid}
Examples:
ctt-claude-frontend-abc123
ctt-tui-btop-def456
Find sessions:
tmux ls | grep "^ctt-"
tmux ls | grep "^ctt-tui-"
tmux ls | grep "^ctt-claude-"
Common TUI Tools
| Tool | Purpose | Key Commands |
|---|
| btop/htop | System monitor | f filter, k kill, s sort |
| lazygit | Git TUI | 1-5 panels, c commit, p push |
| lnav | Log viewer | e/E errors, f filter, : command |
| jless | JSON viewer | Space expand, yp yank path |
| yazi | File browser | vim keys, y/x/p copy/cut/paste |
CLI Tools (Non-Interactive)
procs --tree
procs node
dust -d 2 /path
dust -n 10 /path
tokei /path --compact
hyperfine 'cmd1' 'cmd2'
Navigation Pattern
tmux send-keys -t SESSION NPage
sleep 0.2
tmux capture-pane -t SESSION -p | grep "pattern"
Reference Files
| File | Content |
|---|
references/tui-keybindings.md | Complete keybindings for all TUI tools |