关于 clean-branch
clean-branch 是开发技能,可将完整且精简的功能变更提取到新分支和 worktree,同时不改动源工作区。它涵盖范围与基准选择、按需迁移变更、测试及交接报告。
主要功能
- 01识别功能范围与基准提交
- 02创建隔离分支和 worktree
- 03仅迁移功能依赖的变更
- 04运行相关测试和必要检查
- 05确认源工作区保持不变
适用场景
- 01从混合工作区提取单项功能
- 02将选定变更迁移到更新后的基准分支
- 03准备隔离且经过测试的功能分支以供交接
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wkentaro/ agent-skills --skill clean-branch安装后在 Claude Code 中输入/clean-branch确认已加载。
附带文件agents/openai.yamlevals/evals.json
详细介绍
清理分支
在新分支上构建最小但完整的功能差异,同时保留源分支、索引和工作文件不变。这会改变所选内容;这不是仅清理历史记录。
确定功能和基线
根据请求、对话以及相关 Issue 或 PR,推断预期行为和范围。检查实际提交的差异、已暂存和未暂存的更改,以及未跟踪文件。在提取前记录源 HEAD 和状态。如果多个功能的可能性相同,请先询问要提取哪一个,再创建分支。
使用用户指定的基线;否则使用当前 PR 的基线;再否则使用仓库的默认分支。将其解析为一个提交;如可行,刷新远程跟踪引用,并说明任何新鲜度方面的限制。如果无法确定基线,请先询问,不要猜测。检查源分支自合并基线以来的更改,但在所选基线的最新提交处创建目标分支,以保留基线上的较新更改。
在单独的工作树中提取
使用提供的名称或描述性且未被占用的名称创建新分支。若 git-wt 可用,则使用它;否则使用 git worktree add。保持源目录不变;只在目标目录中应用编辑。检查工作树复制设置,确保忽略的文件或无关工作文件不会被自动带入。
按功能依赖关系选择更改,而不是按整个提交或文件选择。可能需要针对目标分支重新实现混合代码块。纳入功能实际需要的集成、依赖项、生成文件、文档和测试。不要带入无关的重构、格式调整、实验性内容和推测性工作。根据预期行为和当前基线解决提取冲突;整份复制源文件不得抹去基线上的较新更改。
使用清晰的名称、简单的控制流和现有模式。保留用于解释非显而易见意图或约束的注释。清理范围仅限所提取的更改。
验证并交接
根据记录的基线审查目标目录中的完整差异,包括新文件。在目标目录中运行相关功能测试和仓库要求的检查。端到端验证原始要求;在性能或质量重要时,将相关行为与源分支比较,并说明实际测量的内容。修复由提取引入的问题,并报告任何未经验证的要求。
确认源 HEAD、索引和工作文件均保持不变。报告目标分支、基线提交、工作树路径、保留或省略的内容,以及检查结果。除非用户要求提交或已授权提交,否则不要提交提取的更改;同样的授权规则也适用于推送或创建 PR。