cmux-cli について
cmux-cliは、CLIからcmuxのワークスペース、パネル、ターミナルサーフェスを操作するスキルです。対象を明示して解決し、操作後の状態を照会してから結果を報告します。
主な機能
- 01フォーカス中のウィンドウやワークスペースを特定
- 02ワークスペース、ウィンドウ、サーフェスを指定
- 03ワークスペース、分割、パネルのフォーカスを管理
- 04ターミナルにテキストやキー入力を送信
- 05cmuxの状態照会で変更を検証
活用シーン
- 01指定したターミナルサーフェスにコマンドを送信
- 02依頼されたワークスペースパネルを作成またはフォーカス
- 03ステータス、進捗、通知を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ robsonrung/ rar-skills --skill cmux-cliインストール後、Claude Code で/cmux-cliを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlreferences/cli-reference.md
詳細
cmux CLI
モデルを選択する前に、ブランチを選択してください。このワークフローは、現在のコーディネーターと直接ツールを使って実行します。ワーカーへのディスパッチは行いません。
デフォルトのインターフェースとして cmux CLI を使用します。すべてのコマンドは、特定のワークスペース、パネル、またはサーフェスに対して実行されるものとして扱います。観測可能な動作を基準にします。対象を明示し、コマンドを実行してから、結果を確認できる cmux の状態を問い合わせてください。
コンテキストの確立
cmux pingを実行します。失敗した場合は、cmux が利用できない、または応答していないと報告してください。ユーザーから依頼がない限り、インストール、ソケット設定の変更、別のターミナルマネージャーの使用は行わないでください。cmux identify --jsonを実行して、フォーカス中のウィンドウ、ワークスペース、パネル、サーフェスを取得します。リクエストでフォーカス中のものではなく特定のワークスペースが指定されている場合は、cmux current-workspace --jsonまたはcmux list-workspaces --jsonを使用してください。- フォーカスされていない対象の場合は、JSON 出力から ID を特定し、ドキュメントに記載されたスコープフラグ
--window、--workspace、または--surfaceを渡してください。参照 ID と UUID を区別する必要がある場合は、--id-format bothを指定してください。
「検証する観測可能な動作は、サーフェス <id> がリクエストされた入力を受け取ることです」と伝えてください。新しい問い合わせで対象を確認できる場合は、以前のコマンドから対象を推測しないでください。
リクエストされた操作の実行
シェル呼び出しごとに cmux コマンドを1つ使用してください。ID の解析や状態の報告には、JSON 出力を優先してください。一般的でない操作の場合や、以下に正確なフラグが記載されていない場合は、このスキルのディレクトリにある references/cli-reference.md を参照してください。
ワークスペースとパネル
cmux new-workspace
cmux select-workspace --workspace <workspace-id>
cmux new-split right
cmux list-panels --json
cmux focus-panel --panel <surface-id>
new-split では left、right、up、down を指定できます。ユーザーがその状態変更をリクエストした場合にのみ、ワークスペースまたは分割を作成してください。close-workspace --workspace <workspace-id> を実行する前に、ワークスペースを特定し、閉じることについてユーザーの明示的な意思を確認してください。
ターミナル入力
対象がわかっている場合は、明示したサーフェスにテキストを送信してください。テキストを実行する意図がある場合は、Enter を別に送信してください。
cmux send --surface <surface-id> "npm test"
cmux send-key --surface <surface-id> enter
send はターミナル入力を変更し、send-key enter はそれを実行します。状態を確認するためだけに、ターミナルへコマンドを送信しないでください。まず cmux の問い合わせコマンドで確認してください。send-key では enter、tab、escape、backspace、delete および矢印キーを使用できます。
ステータス、進捗、ログ、通知
ステータスには、タスク固有の一意なキーを使用してください。そのキーが所有する状態のみをクリアしてください。ユーザーがタスクの状態報告を依頼した場合にのみ、ステータス、進捗、またはログを設定してください。通知の作成は、明示的に通知を依頼された場合に限ります。
cmux set-status task-build "running" --icon hammer --color "#ff9500" --priority 80
cmux set-progress 0.5 --label "Tests running"
cmux log --level progress --source task-build "Tests started"
cmux notify --title "Task complete" --body "Tests passed"
clear-notifications と clear-log は共有状態を削除します。どちらも明示的な依頼があった場合にのみ実行してください。結果のステータス、進捗、最近の操作コンテキストを報告するには、cmux sidebar-state を使用してください。
検証と報告
受け入れ条件は、コマンドが成功し、その後に独立した cmux の問い合わせでリクエストされた結果を確認できることです。
| リクエストされた結果 | 検証 |
|---|---|
| ワークスペースが選択された | cmux current-workspace --json |
| 分割またはフォーカス中のサーフェスが変更された | cmux list-panels --json および cmux identify --json |
| ステータスまたは進捗が更新された | cmux sidebar-state |
| 通知が作成された | cmux list-notifications --json |
ターミナル入力の場合は、対象と、送信した正確なテキストまたはキーを報告してください。ターミナルコマンド自体の出力を確認できない限り、そのコマンドが成功したとは主張しないでください。cmux コマンド、特定した対象、検証結果を報告してください。cmux がエラーを返した場合は、リクエストされた操作を中止し、エラーテキストを記載してください。
ソケットの境界
ユーザーがソケットによる自動化を明示的に依頼しない限り、CLI を使用してください。ソケットのリクエストの場合は references/cli-reference.md を参照し、id、method、params を含む JSON リクエストのみを使用してください。ユーザーの明示的な承認なしに CMUX_SOCKET_MODE=allowAll を有効にしたり、CMUX_SOCKET_PATH を変更したりしないでください。