Tmux Session Manager Skill
Lightsail 上で稼働する Claude Code tmux セッションを SSH 経由で管理するスキル。 Issue/PR 単位のセッション状況確認、指示送信、PR 同期を行う。
トリガー
以下のキーワードで発動:
- 「セッション確認」「セッション一覧」「tmux の状態」
- 「PR の進捗」「Issue の作業状況」
- 「セッション作成」「PR 同期」「sync-prs」
- 「ダッシュボード」「tmux dashboard」
- 「セッションに指示」「send-keys」
スクリプトパス
リモート (Lightsail) 上:
REPO=/home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata CC=$REPO/ops/tmux-manager/cc-session.sh SYNC=$REPO/ops/tmux-manager/sync-prs.sh
コマンド実行方法
全てのコマンドは SSH 経由で実行する。ssh lightsail のエイリアスが ~/.ssh/config に設定済み。
ダッシュボード表示
bashssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh dashboard"
セッション一覧
bashssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh list"
セッション状態確認
bashssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh status PR-45"
セッション出力キャプチャ
bash# デフォルト100行 ssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh capture PR-45" # 行数指定 ssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh capture PR-45 200"
セッション作成
bash# PR 用 ssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh create PR-45" # Issue 用 ssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh create ISSUE-123"
指示送信 (send-keys)
bashssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh send PR-45 'このPRのレビューコメントに対応して push してください'"
全 Open PR 同期
bashssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/sync-prs.sh --cleanup"
セッション終了
bashssh lightsail "cd /home/runner/actions-runner/_work/githubactions_fordata/githubactions_fordata && bash ops/tmux-manager/cc-session.sh kill PR-45"
ワークフロー
1. 全体状況確認
ユーザーが「セッション確認」「今の状態は?」と聞いた場合:
dashboardコマンドで全体概要を表示- 必要に応じて個別の
statusで詳細確認 - 結果をユーザーに分かりやすく要約して報告
2. PR 同期 + セッション作成
ユーザーが「PR 同期して」「全 PR のセッション作って」と言った場合:
sync-prs.sh --cleanupで全 Open PR を同期- 結果(作成数、スキップ数、クリーンアップ数)を報告
3. 特定セッションへの指示
ユーザーが「PR-45 にレビュー対応させて」と言った場合:
status PR-45で現在の状態を確認- アイドル状態なら
send PR-45 "指示内容"で指示を送信 - 作業中なら「現在作業中です。完了を待ちますか?」と確認
4. セッション出力の確認・要約
ユーザーが「PR-45 で何してる?」と聞いた場合:
capture PR-45 100で最新出力を取得- 内容を要約してユーザーに報告
注意事項
- SSH 接続がタイムアウトする場合は
-o ConnectTimeout=10を追加 - 作業中のセッションに send-keys しない(状態を必ず確認)
- セッション数は同時 5 以下を推奨(Lightsail リソース制約)
- ログは
ops/tmux-manager/logs/に保存されている


