关于 bug-fix-protocol
面向开发者的生产及客户环境缺陷修复流程技能,要求同时修复代码和发现测试系统的缺口。流程覆盖复现、测试、根因分析、最小修复及测试体系审查,完整规范位于 `PROTOCOL.md`。
主要功能
- 01先确认实际与预期行为
- 02先写失败测试再修复
- 03追踪根因并做最小改动
- 04运行测试、lint 和类型检查
- 05审查并补足测试覆盖层
适用场景
- 01处理已到达生产环境的缺陷
- 02修复预发布环境中的问题
- 03调查客户环境缺陷并防止同类问题重现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ codealive-ai/ ai-driven-development --skill bug-fix-protocol安装后在 Claude Code 中输入/bug-fix-protocol确认已加载。
附带文件PROTOCOL.md
详细介绍
Bug 修复协议
一次 Bug 修复包含两项修复:修复代码,并且修复导致 Bug 漏过的测试系统。跳过第二步,就意味着同一类 Bug 会再次发布。
完整协议(理念、附带示例的八个步骤、审查清单、反模式)见 PROTOCOL.md。应用前请先阅读。
何时应用
每当缺陷进入生产环境、预发布环境或客户环境时,都应使用此协议。不要将其用于正常开发期间在本地发现的 Bug——这些属于编写过程的一部分,并非测试系统失效。
八个步骤(摘要)
- 分析并还原需求。 弄清实际行为与预期行为的确切差异;确定最简复现路径;对于有歧义之处,先询问用户,不要猜测。
- 编写失败测试(红)。 将 Bug 编写为一个能因正确原因而失败的测试。此时不要修改代码。
- 追溯根因。 沿着失败测试追查整个系统。找到最小的修改点:只要修改该处,测试就能通过。
- 应用最小修复。 只做尽可能小的修改,不要顺手重构。
- 在本地验证通过(绿)。 失败的测试现在应能通过,其他测试也不能因此出现回归。
- 运行完整测试套件、代码检查和类型检查。 捕获间接回归。
- 记录修复。 提交信息和 PR 描述各用一句话说明症状、根因和修复。
- 审查测试系统(最重要的一步)。 思考:哪一层本应发现这个问题,为什么没有发现? 然后修改这一层,让它能捕获下一次同类问题——新增测试类型、测试夹具、代码检查规则、属性测试或契约断言。缺少第 8 步的修复并不完整。
交付要求
应用此协议时,请提供:
- 复现测试(先失败,再通过)。
- 最小代码修复。
- 一段关于第 8 步审查的说明,指出遗漏的覆盖层,以及为弥补缺口所做的修改。
如果第 8 步的结论是“我们本来就无法发现这个问题”,请继续调查——这个答案几乎总是错的,接受这种说法只会让测试系统停滞不前。
参考
完整内容:PROTOCOL.md。
评论
支持 Markdown