# branch-cleaner > ローカルブランチの状況を確認し、コミット済み・mainに反映済みの変更はブランチを自動削除してmainブランチを最新に更新するスキル。「ブランチを整理して」「ブランチクリーンアップ」「不要なブランチを削除」と依頼された時に使用。単一プロジェクトまたは全プロジェクト一括処理が可能 - Author: suu3 - Repository: suu3play/.claude - Version: 20260105083541 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/suu3play/.claude - Web: https://mule.run/skillshub/@@suu3play/.claude~branch-cleaner:20260105083541 --- --- name: branch-cleaner description: ローカルブランチの状況を確認し、コミット済み・mainに反映済みの変更はブランチを自動削除してmainブランチを最新に更新するスキル。「ブランチを整理して」「ブランチクリーンアップ」「不要なブランチを削除」と依頼された時に使用。単一プロジェクトまたは全プロジェクト一括処理が可能 --- # Branch Cleaner - ブランチ自動整理スキル ローカルブランチの状況を確認し、安全にマージ済みブランチを削除してmainブランチを最新に更新するスキル。 ## 使用タイミング - 「ブランチを整理して」 - 「ブランチクリーンアップして」 - 「不要なブランチを削除して」 - 「全プロジェクトのブランチを整理して」 ## 動作モード ### 単一プロジェクトモード 指定プロジェクトのみを処理 **キーワード**: 「[プロジェクト名]のブランチを整理して」 ### 全プロジェクトモード `[プロジェクトルート]`配下の全プロジェクトを一括処理 **キーワード**: 「全プロジェクトのブランチを整理して」 ## 実行フロー ### 1. プロジェクト情報の取得 - プロジェクト名の特定(指定なしの場合はカレントディレクトリ) - プロジェクトディレクトリへ移動 - Gitリポジトリ確認 ### 2. ブランチ状態の確認 以下を確認: - ワーキングツリーの状態 (`git status`) - ローカルブランチ一覧 (`git branch -v`) - 未プッシュコミット (`git log --branches --not --remotes --oneline`) - 現在のブランチ ### 3. 安全性チェック 以下を満たす場合のみ次のステップへ: - ✅ ワーキングツリー: クリーン - ✅ 未コミット変更: なし - ✅ 未プッシュコミット: なし 安全でない場合はスキップして警告表示。 ### 4. 削除対象ブランチの特定 - mainブランチ以外を抽出 - マージ済みブランチを特定 (`git branch --merged main`) - 未マージブランチは保護 ### 5. ユーザー確認 削除実行前に削除対象を表示して確認。「No」選択時は即座に中断。 ### 6. ブランチ整理の実行 承認後: 1. mainブランチに切り替え (`git checkout main`) 2. mainを最新に更新 (`git pull origin main`) 3. マージ済みブランチを削除 (`git branch -d [ブランチ名]`) 4. 未マージブランチは個別確認 ### 7. 実行結果の報告 削除されたブランチ、mainの更新状況、保護されたブランチを報告。 ## 使用例 ### 例1: 単一プロジェクト **ユーザー**: growth-diary のブランチを整理して **動作**: 1. growth-diaryに移動 2. 状態確認 → 安全性チェックOK 3. 3つのマージ済みブランチを特定 4. ユーザー確認 5. 承認後、削除 + main更新 6. 結果報告 ### 例2: 全プロジェクト **ユーザー**: すべてのプロジェクトのブランチを整理して **動作**: 1. 全プロジェクトを検出(8プロジェクト) 2. 各プロジェクトで安全性チェック 3. 合計27ブランチが削除対象 4. ユーザー確認 5. 承認後、各プロジェクトで処理 6. 全体サマリー報告 ## エラーハンドリング 主なエラーと対処法: - プロジェクトが見つからない - Gitリポジトリではない - リモート接続エラー - ブランチ削除失敗 - mainブランチ更新失敗 **詳細**: `references/branch-cleanup-errors.md` を参照 ## 設定オプション `.claude/branch-cleanup-config.json` で動作をカスタマイズ可能: ```json { "protectedBranches": ["main", "develop", "staging"], "autoConfirm": false, "deleteUnmerged": false, "skipProjects": ["legacy-project"], "logResults": true } ``` **詳細**: `references/branch-cleanup-config.md` を参照 ## 注意事項 1. **破壊的操作**: ローカルブランチが削除されます 2. **安全機能**: 未コミット・未プッシュは自動スキップ 3. **マージ保護**: 未マージブランチは保護 4. **ユーザー確認**: 削除前に必ず確認 ## リファレンス - **エラーと対処法**: `references/branch-cleanup-errors.md` - 詳細なエラー解説とトラブルシューティング - **設定オプション**: `references/branch-cleanup-config.md` - カスタマイズ方法と設定例