finishing-a-development-branch

工程开发 社区
解读按原文结构重写,命令、链接、术语均保留;右侧可核对作者原始 SKILL.md

设计思路

finishing-a-development-branch 是 superpowers 的「开发完成扫尾」skill——按一份精确的 4 选项菜单完成分支收尾,避免「合并到主分支后 CI 挂」「worktree 残留」「分支白白挂着」这类常见烂尾。作者把它做成 mechanical 的决策树,每一步都对应明确条件,不留发挥空间。

4 选项(detached HEAD 时降到 3 选项)

选项 Merge Push Keep Worktree Cleanup Branch
1. Merge locally yes - - yes
2. Create PR - yes yes -
3. Keep as-is - - yes -
4. Discard - - - yes(force)

关键纪律

  • 选 1 / 选 4 才清 worktree——选 2 用户后续 PR iteration 还要用,别动。
  • 先 merge 再 remove worktree 再 delete branch——git branch -d 在 worktree 还引用这个分支时会失败。
  • cd 回主仓再跑 git worktree remove——在 worktree 内部跑会静默失败。
  • 跑完 git worktree prune 自愈清理 stale 注册。
  • Discard(选 4)必须打字 "discard" 二次确认——防误删。

Worktree 归属判断

只清理 .worktrees/ / worktrees/ / ~/.config/superpowers/worktrees/ 这三种自创的 worktree。harness 创的(IDE / 平台拥有的)绝不动——会留下幻影状态。

常见错误(按作者原文摘录)

  • 跳过测试验证:合了挂代码或开了挂的 PR——所以提供选项前先验证。
  • 开放式问题:「你下一步想做什么?」——必须给精确 4 选项。
  • 删 branch 之前不删 worktreebranch -d 失败。
  • 在 worktree 内跑 git worktree remove:静默失败——必须 cd 回主仓再跑。
  • Discard 没二次确认:手滑就丢工作。

Red Flags(永远不做)

  • 测试挂还往下走
  • merge 完不再验测
  • 不让用户确认就删工作
  • 没明确许可就 force-push
  • 没确认 merge 成功就删 worktree
  • 清不是自己造的 worktree(provenance check)

适合谁

  • 完成 task 后想稳妥收尾的工程师
  • 多 worktree 工作流的核心收尾节点
  • 团队有「PR 创建标准化」要求的项目

不适合

  • 还在开发中——这是终点,不是中途
  • 不在 git 仓库——大量步骤无效

配套

writing-plans(开始)→ executing-plans(执行)→ finishing-a-development-branch(收尾);多 worktree 时用 using-git-worktrees 协同。

流狐档案 作者与许可取自来源;运行、权限和网络为流狐检测或估算
流狐分类
工程开发
作者声明 Agent
未找到明确声明;不据此推断已兼容或已测试
静态检查
88 / 100 · 启发式扫描,不代表运行安全
作者 / 版本 / 许可
@obra · 未声明 license
流狐 Token 估算
低消耗
流狐接入估算
需简单配置
是否需要外部 API Key
未发现要求
检测到的系统要求
macOS · Linux · Windows
底层运行要求
未声明
检测到的文件与系统行为
  • 只读
  • 允许写入 / 修改
  • Shell 执行
检测到的网络行为
仅限本地
安装命令数
无(仅作为资料)

档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

输出预览 finishing-a-development-branch.preview
作者没有在当前 SKILL.md 中定义固定输出样例。

讨论

基于 GitHub Discussions。登录 GitHub 即可参与讨论、点赞、订阅更新。