关于 bug-fix
分阶段处理缺陷的技能,从复现和根因分析引导至获批修复与回归检查。它强调最小改动、实施前取得用户批准,并支持记录决策。
主要功能
- 01修复前先复现问题
- 02追踪根因和受影响路径
- 03提交修复方案供批准
- 04使用 TodoWrite 跟踪工作
- 05验证回归并记录决策
适用场景
- 01调查已报告的软件缺陷
- 02比较针对性修复方案
- 03修复后添加回归检查
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kenlck/ skills --skill bug-fix安装后在 Claude Code 中输入/bug-fix确认已加载。
附带文件AGENTS.mdLOG.md
详细介绍
Bug 修复
严谨、分阶段地修复 Bug:理解 Bug → 追踪根本原因 → 设计修复方案 → 实施 → 验证并检查回归。
快速开始
使用 Bug 报告调用:/bug-fix the login button does nothing on mobile
Claude 会询问你的提问模式以及是否启用日志模式,然后逐步完成各个阶段——应用任何修复前都会暂停并等待批准。
核心原则
- 先复现,再修复——绝不为尚未理解的 Bug 编写修复方案
- 追踪根本原因——修复原因,而不是症状
- 最小化、针对性修复——优先选择能正确解决根本原因的最小改动
- 保障回归安全——每项修复都可能影响其他功能;务必验证不会造成影响
- 跟踪所有事项——使用 TodoWrite 跟踪所有阶段和进度
- 记录决策——启用日志模式后,根据 LOG.md 将发现记录到
plans/
阶段 0:准备
- 创建一个涵盖所有阶段的待办列表。
- 阅读报告:
$ARGUMENTS - 在记忆中检查该领域相关的既往 Bug 或已知问题。
- 通过 AskUserQuestion 向用户提出两个问题(一次调用,两个问题):
- 提问模式:Quick / Normal / Grill Me(见下文模式说明)
- 日志模式:开启或关闭
提问模式
Quick Mode——适用于原因明确的显而易见的 Bug。确认疑似根本原因和修复方案后,以最少的问题继续。
Normal Mode——提出有针对性的问题:预期行为与实际行为、复现步骤、问题何时开始、近期是否有相关改动。每次只使用一个 AskUserQuestion。
Grill Me Mode——仔细追问每个细节:准确的错误消息、复现条件、环境、边缘情况、近期改动和相关症状。每次只使用一个 AskUserQuestion。绝不妄加假设。
所有模式下:如果可以通过阅读代码库或错误输出回答问题,就自行回答。
阶段 1:接收并复现 Bug
- 使用所选模式,确认预期行为、实际行为、复现步骤和严重程度/影响。
- 阅读相关文件,并从报告中提到的入口点追踪代码路径。
- 确认你对复现过程的理解:记录故障发生的位置和原因。
- 如果启用了日志模式,根据 LOG.md 将初步发现写入日志。
阶段 2:根本原因分析
先看代码地图。 如果 .codemap/MAP.md 存在,在搜索前先阅读。使用 .codemap/graph.json 中的边来追踪可疑符号的调用方/被调用方(type: "calls"、type: "imports"),不要通过搜索使用位置来追踪。对于代码地图未涵盖的细节,再使用 Glob/Grep/Read。如果代码地图缺失或已过时,请建议使用合适的构建工具:TS/JS 使用 /ken-swe:ts-codemap,Java/Go/Python/Rust 使用 /ken-swe:codemap。
- 根据 AGENTS.md 中的 Tracer 提示词,并行启动 2–3 个通用 Agent。
- 阅读 Agent 找出的所有文件。
- 展示发现:已确认的根本原因、确切的故障点,以及所有受影响的代码路径。
- 使用当前提问模式提出任何后续问题。
- 如果启用了日志模式,将根本原因记录到日志中。
阶段 3:修复方案设计
- 根据 AGENTS.md 中的 Fixer 提示词,并行启动 2–3 个通用 Agent。
- 审查所有方案,并形成自己的建议。
- 展示:各方案摘要、每种方案的权衡与回归风险,以及你的建议和理由。
- 询问用户偏好哪种方案(AskUserQuestion)。
- 如果启用了日志模式,将修复决策记录到日志中。
阶段 4:实施
未经用户明确批准,绝不开始实施。
- 等待用户批准所选修复方案。
- 阅读前面阶段中确定的所有相关文件。
- 遵循代码库规范应用修复。随进展更新待办事项。
- 回归测试:如果存在测试框架,编写能够捕获此 Bug 的测试。如果不存在测试框架,询问用户是否要在没有测试的情况下继续。
第 5 阶段:回归与质量检查
- 询问用户是否希望执行自动化质量检查(AskUserQuestion)。
- 如果希望:对已更改的代码进行审查(正确性、副作用、约定)。按严重程度报告,并询问哪些问题现在修复、哪些延后处理。
- 根据 AGENTS.md 中的 Regression 和 Reviewer 提示词,并行启动 Agent。
- 指出发现的回归问题或新问题,并根据用户的决定处理。
第 6 阶段:总结
- 将所有待办事项标记为已完成。
- 总结:问题、根本原因、已应用的修复、添加的回归测试、已更改的文件、回归风险及建议的后续工作。
- 如果启用了日志模式,请在日志中添加总结部分并完成日志。