cmux-customize について
アプリのソースツリー外にある cmux 設定をカスタマイズするスキルです。アクション、ワークスペースコマンド、タブバーのボタン、メニュー、右サイドバーを扱い、既存設定を確認して最小限の変更を加え、無関係な項目を保持します。
主な機能
- 01サーフェスタブバーのボタン設定
- 02プラスボタンのアクションとメニュー設定
- 03名前付きワークスペースコマンドの管理
- 04カスタム右サイドバーの接続
- 05設定変更の確認と検証
活用シーン
- 01タブバー操作とワークスペース作成のカスタマイズ
- 02右クリックメニュー項目の追加や調整
- 03ワークスペースコマンドや右サイドバー設定の変更
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ manaflow-ai/ cmux-skills --skill cmux-customizeインストール後、Claude Code で/cmux-customizeを入力して読み込まれたか確認します。
同梱ファイルAGENTS.mdagents/openai.yaml
詳細
cmux-customize
このスキルは、アプリのソースツリー外に保存されている個人用 cmux 設定の変更に使用します。特に、~/.config/cmux/cmux.json とプロジェクトローカルの .cmux/cmux.json ファイルが対象です。アクションレジストリーの項目、サーフェスタブバーのボタン、プラスボタンのクリック時と右クリック時のメニュー動作、カスタムワークスペースコマンド、右サイドバーの設定、および関連する設定の整理を扱います。
前提条件
- グローバルな
~/.config/cmux/cmux.jsonの読み書きには、cmux-settingsスキルのcmux-settingsヘルパースクリプトを使用してください。 - タスクが
app、terminal、notifications、sidebar、sidebarAppearance、workspaceColors、automation、browser、またはshortcutsの標準設定に関係する場合は、まずcmux-settingsスキルを読んでください。
リファレンス
グローバル設定:
cmux-settings path
cmux-settings dump --no-comments
cmux.json の一般的な構造セクション:
actions:カスタム UI とコマンドで使用するアクションレジストリーです。ui.surfaceTabBar.buttons:サーフェスタブバーに表示されるボタンです。ui.newWorkspace.action:プラスボタンを通常クリックしたときに実行されるアクションです。ui.newWorkspace.contextMenu:プラスボタンを右クリックしたときに表示されるメニュー項目です。commands:名前付きのワークスペースコマンドとレイアウトです。rightSidebar:カスタム右サイドバーの設定です。vault:カスタム Vault エージェントの登録です。
ui.surfaceTabBar.buttons には、組み込みアクション ID を文字列またはオブジェクト参照として指定できます。
[
"cmux.newTerminal",
"cmux.newBrowser",
"cmux.splitRight",
"cmux.splitDown",
{ "action": "custom-action-id" }
]
プラスボタンの右クリックメニューには ui.newWorkspace.contextMenu を使用してください。cmux では ui.newWorkspace.rightClick もレガシーエイリアスとして受け付けますが、新たな編集では contextMenu を使用してください。
ワークフロー
ステップ 1:現在の設定を確認する
変更を加える前に、既存の設定を読み取ってください。
cmux-settings dump --no-comments
ユーザーが表示されている UI サーフェスを指定した場合は、関連する ID を検索してください。
rg -n "surfaceTabBar|newWorkspace|rightSidebar|<action-id>|<label>" ~/.config/cmux/cmux.json
ステップ 2:必要最小限の設定変更を行う
グローバル設定の編集にはヘルパーを使用してください。ヘルパーは JSONC を解析し、アトミックに書き込みます。
組み込みのサーフェスコントロールは残したまま、カスタムエージェントの起動ボタンをサーフェスタブバーから削除します。
cmux-settings set ui.surfaceTabBar.buttons \
'["cmux.newTerminal","cmux.newBrowser","cmux.splitRight","cmux.splitDown"]'
アクションレジストリーの項目を削除せず、名前を指定したアクションをタブバーから削除します。
cmux-settings get ui.surfaceTabBar.buttons
# Edit the array to remove only { "action": "<action-id>" }, then set it back.
すべてのサーフェスからコマンド自体を削除するようユーザーが求めた場合に限り、アクションを完全に削除してください。
cmux-settings unset actions.<action-id>
プラスボタンとその右クリックメニューをカスタマイズします。
cmux-settings set ui.newWorkspace.action '"workspace-new-cmux-worktree"'
cmux-settings set ui.newWorkspace.contextMenu \
'[{"action":"workspace-new-cmux-worktree","title":"New cmux Worktree"},{"action":"workspace-terminal-browser","title":"Terminal + Browser"},{"type":"separator"},{"action":"cmux.newTerminal","title":"New Terminal"},{"action":"cmux.newBrowser","title":"New Browser"}]'
ステップ 3:確認する
変更したパスを必ず読み戻してください。
cmux-settings get ui.surfaceTabBar.buttons
cmux-settings get ui.newWorkspace.contextMenu
解析可能であることを検証してください。厳密なサポート対象キーのバリデーターは、チェックアウトしたソースの一覧が実行中のアプリより古い場合、正しい構造キーや新しいアプリのキーに警告することがあります。その場合、無関係なキーは削除しないでください。ファイルが解析できることを確認し、無関係なバリデーター警告について報告してください。
cmux-settings dump --no-comments >/tmp/cmux-config.json
ステップ 4:適用の動作を報告する
cmux は ~/.config/cmux/cmux.json を監視しているため、設定の変更は保存後に再ビルドなしで適用されます。設定のみ、またはスキルのみの変更では、タグ付きのアプリ再読み込みを実行しないでください。
ルール
- 無関係なカスタムアクション、コマンド、メニュー、Vault 項目、右サイドバー設定は保持してください。
- ボタンをタブバーから削除しただけで、アクション定義を削除しないでください。
- 永続的な製品設定に
defaults writeを使用しないでください。 - ユーザー設定の変更で
repo/を編集しないでください。 - 設定のみ、またはスキルのみの変更では、アプリの再読み込みを実行しないでください。
- 回答は簡潔にし、変更した正確なパスまたはキーを記載してください。