← ClaudeAtlas

mergedlisted

Delete merged branches and worktrees after listing them for approval, then update main. Use when a PR was merged(マージ後の後片付け・ブランチを整理・worktreeを削除).
devbasex/ai-plugins · ★ 1 · Code & Development · score 68
Install: claude install-skill devbasex/ai-plugins
# マージ後クリーンアップコマンド PR マージ後の後始末をまとめて実行する。対象 PR のブランチ削除に加えて、残っているマージ済みブランチの整理と main の取り込みもこの Skill で扱う。 ## 用途の切り分け(最初に判定する) | 依頼の意図 | 実行する節 | |---|---| | PR マージ後のクリーンアップ | 「クリーンアップの手順」→ 必要なら「マージ済みブランチの整理」 | | マージ済みブランチの整理のみ | 「マージ済みブランチの整理」のみ(クリーンアップの手順は実行しない) | | 作業中ブランチへ最新 main を取り込む | 「main の取り込み」のみ(クリーンアップの手順は実行しない) | 「クリーンアップの手順」以外を目的とする場合、対象 PR は未マージであるのが通常のため、 手順 1(PR のマージ確認)を前提条件にしてはならない。「マージ済みブランチの整理」と 「main の取り込み」はいずれも **単独で実行可能** で、PR のマージ状態に依存しない。 ## 削除前の同意取得(必須) worktree 削除・ローカルブランチ削除・リモートブランチ削除はいずれも取り消しが難しい。 **この 3 種類の操作は、実行の直前に削除対象を一覧で提示して利用者の同意を得る。 同意が得られていない対象は削除しない。** この Skill は自然文の依頼でも起動するため、 安全性はこの手順で担保する(frontmatter の発動制御には依存しない)。 | 操作 | 提示するもの | |---|---| | worktree 削除 | worktree のパスと、未コミット変更の有無(`git -C <path> status --short`) | | ローカルブランチ削除 | ブランチ名と、main へ未マージのコミットがあるか | | リモートブランチ削除 | リモート名とブランチ名。共有ブランチに影響するため、他の削除と分けて同意を取る | - 「削除してよいか」だけを尋ねるのは確認にならない。**対象そのものを一覧で示す** - 同意が得られなかった対象はスキップし、作業完了報告にスキップした対象と理由を記載する - 利用者が対象を明示して削除を依頼した場合(`/ndf:merged 123` で PR 番号を指定した等)は、 その依頼が対象への同意にあたる。それでも一覧の提示は行い、依頼に含まれない対象 (マージ済みブランチの一括整理、リモート削除)については改めて同意を取る ## クリーンアップの手順 1. **マージ確認**: 引数の(引数がなければ自身が作成した最新の)PR が main に merge されていることを github mcp で確認。merge されていなければクリーンアップは実施せず終了 2. **作業ツリー退避**: `git branch --show-current` で**退避元のブランチ名を記録**し、`git status` を確認して変更があれば `git stash` 3. **main 更新**: `git checkout main` → `git pull` 4. **worktree クリーンアップ**: `git worktree list` で当該 PR 番号に対応する worktree (`pr<PR番号>`) を探し、**「削除前の同意取得」に従ってパスと未コミット変更の有無を提示し、同意を得てから** `gi