一键导入
cleanup-github-worktree
清理长时间未使用的 git worktree(GitHub 版)。仅在用户明确要求清理 worktree 时使用,不自动触发。 关键词:清理 worktree、删除 worktree、移除旧分支、worktree 回收。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
清理长时间未使用的 git worktree(GitHub 版)。仅在用户明确要求清理 worktree 时使用,不自动触发。 关键词:清理 worktree、删除 worktree、移除旧分支、worktree 回收。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
BK-CI 发版 Changelog 增量处理:仅针对本次新增版本块生成「变更概述」并写回中文文件, 再将该增量版本翻译到英文 CHANGELOG。当用户提到发版摘要、变更概述、CHANGELOG 翻译、 中英文 changelog、vX.Y.Z-rc、补充概述、同步英文日志时使用。
在用户显式 @ 本 skill 或明确下达「关闭 worktree 并完成需求」类指令时:将指定分支关联的 GitHub Issue 关闭(可选并确认),移除本地 git worktree 目录与本地分支(不删除远程分支)。 必须在 master 分支上执行。用户可指定要关闭的分支名;若未指定,列出所有 worktree 供用户选择。 不得因仅提及 GitHub、issue、worktree、git 等词而自动套用;须以用户主动调用本工作流为准。
通过 BK-CI 仓库约定安全执行本地提交与远端推送,例如根据当前变更生成一句简短提交内容、先展示给用户确认、确认后再 `git commit`,并默认推送到个人 fork 远端而不是主仓库。 当用户要求“帮我 commit / push / 提交并推送代码 / 发到远端”时优先使用。
通过 GitHub MCP 管理仓库协作时使用,例如检索仓库、提 Issue、起草或创建 PR、查看评论、回复评审和做合并前检查。当用户要操作 GitHub 仓库协作流程而不是修改本地代码实现时优先使用。
须用户 @ 本 skill 或明确说要按 GitHub Issue worktree 流程执行时再读取。 在 master 上:确定关联的 GitHub Issue(默认关联已有,明确要建时才在上游建单)、生成分支名、git fetch、脚本同时创建新分支与 worktree、cursor --new-window 打开新窗口;细节与分支命名见正文。 不因泛泛提到 GitHub、issue、worktree、建分支等词而自动套用。
解释 BK-CI 流水线或创作流的 Model JSON,帮助 AI 理解 Model -> Stage -> Container(Job) -> Element 的含义、启动参数、矩阵、Finally、审核与常见插件语义。用户贴出流水线 JSON、创作流 JSON、编排数据,或询问某个 Stage/Job/插件/atomCode/stepId 含义时使用。
| name | cleanup-github-worktree |
| description | 清理长时间未使用的 git worktree(GitHub 版)。仅在用户明确要求清理 worktree 时使用,不自动触发。 关键词:清理 worktree、删除 worktree、移除旧分支、worktree 回收。 |
| disable-model-invocation | true |
手动触发:当用户明确要求清理、删除或回收长时间未使用的 worktree 时执行。
必须在 master 上执行:执行前 git branch --show-current;若不是 master,中止并提示用户切换。
使用 AskQuestion 让用户选择阈值:
选择清理阈值:超过多久未使用的 worktree 将被清理?1 周(对应 7 天)2 周(对应 14 天)1 个月(对应 30 天)将用户选择映射为天数:
| 选项 | 天数 |
|---|---|
| 1 周 | 7 |
| 2 周 | 14 |
| 1 个月 | 30 |
运行清理脚本,输出候选分支名列表(每行一个分支名),不执行删除。
根据操作系统选择脚本(通过用户信息中的 OS Version 判断):
Windows(PowerShell):
powershell -File .cursor/skills/cleanup-github-worktree/scripts/cleanup-worktree.ps1 -Days <天数>
macOS / Linux(Bash):
bash .cursor/skills/cleanup-github-worktree/scripts/cleanup-worktree.sh -d <天数>
将脚本输出的分支名列表展示给用户。如果没有找到过期 worktree,告知用户并结束。
使用 AskQuestion 让用户确认是否继续:
以上 <N> 个 worktree 将被清理(关闭 GitHub Issue、移除 worktree、删除本地分支),是否继续?确认清理取消用户选择取消时,结束工作流。
对 Step 2 识别出的每一个候选分支,以该分支名作为目标分支,执行 close-github-worktree-done skill 的 Step 1 ~ Step 5 完整流程(跳过其 Step 0 的交互选择)。
open 状态执行关闭(state=closed, state_reason=completed),无需逐个再次 AskQuestion;已 closed 的跳过。close-github-worktree-done Step 2 规则跳过,在最终报告中标记为"跳过(有未提交变更)"。向用户展示清理结果摘要,包含每个分支的处理状态:
| 分支名 | GitHub Issue | worktree | 本地分支 | 备注 |
|---|---|---|---|---|
| bug-12994 | ✅ closed | ✅ 已移除 | ✅ 已删除 | |
| feat-11524 | ⏭ 跳过 | ✅ 已移除 | ✅ 已删除 | 分支名无 issue 号 |
| pref-12948 | — | — | — | 跳过(有未提交变更) |
| 脚本 | 系统 | 路径 |
|---|---|---|
| cleanup-worktree.ps1 | Windows | .cursor/skills/cleanup-github-worktree/scripts/cleanup-worktree.ps1 |
| cleanup-worktree.sh | macOS/Linux | .cursor/skills/cleanup-github-worktree/scripts/cleanup-worktree.sh |
脚本职责:
git worktree list --porcelain 获取所有 worktreegit log -1 --format=%ct <branch> 获取分支最后一次 commit 时间;detached HEAD 时回退到目录修改时间