brainstorming
Structured design dialogue that validates ideas before implementation begins.
automating-tmux-windows
Automates terminal sessions in tmux windows using MCP tools. Use when launching background processes, monitoring builds/servers, sending commands to debuggers (pdb/gdb), interacting with CLI prompts, using interactive commands or commands that require sudo, or orchestrating parallel tasks across ...
Full skill instructions
Control tmux windows programmatically: create windows, send commands, capture output, and manage processes. Each window gets full screen space for easier output tracking.
Note: These tools are provided by the orchestrator MCP server, which also includes AI CLI tools (see ai-orchestration skill).
To save context in the main conversation, delegate tmux operations to the tmux-runner subagent:
# Instead of calling tmux tools directly, use Task tool:
Task(
subagent_type="tmux-runner",
description="Run npm build",
prompt="Run 'npm run build' in the project directory. Return success/failure and any errors.",
model="haiku" # Fast and cheap for simple commands
)
When to use subagent:
When to use direct tmux tools:
| Tool | Purpose |
|---|---|
mcp__orchestrator__tmux_new_window | Create new window with command |
mcp__orchestrator__tmux_send | Send text/keys to window |
mcp__orchestrator__tmux_capture | Get window output |
mcp__orchestrator__tmux_list | List windows (JSON) |
mcp__orchestrator__tmux_kill | Close window |
mcp__orchestrator__tmux_interrupt | Send Ctrl+C |
mcp__orchestrator__tmux_wait_idle | Wait for idle (no output changes) |
mcp__orchestrator__tmux_select | Switch to window (bring to front) |
mcp__orchestrator__tmux_run_and_read | Run command, wait, return file output |
Always use the window ID returned by tmux_new_window (e.g., "@3"). These IDs:
Window names are visible in the tmux status bar for easy identification.
# 1. Create window - SAVE THE RETURNED ID
# Can pass any command directly - non-shell commands are auto-wrapped in a shell
window_id = mcp__orchestrator__tmux_new_window(command="npm run build", name="build") # Returns "@3"
# 2. Wait for completion
mcp__orchestrator__tmux_wait_idle(target=window_id, idle_seconds=2.0) # Returns "idle" or "timeout"
# 3. Get output
output = mcp__orchestrator__tmux_capture(target=window_id, lines=50)
# 4. Optionally switch to window to view it
mcp__orchestrator__tmux_select(target=window_id)
# 5. Cleanup
mcp__orchestrator__tmux_kill(target=window_id)
For commands that write to a file (cleaner than capturing pane output):
# Single call: run command, wait for completion, return file contents
# Use __OUTPUT_FILE__ placeholder - it gets replaced with a random /tmp path
result = mcp__orchestrator__tmux_run_and_read(
command="my-tool --output __OUTPUT_FILE__",
name="my-task",
timeout=300
)
Key differences from tmux_new_window:
__OUTPUT_FILE__ placeholder)Use cases:
-o or --output flags that accept a path argumentCreate multiple windows for parallel tasks:
# Create named windows - commands run directly
logs_window = mcp__orchestrator__tmux_new_window(command="tail -f /var/log/app.log", name="logs")
work_window = mcp__orchestrator__tmux_new_window(command="cd ~/project && make", name="work")
# Capture from both
logs = mcp__orchestrator__tmux_capture(target=logs_window, lines=100)
output = mcp__orchestrator__tmux_capture(target=work_window, lines=50)
For commands requiring input (sudo, prompts, debuggers):
# Start interactive session
window_id = mcp__orchestrator__tmux_new_window(command="sudo apt update", name="sudo")
# Wait for password prompt
mcp__orchestrator__tmux_wait_idle(target=window_id, idle_seconds=1, timeout=10)
# Send password (if needed)
mcp__orchestrator__tmux_send(target=window_id, text="password")
# Wait for completion
mcp__orchestrator__tmux_wait_idle(target=window_id, idle_seconds=2, timeout=120)
tmux_select to switch to a window programmatically| Parameter | Type | Default | Description |
|---|---|---|---|
command | string | "zsh" | Command to run (auto shell-wrapped) |
name | string | "" | Window name for status bar |
| Parameter | Type | Default | Description |
|---|---|---|---|
command | string | required | Command with __OUTPUT_FILE__ placeholder |
name | string | "" | Window name for status bar |
timeout | int | 300 | Max seconds to wait |
The __OUTPUT_FILE__ placeholder is replaced with an auto-generated /tmp/tmux_output_<uuid>.txt path.
| Parameter | Type | Default | Description |
|---|---|---|---|
target | string | required | Window ID (e.g., "@3") |
idle_seconds | float | 2.0 | Seconds of no change = idle |
timeout | int | 60 | Max seconds to wait |
| Parameter | Type | Default | Description |
|---|---|---|---|
target | string | required | Window ID (e.g., "@3") |
lines | int | 100 | Lines to capture (max: 10000) |
mcp__orchestrator__tmux_interrupt to stop runaway processesis_claude field in mcp__orchestrator__tmux_list to identify your windowmcp__orchestrator__tmux_new_windowStructured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs