---
name: impact-analysis
description: 变更影响分析。追踪上下游依赖，评估变更风险。
triggers:
  - 分析影响
  - 改动范围
  - impact analysis
  - 影响分析
  - 变更影响
tools: [Bash, Read, Grep, Glob]
user-invocable: true
---

# impact-analysis

变更影响分析。追踪上下游依赖，评估变更风险。

## 触发条件

- 计划修改某个模块
- 评估重构影响范围
- 分析 bug 影响范围
- 评估升级风险

## 方法论

### Step 1: 识别变更点

1. 哪些文件/函数会被修改
2. 修改的性质（新增、修改、删除）
3. 修改的范围（单文件、多文件、跨模块）

### Step 2: 向上追踪（谁依赖我）

1. grep 搜索函数调用
2. 分析 import/require 关系
3. 识别直接调用者和间接调用者

### Step 3: 向下追踪（我依赖谁）

1. 分析函数内部调用
2. 识别外部依赖
3. 分析数据流

### Step 4: 评估影响

| 维度 | 评估 |
|------|------|
| 影响范围 | 文件数、模块数 |
| 风险等级 | 高/中/低 |
| 测试策略 | 需要测试哪些场景 |
| 回滚方案 | 如何回滚 |

## 输出格式

```
## 影响分析报告

### 变更概述
[改了什么，为什么改]

### 影响范围
| 层级 | 文件/模块 | 影响程度 |
|------|-----------|----------|
| 直接 | ... | 高/中/低 |
| 间接 | ... | 高/中/低 |

### 风险评估
[风险等级和原因]

### 测试建议
[需要测试的场景]

### 回滚方案
[如何回滚]
```

## 注意事项

- 要追踪完整的调用链，不要只看直接调用
- 要考虑配置文件和环境变量的影响
- 要评估数据库 schema 变更的影响
- 要考虑第三方依赖的兼容性
