tmux_skill

This skill helps you manage multiple tmux windows and panes from Bash, enabling background tasks, log inspection, and seamless process control.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational