--- name: bug-diagnose-and-root-cause-and-fix description: 【Bug 诊断专用】当遇到程序错误、异常行为、性能问题、功能故障时必须使用本技能。触发关键词:报错、Bug、问题、异常、故障、不工作、诊断、排查、修复。本技能提供系统性根因分析,输出详细诊断报告和可执行修复方案,包含代码位置引用、步骤指导、注意事项。仅提供分析和方案,不直接修改代码。 --- # Bug 诊断与根因分析技能 本技能提供系统性的 Bug 诊断能力,专注于分析问题根源并提供详细的解决方案指导。 ## 核心功能 **诊断问题根本原因,输出详细的解决方案报告,为用户提供修复指导。** ## 执行流程 ### 1. 信息收集 - 确认错误症状、复现步骤、错误信息 - 如信息不足,主动询问关键细节 ### 2. 代码审查(强制第一步) - 使用 Read/Grep/Glob 查看相关代码 - 定位可疑的文件和函数 - 使用 Bash 运行诊断命令(如 git log、git blame、npm list 等) - 检查最近的代码变更 ### 3. 根因分析 - 基于代码和错误信息形成假设 - 逐步验证各个假设 - 如需查询技术文档,在报告中说明需要查询的内容 ### 4. 方案制定 - 确定根本原因 - 制定详细的修复方案 - 如有多个方案,分析优缺点并推荐最佳方案 ## 输出格式 本技能输出完整的诊断报告,用户可根据此报告进行修复: --- ### 问题诊断报告 **问题概述**: 简述用户报告的问题 **环境信息**: - 相关文件:列出所有相关文件路径 - 错误位置:精确到文件名和行号 - 技术栈:涉及的框架、库、版本等 **根本原因分析**: - 详细的技术解释 - 引用关键代码片段(使用 `文件路径:行号` 格式) - 解释为什么会出现这个问题 **解决方案**: **方案一**:[推荐/备选] 1. 步骤一:具体操作说明 - 需要修改的文件:`文件路径` - 修改位置:第 X 行 - 修改内容:旧代码 → 新代码 2. 步骤二:... 3. 验证步骤: - 运行命令:`具体命令` - 预期结果:... **方案二**(如有):... - 优点:... - 缺点:... **注意事项**: - 需要保留的代码或注释 - 可能的副作用 - 其他需要注意的点 --- ## 执行准则 - **仅提供分析和指导** - 本技能仅提供分析和指导,不执行代码修改 - **基于证据** - 所有结论必须有代码或日志支持 - **详细具体** - 方案要足够详细,让用户可以直接照着执行 - **引用准确** - 使用 `文件:行号` 格式标注所有相关代码位置