$npx -y skills add lightpointventures/claude-code-starter --skill debug当用户遇到复杂 bug、问题反复出现、找不到原因时使用 — 用科学方法逐步排查,禁止猜测性修复
| 1 | # 系统化调试 |
| 2 | |
| 3 | 用科学方法排查问题,不要猜、不要碰运气。每一步都要有证据支撑。 |
| 4 | |
| 5 | ## 核心原则 |
| 6 | |
| 7 | - 禁止「改一下试试看」— 每次修改必须基于明确的假设 |
| 8 | - 禁止跳步 — 必须按顺序执行每个步骤 |
| 9 | - 记录每一步的发现 — 避免兜圈子 |
| 10 | |
| 11 | ## 步骤 |
| 12 | |
| 13 | ### 1. 理解问题 |
| 14 | |
| 15 | 询问用户: |
| 16 | > 遇到了什么问题?可以描述现象、贴报错信息、或者告诉我哪个功能不正常。 |
| 17 | |
| 18 | 收集信息: |
| 19 | - 错误信息(完整的报错日志或截图) |
| 20 | - 什么时候开始出现的 |
| 21 | - 之前做了什么改动 |
| 22 | - 期望的行为是什么 |
| 23 | |
| 24 | ### 2. 复现问题 |
| 25 | |
| 26 | - 找到相关的代码文件,阅读并理解上下文 |
| 27 | - 尝试复现问题(运行代码、运行测试) |
| 28 | - 确认问题确实存在,记录复现步骤 |
| 29 | |
| 30 | 如果无法复现,告诉用户并请求更多信息。不要在无法复现的情况下猜测修复。 |
| 31 | |
| 32 | ### 3. 定位根因 |
| 33 | |
| 34 | - 根据错误信息和代码逻辑,提出假设 |
| 35 | - 用最小范围的验证来确认或排除假设(加日志、断点、单元测试) |
| 36 | - 如果第一个假设不成立,记录原因,提出下一个假设 |
| 37 | - 缩小范围直到找到根因 |
| 38 | |
| 39 | 记录格式: |
| 40 | ``` |
| 41 | 假设 1:xxx |
| 42 | 验证:xxx |
| 43 | 结果:确认 / 排除(原因:xxx) |
| 44 | ``` |
| 45 | |
| 46 | ### 4. 修复 |
| 47 | |
| 48 | - 用最小改动修复问题 |
| 49 | - 解释改了什么、为什么这样改 |
| 50 | - 运行测试确认修复有效 |
| 51 | - 检查修复是否可能引入新问题 |
| 52 | |
| 53 | ### 5. 验证 |
| 54 | |
| 55 | - 重新运行复现步骤,确认问题已解决 |
| 56 | - 运行完整测试套件,确认没有破坏其他功能 |
| 57 | - 告诉用户修复完成,总结根因和修复方案 |