finishing-a-development-branch
当实现已完成、所有测试通过,并且需要决定如何集成工作时使用。
技能说明obra/superpowers
当实现已完成、所有测试通过,并且需要决定如何集成工作时使用。
技能简介
当功能实现已完成、所有测试通过,需要决定如何将工作集成到主分支时,此技能提供一套标准化的收尾流程。它会引导你验证测试、检测 Git 环境类型、选择集成方式(本地合并、创建 Pull Request 或保留分支),并安全清理工作区,避免遗漏或误操作。
使用场景
- 功能开发完成、测试全过,准备集成回主分支
- 需要决定是本地合并还是推送创建 Pull Request
- 在 git worktree 中开发,需安全移除工作区
- 需要彻底丢弃一个开发分支及其所有提交
使用方法
该技能由 Agent 在满足触发条件时使用。可以告诉助手:“使用 finishing-a-development-branch 技能完成收尾。” 助手会先声明:I'm using the finishing-a-development-branch skill to complete this work.
核心流程:
- 验证测试:运行完整测试套件(
npm test/pytest等),若有失败立即停止并报告。 - 检测环境:判断当前是普通仓库、命名分支 worktree 还是 detached HEAD,据此决定菜单与清理方式。
- 确认基础分支:确认本分支从何处分离,避免合并错目标。
- 呈现选项:普通仓库和命名分支 worktree 提供 3 个选项——① 本地合并回基础分支;② 推送并创建 Pull Request;③ 保持分支原样。detached HEAD 只提供 2 个选项(推送创建 PR 或保持原样)。
- 执行并清理:选合并时,执行
git checkout、git merge后重跑测试,通过后移除 worktree 并删除分支;选推送时执行git push -u origin <feature-branch>并创建 PR,worktree 保留供后续修改;选保持则原样保留。
注意事项
- 测试未通过时不会继续收尾流程,必须先修复测试。
- 丢弃分支必须由你明确要求,并输入
discard确认,操作会永久删除分支和提交。 - 若 worktree 移除被拒绝(含有未提交文件),不会擅自使用
--force,而是询问你提交、移动还是删除这些文件。 - 外部环境管理的 workspace 不会被清理,会保留原样。