본문으로 건너뛰기
cccskills
무료GitHub에 공개

tmux

Control interactive command-line programs through tmux by sending keystrokes, reading terminal output, and waiting for prompts. Use separate sessions to operate Python consoles or run multiple coding agents while checking their progress and results.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Use when a CLI task needs an interactive terminal or control of a tmux session.

설치 방법 보기

이럴 때 유용합니다

  • Operate an interactive Python console
  • Run multiple coding agents in parallel
  • Wait for prompts and inspect terminal output
  • Find and clean up tmux sessions

포함된 파일(3)

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

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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="${NANOBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/nanobot-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/nanobot.sock"
SESSION=nanobot-python

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' 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 NANOBOT_TMUX_SOCKET_DIR environment variable.
  • Default socket path: "$NANOBOT_TMUX_SOCKET_DIR/nanobot.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 NANOBOT_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 python REPLs, set PYTHON_BASIC_REPL=1 (non-basic REPL breaks send-keys flows).

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)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

clawhub

무료

Find agent skills on ClawHub, a public skill registry, using everyday language. Install selected skills into the nanobot workspace, review installed skills, and update them together through command-line tools.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Find a skill for a specific task
  • Install a skill into the nanobot workspace
  • Review the list of installed skills
HKUDS/nanobot4.9만2026년 10월 19일 업데이트

cron

무료

Schedule reminders and recurring agent tasks at specific times or intervals. Use it for meeting alerts, regular reports, or weekday routines, with support for one-time tasks, time zones, and viewing or removing scheduled jobs.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Schedule a one-time meeting reminder
  • Set recurring reminders to take breaks
  • Receive a report every weekday
HKUDS/nanobot4.9만2026년 10월 19일 업데이트

github

무료

Use the GitHub command-line tool to inspect issues, pull requests, and automated workflow runs. Check failed steps and logs, retrieve additional details through the API, and extract selected fields into structured results.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Check automated test results for a pull request
  • Inspect failed workflow steps and logs
  • List issue numbers and titles
HKUDS/nanobot4.9만2026년 10월 19일 업데이트

Generate images from written instructions and edit saved or uploaded images using them as references. Continue refining the latest image in a conversation, adjusting details such as brightness, background, or colors while specifying what to preserve.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Creating an image from a written description
  • Editing an uploaded image
  • Refining the latest generated image
HKUDS/nanobot4.9만2026년 10월 19일 업데이트

memory

무료

Search the agent’s conversation history by topic or date to retrieve relevant past entries. Inspect neighboring records when needed to understand the surrounding discussion, using the history log specified for the agent’s workspace.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Finding an earlier conversation about a topic
  • Looking up conversation records by date
  • Checking context around a matching entry
HKUDS/nanobot4.9만2026년 10월 19일 업데이트

my

무료

Inspect an agent’s current model, processing limits, workspace, tools, and message routing details. Diagnose unavailable capabilities, adjust permitted runtime settings, or keep temporary session notes, with advance notice before changes that affect the model or limits.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Diagnose why a capability is unavailable
  • Check capacity before a large task
  • Adjust allowed model presets or iteration limits
HKUDS/nanobot4.9만2026년 10월 19일 업데이트

HKUDS의 스킬 모두 보기

이 스킬의 문제 신고