CommunityProgramación y desarrollogithub.com

tmux

Controla sesiones/paneles de tmux para CLIs interactivos: lista, captura salida, envía teclas, pega texto y monitorea indicadores.

¿Qué es tmux?

Esta habilidad permite a un agente de IA interactuar con sesiones tmux existentes, lo cual es esencial para gestionar procesos interactivos de larga duración dentro de un entorno de terminal. A diferencia de los comandos de shell únicos o la ejecución en segundo plano, tmux mantiene las sesiones activas incluso si la conexión SSH se interrumpe. La habilidad incluye operaciones básicas como listar sesiones, ventanas y paneles; capturar el contenido de un panel; y enviar texto literal o teclas especiales (Ctrl+C, Ctrl+D, Escape). También proporciona plantillas para verificar indicadores interactivos (prompts) y scripts auxiliares para descubrir sesiones (find-sessions.sh) y esperar a que aparezca texto específico (wait-for-text.sh). El manejo de marcadores únicos con números aleatorios (nonces) asegura que el agente detecte correctamente la finalización de comandos incluso cuando el eco del comando contiene parte del marcador. Esta habilidad está diseñada para plataformas como Claude Code, Cursor o Codex, y utiliza comandos estándar de tmux sin dependencias adicionales.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/tmux

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace tmux?

Utilízala para sesiones tmux interactivas existentes. Para comandos únicos, usa el shell normal. Para trabajos nuevos en segundo plano no interactivos, usa la ejecución en segundo plano.

Conceptos básicos

tmux ls
tmux list-windows -t shared
tmux list-panes -t shared:0
tmux capture-pane -t shared:0.0 -p
tmux capture-pane -t shared:0.0 -p -S -

Formato destino: sesión:ventana.panel, p. ej. shared:0.0.

Enviar entrada

Texto literal, luego Enter:

tmux send-keys -t shared:0.0 -l -- "Por favor continúa"
tmux send-keys -t shared:0.0 Enter

Teclas especiales:

tmux send-keys -t shared:0.0 C-c
tmux send-keys -t shared:0.0 C-d
tmux send-keys -t shared:0.0 Escape

Usa -l -- para texto arbitrario. Separa el texto y Enter para evitar sorpresas con pegado/saltos de línea.

Sesiones

tmux new-session -d -s worker
tmux rename-session -t old new
tmux kill-session -t worker

Verificaciones de indicadores

tmux capture-pane -t worker-3 -p | tail -20
tmux capture-pane -t worker-3 -p | rg "proceed|permission|Yes|No|❯"

Aprobar/seleccionar solo cuando el indicador se entienda:

tmux send-keys -t worker-3 -l -- "y"
tmux send-keys -t worker-3 Enter

Ayudantes

  • scripts/find-sessions.sh: descubre sesiones.
  • scripts/wait-for-text.sh: espera hasta que el contenido del panel capturado contenga el texto.

wait-for-text.sh busca tanto la entrada reflejada como el historial de desplazamiento además de la salida del proceso. Para la finalización de comandos, usa un marcador único cuyo texto completo se divide entre argumentos en el comando enviado a tmux:

nonce="$(od -An -N8 -tx1 /dev/urandom | tr -d ' \n')"
marker="OPENCLAW_DONE_${nonce}"
tmux send-keys -t shared:0.0 -l -- "sleep 4; printf '%s%s\n' 'OPENCLAW_DONE_' '$nonce'"
tmux send-keys -t shared:0.0 Enter
scripts/wait-for-text.sh -t shared:0.0 -p "$marker" -F -T 30

El comando reflejado nunca contiene el marcador completo, y el nonce evita que una línea de finalización anterior coincida.

Notas

  • capture-pane -p imprime a la salida estándar para los scripts.
  • -S - captura todo el historial de desplazamiento.
  • Las sesiones de tmux persisten a través de desconexiones SSH.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Skills relacionados