with one click
vk-clean-repo
マージ済みブランチと不要な git worktree を一括削除してリポジトリを整理する
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
マージ済みブランチと不要な git worktree を一括削除してリポジトリを整理する
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | vk-clean-repo |
| description | マージ済みブランチと不要な git worktree を一括削除してリポジトリを整理する |
作業が完了したマージ済みブランチや、不要になった git worktree を検出・削除してリポジトリをクリーンな状態に戻す。
以下の表現でこのスキルを使う:
$ARGUMENTS にリポジトリパスが指定された場合は、そのリポジトリで実行するgit rev-parse --show-toplevel でリポジトリルートを確認するrefs/remotes/origin/HEAD を優先して解決)
git symbolic-ref --short refs/remotes/origin/HEAD | sed 's@^origin/@@'
取得できない場合のみ main / master をフォールバックするgit fetch --prune
リモートで削除済みのトラッキングブランチも整理される。
git worktree list で全 worktree を一覧取得するgit -C <worktree_path> status --porcelain)git branch --merged <main_branch> の出力に含まれるgh pr list --search "head:<branch_name> is:merged" --limit 1 --json number,mergedAt --jq 'length' が 1 を返す(PR API で merged 確認できれば実質マージ済み)以下は ユーザー確認なし で削除する(マージ済み・未コミット変更なしに限る):
.wp-env.override.json を確認する。存在する場合は wp-env 起動の可能性があるため、worktree ディレクトリで wp-env destroy を実行する:
if [ -f "<worktree_path>/.wp-env.override.json" ]; then
(cd "<worktree_path>" && yes | npx wp-env destroy) || true
fi
yes パイプで対話確認をスキップする|| true で握りつぶして次へ進む.wp-env.override.json がない worktree は本体 wp-env と Docker プロジェクト名が衝突しうるため触らないgit worktree remove <worktree_path>
# 通常マージ判定で安全と確認したものは -d、PR API のマージ判定(squash / rebase)の場合は -D を使う
# (PR API でマージ済みが確証済みのため -D でも安全)
git branch -d <branch_name> # 通常マージ判定の場合
git branch -D <branch_name> # squash / rebase merge を PR API で確認した場合
git worktree remove が locked で失敗した場合は git worktree unlock <worktree_path> で解錠して再試行するgit branch --merged <main_branch> の出力から、メインブランチ自身・現在チェックアウト中のブランチ・残存 worktree のブランチを除外したものを git branch -d <branch_name> で削除git branch で全ローカルブランチを取得し、通常マージ済みブランチ・メインブランチ・現在チェックアウト中のブランチ・残存 worktree のブランチを除外したものについて、以下で PR が merged 状態か確認する:
gh pr list --search "head:<branch_name> is:merged" --limit 1 --json number,mergedAt --jq 'length'
1 ならその PR は merged 確定。ローカルブランチを git branch -D <branch_name> で削除する(PR API で merged 確証済みのため -D でも安全)0 なら真の未マージ。ステップ 5 の「要確認」へ回すステップ 3 で「要確認」に分類した worktree、または未マージのローカルブランチが残る場合のみ、ユーザーに確認する:
.wp-env.override.json があれば wp-env destroy を実行する(ステップ 4 と同じ要領):
if [ -f "<worktree_path>/.wp-env.override.json" ]; then
(cd "<worktree_path>" && yes | npx wp-env destroy) || true
fi
git worktree remove <worktree_path> --force
git branch -D <branch_name>
要確認項目が無い場合はこのステップ全体をスキップする(ユーザーへの確認は不要)。
削除した worktree とブランチ、確認待ちで残した項目(あれば)を表示し、完了を報告する。
git branch --merged では検出できないため、必ず gh pr list --search "head:<branch> is:merged" でフォールバック判定すること。PR API で merged 確認できたブランチは git branch -D で削除してよい(既に merge が確証済みのため).wp-env.override.json を持つ worktree は git worktree remove の前に wp-env destroy を実行し、Docker コンテナとボリュームを片付ける(override がない worktree は本体 wp-env と Docker プロジェクト名が一致するため触らない)vk-orchestrator をリリースする。同梱する vk-terminals / vk-agents を最新にそろえてから、バージョン付与・CHANGELOG 確定・タグ push まで一気通貫で行う。「orchestrator をリリース」「vk-orchestrator-release」で起動。
メイン Claude がディレクター(司)として振る舞う。GitHub issue管理、和田(エンジニア)への実装指示、植草(UX)との連携・確認を統括する。
e2eテスト・UIテスト担当(麗美)をサブエージェントとして起動する。PRに対してPlaywrightでブラウザ操作テストを実施する。コードレビューはスコープ外。
GitHub issue の URL を受け取り、司(staff-director)が内容を分析→適切なメンバーに委任→完了確認→報告まで一貫して行う
VK Orchestrator の初回セットアップを対話で行う。doctor で不足項目を検知し、モード選択(ローカル/GitHub)→ 依存順のヒアリング → 3 ファイル(A/B/C)への保存 →(GitHub モード時のみ)ラベル登録 → 再 doctor で確認まで伴走する。
リードエンジニア(安藤保)をサブエージェントとして起動する。コード品質・レビューの最終責任者。設計・可読性・保守性・パフォーマンス・セキュリティの全般をレビュー。「安藤さん」「保さん」で呼び出し可能。