开发与工程 workflowgitworktreesuperpowers

Finishing a Development Branch(收尾开发分支)

开发完成后先验证测试通过,再用固定的 4 选项菜单让人决定合并/PR/保留/丢弃,并按规则清理 worktree

FollowSkills 评估 · FSRS-1.0
谨慎使用
65/ 100
价值适配16 / 20

该技能为已完成开发分支提供明确的收尾流程,覆盖测试确认、环境识别、基线分支判断、合并、创建 PR、保留或丢弃等常见任务;结构化选项和分支清理边界具有实际价值。局限是它主要面向 Git 工作流,未覆盖非 Git 项目、复杂发布流程或需要人工审查的组织策略。

可靠性13 / 20

流程顺序清晰,并规定测试失败时停止、合并后再次测试、先移除 worktree 再删分支,以及按 worktree 所有权清理。可靠性受到明显缺口限制:测试命令使用占位符且未说明如何发现项目实际测试命令,未定义 git pull、merge、push、PR 工具失败时的恢复流程,也未提供对分支状态、未提交变更或冲突的完整处理规则。

安全性17 / 25

包含若干重要防护:丢弃操作要求输入精确的 discard 确认,禁止未经明确请求的 force-push,合并成功前不清理,并通过路径判断避免删除 harness 所有的 worktree。风险在于本技能仍会执行 push、pull、merge、分支删除、强制删除和 worktree prune 等外部或破坏性操作;没有通用的变更摘要、远端确认、备份或回滚步骤,也未说明如何处理未提交工作、未推送提交或合并冲突。

证据7 / 15

技能自身提供了较具体的步骤、命令、菜单和常见错误说明,能够支持静态评估。证据不足之处包括没有该技能专属的行为测试、测试结果、示例执行记录或独立佐证;仓库测试文件主要针对其他组件,不能证明本技能实际行为。文档中的可靠性判断因此只能基于静态设计,而非执行验证。

易用性7 / 10

输入、选项和预期清理行为相对明确,并为普通仓库、命名 worktree 和 detached HEAD 提供不同菜单。可用性仍受兼容性和诊断缺口影响:没有说明所需 Git 版本、远程认证或 PR 创建工具,没有解释测试命令如何配置,也没有系统化的冲突、权限、网络失败和退出条件说明。

维护性5 / 10

仓库提供 MIT 许可证、版本号 6.1.1、贡献流程、问题渠道和更新说明,且技能有稳定名称与描述。维护证据仍有限:选定技能没有版本标记、变更日志、维护负责人或专属响应承诺;发布者未通过 FollowSkills 企业注册表验证,因此不能因品牌或身份额外支持治理评分。

证据充分度: 评估于 2026年7月15日 审查版本 d884ae04edeb
使用前请注意
  • 在执行合并、push、分支删除或 worktree 清理前,应先展示当前分支、未提交变更、未推送提交和目标分支状态,并确认用户意图。
  • 测试命令是占位符;不要把 npm test、cargo test、pytest 或 go test ./... 当作项目实际命令,必须先确认项目的测试入口。
  • 丢弃流程虽有精确确认,但仍缺少备份和回滚机制;对包含未提交变更或重要提交的分支应先暂停并要求人工确认。
  • 本评估为低置信度静态审查,未执行该技能,也没有该技能专属测试证据。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

它能做什么 & 适用场景

把「这活儿干完了,接下来怎么办」这个容易被随口带过的收尾环节,变成一套强制流程:先跑测试确认真的完成了,再探测当前是普通仓库还是 git worktree(以及是否是 detached HEAD),据此展示固定的 3 或 4 个选项菜单,执行用户选择的动作,最后按「谁创建的 worktree 谁负责清理」的规则收尾,避免误删别人(harness)管理的工作区。

第一步强制跑测试,测试不过直接停止、不进入选项菜单;第二步探测 GIT_DIR 与 GIT_COMMON 是否一致来判断是否在 worktree 里,以及是否是 detached HEAD;第三步找出合并的目标基分支;第四步展示固定选项(合并到本地/推送创建 PR/保留现状/丢弃,detached HEAD 时少一个合并选项);第五步按选择执行——合并前会在目标分支上再跑一次测试才允许删除源分支,丢弃前要求手动输入「discard」二次确认;第六步只在「合并」和「丢弃」两种情况下清理 worktree,且只清理路径在 .worktrees/worktrees/ 下、明确是本 skill 创建的那些,不动 harness 自己管理的工作区。

  1. 功能开发完、测试全绿后,需要决定是本地合并、推 PR、暂时搁置还是直接丢弃这次改动
  2. 在 `git worktree` 创建的隔离分支里干完活,需要按规则安全清理 worktree 而不留下幽灵状态
  3. 误操作场景防护:防止在测试没过的情况下就合并,或者不小心删掉了别人还在用的 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:

  1. Claude Code:官方市场 /plugin install superpowers@claude-plugins-official;或先注册 Superpowers 自建市场 /plugin marketplace add obra/superpowers-marketplace,再 /plugin install superpowers@superpowers-marketplace
  2. 也支持 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 操作相比,多了「合并前必须验证测试」和「清理前必须确认所有权」两道强制关卡。

常见问题

会不会不小心删掉别人的工作区?
SKILL.md 里专门写了「provenance check」:只清理路径在 `.worktrees/` 或 `worktrees/` 下、且确认是本 skill 创建的 worktree;如果工作区是 harness 自己管理的(比如平台原生的隔离机制),流程里明确要求不要碰。

同仓库的其他 Skills

均来自 obra/superpowers

开发与工程

Test-Driven Development(测试驱动开发)

铁律:没有先写失败测试就不能写生产代码,写了也要删掉重来,不允许「补测试」

开发与工程

Brainstorming(需求澄清与设计)

写代码前先把需求逼问清楚,禁止在没有确认设计前直接动手实现

开发与工程

Verification Before Completion(完成前必须验证)

没有当次运行过的验证证据,就不能说「完成了」「测试通过了」——包括「应该」「看起来」这类措辞

开发与工程

Receiving Code Review(接收代码评审反馈)

禁止「你说得对!」式的表演性附和,要求先核实反馈再决定实施还是据理反驳

开发与工程

Requesting Code Review(发起代码评审)

派一个独立上下文的评审子代理来审查改动,而不是让主会话自己一边写一边给自己打分

开发与工程

Systematic Debugging(系统化调试)

任何 bug 都必须先完成根因排查再提修复方案,明确禁止「先随手改一下试试」

开发与工程

Writing Plans(撰写实现计划)

把需求拆成假设执行者对代码库一无所知也能照做的、每步 2-5 分钟的具体任务,杜绝「TBD」「补充细节」类占位符

开发与工程

Subagent-Driven Development(子代理驱动开发)

同一会话内为每个任务派发全新子代理实现,配两阶段审查,用进度台账防止压缩后重复劳动

开发与工程

Executing Plans(分会话执行实现计划)

在没有子代理能力的场景下,按人工检查点批量执行一份已写好的实现计划

开发与工程

Using Git Worktrees(隔离工作区管理)

开始新功能开发前,优先用平台原生隔离工具,没有的话再退回手动 git worktree

开发与工程

Dispatching Parallel Agents(并行子代理调度)

面对多个互不依赖的问题时,一次性并行派发多个子代理分别处理,而不是串行排队

开发与工程

Writing Skills(撰写与测试 Skill 本身)

把 TDD 的红绿重构套用到「写 Skill 文档」这件事上:先用无 skill 基线测试暴露真实失败模式,再针对性写文档,而不是凭直觉写

开发与工程

Using Superpowers(Superpowers 入口引导)

整套 Superpowers 方法论的启动引导 skill,规定「只要有 1% 可能相关就必须调用对应 skill」

相关 Skills