skills/superpowers/finishing-a-development-branch/SKILL.md
当实现已完成、测试已通过,需要决定如何集成这次工作时使用:通过结构化选项引导 merge/PR/保留/丢弃,并在选择后完成收尾与清理。
npx skillsauth add lyfe2025/lyfes-coding-skills finishing-a-development-branchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
通过给出清晰选项并执行所选 workflow,完成一次开发分支的收尾。
核心原则: Verify tests → 给选项 → 执行选择 → 清理。
开始时宣告: “我正在使用 finishing-a-development-branch skill 来完成这次工作收尾。”
在给选项之前,必须先验证测试通过:
# 运行项目的测试套件
npm test / cargo test / pytest / go test ./...
如果测试失败:
测试失败(<N> 个 failure)。必须先修复后才能收尾:
[展示失败信息]
在测试通过前,不能继续 merge/PR。
停止,不要进入 Step 2。
如果测试通过: 继续 Step 2。
# 尝试常见 base branch
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
或直接询问:“这个分支是从 main 分出来的吗?”
只给出严格这 4 个选项:
实现已完成。你想怎么处理?
1. 本地合并回 <base-branch>
2. push 并创建 Pull Request
3. 保留分支原样(我之后再处理)
4. 丢弃这次工作
你选哪项?
不要额外解释 ——保持简短。
# 切回 base branch
git checkout <base-branch>
# 拉取最新
git pull
# 合并 feature branch
git merge <feature-branch>
# 在合并结果上再跑一次测试
<test command>
# 若测试通过
git branch -d <feature-branch>
然后进入:清理 worktree(Step 5)
# push 分支
git push -u origin <feature-branch>
# 创建 PR
gh pr create --title "<title>" --body "$(cat <<'EOF'
## 概述
<2-3 条变更摘要>
## 测试计划
- [ ] <验证步骤>
EOF
)"
默认保留分支与 worktree,便于后续跟进 PR(除非用户明确要求清理)。
汇报:“保留分支 <name>。worktree 保留在 <path>。”
不要清理 worktree。
必须先确认:
这会永久删除:
- 分支 <name>
- 所有 commits:<commit-list>
- worktree:<path>
输入 'discard' 以确认。
等待用户输入精确的 discard。
确认后:
git checkout <base-branch>
git branch -D <feature-branch>
然后进入:清理 worktree(Step 5)
对选项 1、4:
检查是否在 worktree 中:
git worktree list | grep $(git branch --show-current)
如果是:
git worktree remove <worktree-path>
对选项 2、3: 保留 worktree。
| 选项 | Merge | Push | 保留 Worktree | 清理 Branch | |------|-------|------|---------------|-------------| | 1. 本地合并 | ✓ | - | - | ✓ | | 2. 创建 PR | - | ✓ | ✓ | - | | 3. 保留原样 | - | - | ✓ | - | | 4. 丢弃 | - | - | - | ✓(force) |
跳过测试验证
开放式问题
自动清理 worktree
丢弃不确认
discardNever:
Always:
会被调用自:
subagent-driven-development(Step 7):全部任务完成后executing-plans(Step 5):全部 batch 完成后常与其配合:
using-git-worktrees:清理该 skill 创建的 worktreetools
在编写 skill 内容、验证 skill 是否有效、或需要用 TDD 方法测试 skill 能否被正确遵守时使用。
tools
当你有 spec/requirements 且任务需要多步推进时使用;在动代码之前先写出可执行的 implementation plan。
tools
在你准备声称“已完成/已修复/已通过”之前使用(尤其在 commit 或提 PR 前):必须运行 verification 命令并核对输出;永远 Evidence before assertions。
tools
在任何对话开始时使用:建立“如何发现并使用 skills”的规则,要求在任何回应(包括澄清问题)之前先 invoke Skill tool。