ワンクリックで
cleanup-merged-branches
清理已合併進 main 的本地與遠端 git 分支。本專案採 squash merge,PR 合併後特性分支可直接刪除。當使用者提到「清理分支、cleanup branches、刪除舊分支、清掉已合併分支、整理 branch」時觸發。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
清理已合併進 main 的本地與遠端 git 分支。本專案採 squash merge,PR 合併後特性分支可直接刪除。當使用者提到「清理分支、cleanup branches、刪除舊分支、清掉已合併分支、整理 branch」時觸發。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
建立本專案的 Pull Request:雙語描述 (zh-TW/en)、gh CLI、.agent/skills/pull-request/scripts/check-pr.sh 預驗證、references/pr_template.md 與 checklist.md。當使用者提到「開 PR、建 PR、create PR、pull request、提交變更、發 PR、新建 PR」時觸發。
本專案 (MV3 Chrome extension) 的除錯紀律與 playbook:先重現再修、證據優先於模式匹配、單變因修改、跨 context 時序問題、service worker 終止、storage 問題、flaky E2E 分流。當使用者提到「除錯、debug、壞掉、不會動、修不好、查原因、root cause、flaky、時好時壞」時觸發。
維護本專案 AI agent harness(AGENTS.md / CLAUDE.md / GEMINI.md / .agent/{rules,skills,workflows} / docs/wiki)的 SOP:單一事實來源對照表、drift 稽核步驟、新增/刪除 skill 的判準、wiki 同步機制。當使用者提到「更新 harness、同步 AGENTS、文件過時、drift、稽核設定檔、整理 skills、維護 wiki」時觸發。
交付前驗證紀律:依變更類型選擇最小充分驗證組合(unit / 目標 E2E / happy-path CI / make build)、Makefile 打包檢查、i18n 連動、GEMINI.md key_files 同步、誠實回報。當使用者提到「驗證、收尾、完成了嗎、可以交付嗎、送 PR 前、檢查一下」或任何實作即將收尾時觸發。
本專案 (Manifest V3 Chrome extension) 的 commit 規範與範例:subject 使用英文 Conventional Commits、body 使用繁中說明背景與原因。當使用者提到「commit、提交訊息、commit message、寫 commit、commit 規範」時觸發。
撰寫本專案的 PRD (產品需求文件),位置為 /docs/specs/{type}/{ID-PREFIX}_{desc}/PRD_spec.md。當使用者提到「PRD、產品需求、需求文件、寫規格、新功能規劃、acceptance criteria」時觸發。分級 SDD 之 T2(完整流程)的 Phase 1,產出物提供給 sa skill 銜接;T1 輕量案件不需獨立 PRD。
| name | cleanup-merged-branches |
| description | 清理已合併進 main 的本地與遠端 git 分支。本專案採 squash merge,PR 合併後特性分支可直接刪除。當使用者提到「清理分支、cleanup branches、刪除舊分支、清掉已合併分支、整理 branch」時觸發。 |
This skill safely deletes git branches whose PRs have been merged into main.
⚠️ 本專案採 squash merge —
git branch --merged main偵測不到已合併分支! Squash merge 會把分支 commits 壓成 main 上的一個全新 commit,分支自身的 commit 永遠不會成為 main 的 ancestor,所以--merged永遠列不出它們、git branch -d也會誤報 "not yet merged" 而拒刪。 必須以 GitHub PR 的合併狀態為準(ghCLI),確認後用-D刪除。
git fetch --prune
(repo 若已啟用 "Automatically delete head branches",遠端分支在 merge 後自動刪除,prune 會一併清掉本地的 remote-tracking refs。)
gh pr list --state merged --limit 100 --json headRefName --jq '.[].headRefName' | sort -u
列出本地分支(排除 main 與當前分支),取與步驟 2 清單的交集,先向使用者展示將刪除哪些:
git for-each-ref refs/heads --format='%(refname:short)' | grep -vx main
# squash merge 下必須用 -D;安全性由步驟 2 的 PR merged 狀態保證
git branch -D <branch-name>
僅在 auto-delete 未啟用或失效時需要:
git push origin --delete <branch-name>
-D 的安全前提:squash merge 使 -d 永遠失效;-D 僅可用於已確認 PR merged 的分支。main — 過濾須排除 main 與當前分支(git branch --show-current)。git log --oneline -20 main 確認該分支的 squash commit(subject 帶 (#PR號))已在 main 上,再行刪除。main(不是 master)。.agent/workflows/cleanup-branches.md(含 cherry-pick 與 cleanup 衝突處理)。git worktree list,避免刪除仍在使用中的分支。