ce-clean-gone-branches について
ce-clean-gone-branches は、リモート追跡ブランチが削除されたローカル Git ブランチと関連する worktree を整理するエージェントスキルです。対象を提示し、削除前に確認を求めます。
主な機能
- 01リモート状態の取得と整理
- 02gone 状態のブランチ検出
- 03一括削除前の確認
- 04関連 worktree の削除
活用シーン
- 01リモートで削除済みのブランチ整理
- 02不要なローカル worktree の削除
- 03整理対象ブランチの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ everyinc/ compound-engineering-plugin --skill ce-clean-gone-branchesインストール後、Claude Code で/ce-clean-gone-branchesを入力して読み込まれたか確認します。
同梱ファイルscripts/clean-gone
詳細
不要になったブランチのクリーンアップ
リモート追跡ブランチが削除されたローカルブランチを、関連するワークツリーも含めて削除します。
ワークフロー
ステップ 1:不要なブランチを検出する
検出スクリプトを実行して、リモートの最新状態を取得し、不要なブランチを特定します。
bash scripts/clean-gone
スクリプトは最初に git fetch --prune を実行し、その後 git branch -vv を解析して : gone] と表示されたブランチを特定します。
スクリプトの出力が __NONE__ の場合、不要なブランチは見つからなかったことを報告して終了します。
ステップ 2:ブランチを提示して確認を求める
削除するブランチの一覧をユーザーに提示します。シンプルなリスト形式にします。
These local branches have been deleted from the remote:
- feature/old-thing
- bugfix/resolved-issue
- experiment/abandoned
Delete all of them? (y/n)
プラットフォームのブロッキング質問ツールを使用してユーザーの回答を待ちます。Claude Code では AskUserQuestion(スキーマが読み込まれていない場合は、最初に select:AskUserQuestion を指定して ToolSearch を呼び出します)、Codex では request_user_input、Gemini では ask_user、Pi では ask_user(pi-ask-user 拡張機能が必要)を使用します。ハーネスにブロッキングツールがない場合、または呼び出しがエラーになった場合(例:Codex の編集モード)に限り、チャットで一覧を提示します。スキーマの読み込みが必要であることを理由に、フォールバックしてはいけません。質問を黙って省略してはいけません。
これは一覧全体についての「はい」か「いいえ」の判断です。複数選択やブランチごとの選択肢を提示してはいけません。
ステップ 3:確認済みのブランチを削除する
ユーザーが確認した場合、各ブランチを削除します。ブランチごとに、次の手順を実行します。
- 関連するワークツリーがあるか確認します(
git worktree list | grep "\\[$branch\\]") - ワークツリーが存在し、それがメインリポジトリのルートでない場合は、最初に削除します:
git worktree remove --force "$worktree_path" - ブランチを削除します:
git branch -D "$branch"
作業の進行に合わせて結果を報告します。
Removed worktree: .worktrees/feature/old-thing
Deleted branch: feature/old-thing
Deleted branch: bugfix/resolved-issue
Deleted branch: experiment/abandoned
Cleaned up 3 branches.
ユーザーが拒否した場合は、その旨を伝えて、何も削除せずに終了します。