Skip to content
Development
Skill

/tmux-terminal

Interactive terminal control via tmux for TUI apps, prompts, and long-running CLI workflows.

From plugin
ralph-orchestrator
3.1k17 skills3 agents
Install
$ npx -y skills add mikeyobrien/ralph-orchestrator --skill tmux-terminal --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/tmux-terminal

Context preview

The summary Claude sees to decide when to auto-load this skill.

Interactive terminal control via tmux for TUI apps, prompts, and long-running CLI workflows.

SKILL.md

tmux-terminal.SKILL.md
name: tmux-terminal
description: Interactive terminal control via tmux for TUI apps, prompts, and long-running CLI workflows.
hats: [developer, qa_tester]
metadata:
  internal: true

tmux-terminal

Overview

Use tmux to drive interactive terminal sessions, including TUI workflows like `ralph-tui`. tmux lets you send keystrokes, capture screen output, and keep processes running between steps.

When to Use

  • Testing `ralph-tui` or any interactive CLI prompts
  • Managing long-running processes (web server, loops, watch mode)
  • Capturing live terminal output for QA reports
  • Interacting with applications that redraw the screen

Prerequisites

  • `tmux` installed (pre-installed on macOS)

Verify:

tmux -V

Core Commands

Create a detached session:

tmux new-session -d -s <name>

Send commands (append Enter to execute):

tmux send-keys -t <name> "<command>" Enter

Capture screen output:

tmux capture-pane -t <name> -p

Kill session when done:

tmux kill-session -t <name>

Special Keys

Use `send-keys` with key names:

  • `Enter`
  • `C-c` (Ctrl-C)
  • `C-d` (Ctrl-D)
  • `Tab`
  • `Escape`
  • `Up`, `Down`, `Left`, `Right`

Examples:

tmux send-keys -t <name> Up
tmux send-keys -t <name> C-c

TUI Interaction Patterns

Start ralph-tui

tmux new-session -d -s ralph-tui
tmux send-keys -t ralph-tui "cargo run -p ralph-tui" Enter

Navigate in TUI

tmux send-keys -t ralph-tui Down
tmux send-keys -t ralph-tui Enter

Capture and parse the screen

tmux capture-pane -t ralph-tui -p -S -200

Use `-S -200` to capture the last 200 lines when the screen is noisy.

Long-Running Process Management

  • Start servers or loops in a tmux session to keep them alive.
  • Use `capture-pane` to confirm health (look for "listening" or "ready" text).
  • Stop cleanly with `C-c` then `kill-session`.

Example:

tmux new-session -d -s ralph-web
tmux send-keys -t ralph-web "cargo run -p ralph-cli -- web" Enter
tmux capture-pane -t ralph-web -p | rg -n "listening|ready"
tmux send-keys -t ralph-web C-c
tmux kill-session -t ralph-web

Notes

  • Keep session names short and unique.
  • Always clean up sessions to avoid leaking background processes.
  • If output looks empty, wait briefly and capture again.
Read more
Ships withralph-orchestrator

A hat-based orchestration framework that keeps AI agents in a loop until the task is done. "Me fail English? That's unpossible!" - Ralph Wiggum

Get the whole plugin