Finishing a Development Branch(收尾开发分支)
开发完成后先验证测试通过,再用固定的 4 选项菜单让人决定合并/PR/保留/丢弃,并按规则清理 worktree
该技能为已完成开发分支提供明确的收尾流程,覆盖测试确认、环境识别、基线分支判断、合并、创建 PR、保留或丢弃等常见任务;结构化选项和分支清理边界具有实际价值。局限是它主要面向 Git 工作流,未覆盖非 Git 项目、复杂发布流程或需要人工审查的组织策略。
流程顺序清晰,并规定测试失败时停止、合并后再次测试、先移除 worktree 再删分支,以及按 worktree 所有权清理。可靠性受到明显缺口限制:测试命令使用占位符且未说明如何发现项目实际测试命令,未定义 git pull、merge、push、PR 工具失败时的恢复流程,也未提供对分支状态、未提交变更或冲突的完整处理规则。
包含若干重要防护:丢弃操作要求输入精确的 discard 确认,禁止未经明确请求的 force-push,合并成功前不清理,并通过路径判断避免删除 harness 所有的 worktree。风险在于本技能仍会执行 push、pull、merge、分支删除、强制删除和 worktree prune 等外部或破坏性操作;没有通用的变更摘要、远端确认、备份或回滚步骤,也未说明如何处理未提交工作、未推送提交或合并冲突。
技能自身提供了较具体的步骤、命令、菜单和常见错误说明,能够支持静态评估。证据不足之处包括没有该技能专属的行为测试、测试结果、示例执行记录或独立佐证;仓库测试文件主要针对其他组件,不能证明本技能实际行为。文档中的可靠性判断因此只能基于静态设计,而非执行验证。
输入、选项和预期清理行为相对明确,并为普通仓库、命名 worktree 和 detached HEAD 提供不同菜单。可用性仍受兼容性和诊断缺口影响:没有说明所需 Git 版本、远程认证或 PR 创建工具,没有解释测试命令如何配置,也没有系统化的冲突、权限、网络失败和退出条件说明。
仓库提供 MIT 许可证、版本号 6.1.1、贡献流程、问题渠道和更新说明,且技能有稳定名称与描述。维护证据仍有限:选定技能没有版本标记、变更日志、维护负责人或专属响应承诺;发布者未通过 FollowSkills 企业注册表验证,因此不能因品牌或身份额外支持治理评分。
- 在执行合并、push、分支删除或 worktree 清理前,应先展示当前分支、未提交变更、未推送提交和目标分支状态,并确认用户意图。
- 测试命令是占位符;不要把 npm test、cargo test、pytest 或 go test ./... 当作项目实际命令,必须先确认项目的测试入口。
- 丢弃流程虽有精确确认,但仍缺少备份和回滚机制;对包含未提交变更或重要提交的分支应先暂停并要求人工确认。
- 本评估为低置信度静态审查,未执行该技能,也没有该技能专属测试证据。
它能做什么 & 适用场景
把「这活儿干完了,接下来怎么办」这个容易被随口带过的收尾环节,变成一套强制流程:先跑测试确认真的完成了,再探测当前是普通仓库还是 git worktree(以及是否是 detached HEAD),据此展示固定的 3 或 4 个选项菜单,执行用户选择的动作,最后按「谁创建的 worktree 谁负责清理」的规则收尾,避免误删别人(harness)管理的工作区。
第一步强制跑测试,测试不过直接停止、不进入选项菜单;第二步探测 GIT_DIR 与 GIT_COMMON 是否一致来判断是否在 worktree 里,以及是否是 detached HEAD;第三步找出合并的目标基分支;第四步展示固定选项(合并到本地/推送创建 PR/保留现状/丢弃,detached HEAD 时少一个合并选项);第五步按选择执行——合并前会在目标分支上再跑一次测试才允许删除源分支,丢弃前要求手动输入「discard」二次确认;第六步只在「合并」和「丢弃」两种情况下清理 worktree,且只清理路径在 .worktrees/ 或 worktrees/ 下、明确是本 skill 创建的那些,不动 harness 自己管理的工作区。
- 功能开发完、测试全绿后,需要决定是本地合并、推 PR、暂时搁置还是直接丢弃这次改动
- 在 `git worktree` 创建的隔离分支里干完活,需要按规则安全清理 worktree 而不留下幽灵状态
- 误操作场景防护:防止在测试没过的情况下就合并,或者不小心删掉了别人还在用的 PR 分支的 worktree
优缺点一览
- 把「先验证测试、再决定下一步」的顺序写死,避免在测试没过的情况下就急着合并或建 PR
- 对 worktree 清理的所有权判断非常谨慎——只清理路径匹配约定目录且确认是自己创建的,减少误删的可能
- 「丢弃」操作要求输入 `discard` 精确确认,比一般的「确定吗?(y/n)」更能防止手滑
- 只在会自动读取和遵循 SKILL.md 指令的 harness 里可靠工作(Claude Code、Codex CLI 等);纯聊天式界面里等于一份说明文档,需要人工照做。
- 涉及真实的 git 操作(合并、强制删除分支、删除 worktree),如果没有先经过独立分支/worktree 隔离直接在主分支跑,风险会明显放大——需要配合 using-git-worktrees 一起用
- 四个选项和测试验证要求是写死的,团队若有自己的合并规范(比如强制 squash、强制 CI 通过),需要额外确认这套流程和团队规范是否冲突
如何安装
作为 obra/superpowers 插件的一部分安装,不能单独安装某一个 skill:
- Claude Code:官方市场
/plugin install superpowers@claude-plugins-official;或先注册 Superpowers 自建市场/plugin marketplace add obra/superpowers-marketplace,再/plugin install superpowers@superpowers-marketplace - 也支持 Antigravity、Codex App/CLI、Cursor、Factory Droid、GitHub Copilot CLI、Kimi Code、OpenCode、Pi 等 harness,具体命令见仓库 README
装好后这个 skill 会和其余 13 个 Superpowers skill 一起启用,由 using-superpowers 统一引导、按场景自动触发,无需单独调用。
如何使用
在 executing-plans 或 subagent-driven-development 流程走完所有任务后自动被要求调用;也可以在你自己判断「这个分支的活儿干完了」时主动提示 Claude 使用它来做收尾。
对比同类
跟直接让 Claude 自己判断「合并还是不合并」相比,这个 skill 用状态探测(普通仓库/worktree/detached HEAD)把该展示哪个菜单变成确定性判断,而不是靠模型猜测环境;跟手动执行 git 操作相比,多了「合并前必须验证测试」和「清理前必须确认所有权」两道强制关卡。