Bug Hunter 是一个用于系统性查找并修复软件缺陷的工作流技能。其核心原则是:先复现、后修复;跟随证据而非猜测;修复根因而非症状;充分测试修复;添加测试防止回归;记录所学内容。该技能在用户报告 bug 或错误、行为不符合预期、用户说“修复这个 bug”或“调试这个”、出现间歇性失败或异常行为、需要调查生产问题时触发。
使用方式上,该技能提供一套分步调试流程:1)复现 Bug,获取精确复现步骤并在本地尝试复现,记录错误信息与行为,判断是必现还是随机出现;若无法复现,则收集更多信息(环境、浏览器/设备、前置用户操作、错误日志)。2)收集证据,检查应用日志、系统日志、浏览器控制台,查看完整堆栈跟踪、错误类型与消息、行号、时间戳,以及涉及的数据、用户意图、数据库和本地存储/ Cookie 状态。3)基于证据形成假设。4)通过添加日志、使用调试器、隔离问题来测试假设。5)追溯根因,常见根因包括空值/未定义、错误数据类型、竞态条件、缺少错误处理、逻辑错误、差一错误、异步/等待问题、缺少验证。6)实施修复,修复根因而非症状。7)测试修复,验证原始 bug 不再出现并测试边界情况与相关功能。8)防止回归,添加测试。
技能还包含多种调试技巧:二分查找、小黄鸭调试、打印调试、差异调试、时间旅行调试(git bisect)。常见 Bug 模式包括空值/未定义、竞态条件、差一错误、类型强制转换、异步未等待。调试工具涵盖浏览器 DevTools、Node.js 调试、VS Code 调试。提供文档模板用于记录症状、根因、修复、文件变更、测试与预防措施。
该技能明确限制:仅在任务明确匹配上述范围时使用;输出不能替代针对特定环境的验证、测试或专家评审;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。此外,该技能是从上游仓库导入的打包版本,使用时需保持来源可追溯,仅加载对执行有实质影响的文件。