---
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. 验证步骤：
   - 运行命令：`具体命令`
   - 预期结果：...

**方案二**（如有）：...

- 优点：...
- 缺点：...

**注意事项**：

- 需要保留的代码或注释
- 可能的副作用
- 其他需要注意的点

---

## 执行准则

- **仅提供分析和指导** - 本技能仅提供分析和指导，不执行代码修改
- **基于证据** - 所有结论必须有代码或日志支持
- **详细具体** - 方案要足够详细，让用户可以直接照着执行
- **引用准确** - 使用 `文件:行号` 格式标注所有相关代码位置
