From github-vibe-flow
Use after PRs are merged to clean up worktrees, branches, design documents, and sync local environment to the latest default branch.
How this skill is triggered — by the user, by Claude, or both
Slash command
/github-vibe-flow:vf-mergeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
vibe-flowサイクルで作成されたすべてのリソースをクリーンアップし、ローカル環境をデフォルトブランチの最新状態に同期する。
vibe-flowサイクルで作成されたすべてのリソースをクリーンアップし、ローカル環境をデフォルトブランチの最新状態に同期する。
開始時の宣言: 「vf-merge スキルを使って、完了したフローのクリーンアップを行います。」
クリーンアップの前に、マージが必要なオープンのvibe-flow PRを確認する。
# vibe-flowラベルのオープンPRを一覧表示
gh pr list --label vibe-flow --state open --json number,title,headRefName
オープンPRがない場合: ステップ1にスキップする。
オープンPRがある場合:
各オープンPRについて、個別に人間の承認を求める:
オープンのvibe-flow PRが見つかりました:
PR #15: Add auth endpoint (ブランチ: vf/12-add-auth)
→ このPRをマージしますか? [はい / いいえ / スキップ]
承認されたPRごとに、gh CLI経由でマージする:
gh pr merge <number> --merge --delete-branch
--merge: マージコミット戦略--delete-branch: マージ後にリモートブランチを自動削除すべての承認済みPRがマージ(またはスキップ)されたら、ステップ1に進む。
エラーハンドリング:
マージ済みのvibe-flow PRと関連リソースを特定する:
# vibe-flowラベルのマージ済みPRを一覧表示
gh pr list --label vibe-flow --state merged --json number,title,headRefName
各マージ済みPRについて以下を特定する:
.worktrees/vf/<issue>-<slug>vf/<issue>-<slug>origin/vf/<issue>-<slug>また以下も検出する:
docs/plans/ 内の設計ドキュメントvf-* という名前の残存tmuxペインクリーンアップ対象の全リストを表示する:
クリーンアップ対象:
worktree:
- .worktrees/vf/12-add-auth (マージ済みPR #15)
- .worktrees/vf/13-add-api (マージ済みPR #16)
ブランチ(ローカル + リモート):
- vf/12-add-auth
- vf/13-add-api
設計ドキュメント:
- docs/plans/2026-03-15-auth-design.md
tmuxペイン:
- vf-12, vf-13, vf-monitor
設計ドキュメントの処理方法:
1. 削除
2. docs/plans/archive/ に移動
クリーンアップを実行しますか?
人間の確認を待つ。
確認後:
REPO_ROOT=$(git rev-parse --show-toplevel)
# worktreeの削除
git worktree remove "${REPO_ROOT}/.worktrees/vf/12-add-auth" --force
git worktree remove "${REPO_ROOT}/.worktrees/vf/13-add-api" --force
# ローカルブランチの削除
git branch -d vf/12-add-auth
git branch -d vf/13-add-api
# リモートブランチの削除(ステップ0の --delete-branch で削除済みの場合はスキップ)
git push origin --delete vf/12-add-auth 2>/dev/null || true
git push origin --delete vf/13-add-api 2>/dev/null || true
# 設計ドキュメントの処理(ユーザーの選択に基づく)
# 選択肢1: 削除
rm docs/plans/2026-03-15-auth-design.md
# 選択肢2: アーカイブ
mkdir -p docs/plans/archive
mv docs/plans/2026-03-15-auth-design.md docs/plans/archive/
# tmuxペインの終了
tmux kill-pane -t vf-12 2>/dev/null
tmux kill-pane -t vf-13 2>/dev/null
tmux kill-pane -t vf-monitor 2>/dev/null
# デフォルトブランチを検出
DEFAULT_BRANCH=$(git remote show origin | grep 'HEAD branch' | awk '{print $NF}')
# デフォルトブランチに切り替えて最新を取得
git checkout "${DEFAULT_BRANCH}"
git pull origin "${DEFAULT_BRANCH}"
クリーンアップ完了:
- worktreeを2件削除
- ローカルブランチを2件削除
- リモートブランチを2件削除
- 設計ドキュメントを1件アーカイブ
- tmuxペインを3件終了
- mainに同期 (最新: abc1234)
呼び出され方:
関連スキル:
npx claudepluginhub ensekitt/github-vibe-flow --plugin github-vibe-flowResolves merged PR workflows to completed state: verifies merge status, collects metadata, transitions phases, and cleans up worktrees/branches.
Safely deletes merged Git worktrees after verifying git merge status and GitHub PR closure via gh CLI. Handles single branch or 'all' for batch cleanup post-PR merge.
Merges a PR, removes a Git worktree, and deletes the associated state file. Final phase of a multi-step local branch/PR workflow.