本文へ移動
cccskills
無料GitHub で公開日本語紹介

tmux

tmux上の対話型CLIにキー入力を送り、ペインの表示を取得して処理状況を追うためのセッション操作手順を確認できます。

原文原文の説明を見る

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

HKUDS/AutoSwarmスター 2,083(GitHub 2,083 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 対話型CLIに入力を送りたいとき
  • 実行中の端末出力を確認したいとき
  • 複数のエージェントを並行監視したいとき
  • プロンプトが出るまで処理を待ちたいとき

日本語での紹介

できること

対話型の端末操作が必要なときに、tmuxでセッションやペインを作成し、コマンド入力を送り、表示内容を取得する手順を確認できます。専用ソケットを使ったセッションの分離、セッションやペインの一覧表示、プロンプトが現れるまで待つ方法も扱います。複数のコーディングエージェントを別々のセッションで起動し、出力を確認する例や、終了後のセッション・サーバーの片付け方も含まれます。

こんなときに便利

REPLや対話型CLIを端末上で操作したいとき、長時間動く処理の出力をあとから確認したいときに向いています。複数のエージェントを並行して動かし、各セッションの進行状況を見たい場合にも使えます。

使い方の例

  • 「tmuxでPythonの対話セッションを起動して、出力を確認して」
  • 「このセッションのペインにコマンドを送り、指定の文字列が出るまで待って」
  • 「複数のコーディングエージェントを別々のtmuxセッションで監視して」

注意点

tmuxが必要です。対話型TTYが必要な場面向けの手順で、非対話の長時間処理にはshell_execを優先するよう記載されています。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(3)

  • SKILL.md3.3 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 shell_exec for long-running, non-interactive tasks.

Quickstart (isolated socket)

SOCKET_DIR="${OPC_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/opc-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/opc.sock"
SESSION=opc-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 OPC_TMUX_SOCKET_DIR environment variable.
  • Default socket path: "$OPC_TMUX_SOCKET_DIR/opc.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 OPC_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).

Orchestrating Coding Agents

tmux excels at running multiple coding agents in parallel:

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

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

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

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

tmux -S "$SOCKET" capture-pane -p -t agent-1 -S -500

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 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

clawhub

無料概要あり

ClawHubで目的に合うエージェントスキルを検索し、プロジェクトへの導入やインストール済みスキルの更新を進めるスキルです。

  • 作業に合うスキルを探したいとき
  • プロジェクトにスキルを導入したいとき
  • 導入済みスキルを更新・確認したいとき
HKUDS/AutoSwarm2,0832026年10月29日 更新

collaboration-playbook

無料概要あり

AutoSwarmの会社モードで、作業範囲の守り方や引き継ぎ、同僚への連絡、会議、共同作業が止まる場合の進め方を定めます。

  • 担当作業の引き継ぎを整えたいとき
  • 同僚へ連絡する条件を判断したいとき
  • 役割間の会議やブロック対応を整理したいとき
HKUDS/AutoSwarm2,0832026年10月29日 更新

cron

無料概要あり

システムのcrontabを使い、定期実行するタスクや一度だけ実行する予定を設定・確認・削除する方法を案内します。リマインダーや定型処理のスケジュール管理に使えます。

  • 定期リマインダーの設定
  • 一度だけの予定の登録
  • cronジョブの確認と削除
HKUDS/AutoSwarm2,0832026年10月29日 更新

github

無料概要あり

GitHubのIssueやプルリクエスト、CI実行状況を`gh`コマンドで確認し、必要に応じてAPIから詳細情報を取得するスキルです。

  • プルリクエストのCI状況を確認したいとき
  • 失敗したワークフローのログを調べたいとき
  • 最近のワークフロー実行を一覧したいとき
HKUDS/AutoSwarm2,0832026年10月29日 更新

memory

無料概要あり

ユーザーが後のセッションでも使いたいと確認した設定やプロジェクト固有の情報を、全体用・プロジェクト用のMarkdownメモに整理して保存します。

  • 継続して使う回答の好みを残したいとき
  • プロジェクトの規約や制約を記録したいとき
  • 次回以降に必要な作業パスを整理したいとき
HKUDS/AutoSwarm2,0832026年10月29日 更新

opc-collab

無料概要あり

AutoSwarmの会社モードで、エージェントへの連絡や作業の委任、会議への応答、管理ボードの確認、タスク調整の提案を行います。

  • チームメンバーに作業状況を連絡したいとき
  • 不足情報をユーザーに確認したいとき
  • 担当者へ作業を委任したいとき
HKUDS/AutoSwarm2,0832026年10月29日 更新

HKUDS のスキルをすべて見る

このスキルの問題を報告する