원클릭으로
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,避免刪除仍在使用中的分支。