Skip to content
cccskills
FreePublished on GitHub

tmux

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md4.0 KB
  • scripts/find-sessions.sh2.9 KB
  • scripts/wait-for-text.sh2.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

tmux Skill

Use tmux only when you need an interactive TTY. Prefer exec background mode for long-running, non-interactive tasks.

Quickstart (isolated socket, exec tool)

SOCKET_DIR="${MEMMY_AGENT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/memmy-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/memmy.sock"
SESSION=memmy-node

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'node' Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200

After starting a session, always print monitor commands:

To monitor:
  tmux -S "$SOCKET" attach -t "$SESSION"
  tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200

Socket convention

  • Use MEMMY_AGENT_TMUX_SOCKET_DIR environment variable.
  • Default socket path: "$MEMMY_AGENT_TMUX_SOCKET_DIR/memmy.sock".

Targeting panes and naming

  • Target format: session:window.pane (defaults to :0.0).
  • Keep names short; avoid spaces.
  • Inspect: tmux -S "$SOCKET" list-sessions, tmux -S "$SOCKET" list-panes -a.

Finding sessions

  • List sessions on your socket: {baseDir}/scripts/find-sessions.sh -S "$SOCKET".
  • Scan all sockets: {baseDir}/scripts/find-sessions.sh --all (uses MEMMY_AGENT_TMUX_SOCKET_DIR).

Sending input safely

  • Prefer literal sends: tmux -S "$SOCKET" send-keys -t target -l -- "$cmd".
  • Control keys: tmux -S "$SOCKET" send-keys -t target C-c.

Watching output

  • Capture recent history: tmux -S "$SOCKET" capture-pane -p -J -t target -S -200.
  • Wait for prompts: {baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern'.
  • Attaching is OK; detach with Ctrl+b d.

Spawning processes

  • For Node.js REPLs, start with node and send complete expressions or .exit as literal keys.

Windows / WSL

  • tmux is supported on macOS/Linux. On Windows, use WSL and install tmux inside WSL.
  • This skill is gated to darwin/linux and requires tmux on PATH.

Orchestrating Coding Agents (Codex, Claude Code)

tmux excels at running multiple coding agents in parallel:

SOCKET="${TMPDIR:-/tmp}/codex-army.sock"

# Create multiple sessions
for i in 1 2 3 4 5; do
  tmux -S "$SOCKET" new-session -d -s "agent-$i"
done

# Launch agents in different workdirs
tmux -S "$SOCKET" send-keys -t agent-1 "cd /tmp/project1 && codex --yolo 'Fix bug X'" Enter
tmux -S "$SOCKET" send-keys -t agent-2 "cd /tmp/project2 && codex --yolo 'Fix bug Y'" Enter

# Poll for completion (check if prompt returned)
for sess in agent-1 agent-2; do
  if tmux -S "$SOCKET" capture-pane -p -t "$sess" -S -3 | grep -q "❯"; then
    echo "$sess: DONE"
  else
    echo "$sess: Running..."
  fi
done

# Get full output from completed session
tmux -S "$SOCKET" capture-pane -p -t agent-1 -S -500

Tips:

  • Use separate git worktrees for parallel fixes (no branch conflicts)
  • pnpm install first before running codex in fresh clones
  • Check for shell prompt (❯ or $) to detect completion
  • Codex needs --yolo or --full-auto for non-interactive fixes

Cleanup

  • Kill a session: tmux -S "$SOCKET" kill-session -t "$SESSION".
  • Kill all sessions on a socket: tmux -S "$SOCKET" list-sessions -F '#{session_name}' | xargs -r -n1 tmux -S "$SOCKET" kill-session -t.
  • Remove everything on the private socket: tmux -S "$SOCKET" kill-server.

Helper: wait-for-text.sh

{baseDir}/scripts/wait-for-text.sh polls a pane for a regex (or fixed string) with a timeout.

{baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern' [-F] [-T 20] [-i 0.5] [-l 2000]
  • -t/--target pane target (required)
  • -p/--pattern regex to match (required); add -F for fixed string
  • -T timeout seconds (integer, default 15)
  • -i poll interval seconds (default 0.5)
  • -l history lines to search (integer, default 1000)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

On-demand provisioning guide for a Memmy GUI task that fully connects an explicitly named local Agent: discover its active history store, install or remove its rendered Memmy Skill, bootstrap a scan boundary, persist a validated automatic-sync recipe, and verify GUI-visible readiness.

The English summary is being prepared. Showing the original description.

MemTensor/memmy-agent2.1KUpdated Oct 18, 2026

Answer questions about what the user recently did on their computer — who contacted them, what they were working on, where they left off — by reading the local Computer History summaries and raw event streams.

The English summary is being prepared. Showing the original description.

MemTensor/memmy-agent2.1KUpdated Oct 18, 2026

cron

Free

Schedule reminders and recurring tasks.

The English summary is being prepared. Showing the original description.

MemTensor/memmy-agent2.1KUpdated Oct 18, 2026

docx

Free

Create, read, edit, review, redline, comment on, merge, audit, render, and verify .docx Word documents, including layout-sensitive and OOXML-level work.

The English summary is being prepared. Showing the original description.

MemTensor/memmy-agent2.1KUpdated Oct 18, 2026

github

Free

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

The English summary is being prepared. Showing the original description.

MemTensor/memmy-agent2.1KUpdated Oct 18, 2026

Generate images and iteratively edit saved image artifacts.

The English summary is being prepared. Showing the original description.

MemTensor/memmy-agent2.1KUpdated Oct 18, 2026

See all skills by MemTensor

Report a problem with this skill