tmux_skill
- Shell
39
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill ampcode/amp-contrib --skill tmux- skill.md2.4 KB
Overview
This skill shows how to use tmux to spawn and manage background processes, inspect their output, and clean them up. It provides a concise pattern for creating detached windows, sending commands, capturing visible output or full scrollback, and interacting with running tasks. Use it to run servers, watchers, or long-running jobs without blocking your main shell.
How this skill works
The skill uses tmux windows (detached by default) as isolated execution contexts. Create a new window with tmux new-window -n "NAME" -d, send the command with tmux send-keys -t "NAME" "CMD" C-m, and read output using tmux capture-pane -p -t "NAME" or tmux capture-pane -p -S - -t "NAME" for full history. You can interrupt a process with tmux send-keys -t "NAME" C-c and remove the window with tmux kill-window -t "NAME".
When to use it
- Running development servers or background daemons alongside an interactive session
- Starting long builds, tests, or tasks that should persist if your terminal disconnects
- Capturing logs or debugging output without attaching to the tmux session
- Orchestrating multiple independent processes that need distinct consoles
- Quickly restarting or killing a background process without searching PIDs
Best practices
- Name windows clearly (e.g., server-log, watcher, build) to make targeting and inspection simple
- Create windows detached (-d) so the main workflow remains uninterrupted
- Use capture-pane -p -S - to get full scrollback when logs may have scrolled off-screen
- Chain tmux commands with ';' in one invocation to avoid race conditions and simplify scripts
- Always verify you are inside tmux (echo $TMUX) before running tmux-targeted commands
Example use cases
- Start a React dev server in a detached tmux window: new-window -n "web" -d; send-keys -t "web" "npm start" C-m
- Run a file-watcher and inspect logs without switching panes by capturing the pane output
- Launch a long test suite in its own window and kill it if it hangs using send-keys C-c
- Keep multiple microservices running in separate windows for local integration testing
- Automate startup: script that creates windows, launches services, and captures their initial logs
FAQ
Run echo $TMUX; if it is empty you are not inside a tmux session and tmux-targeted commands may fail.
How can I get the full log history for a window?
Use tmux capture-pane -p -S - -t "NAME" to capture the entire scrollback buffer for that window.