# Impact Analyzer

> 变更影响分析 - 预测代码修改的爆炸半径，显示受影响的文件、测试和API端点

- Skill: `chainlesschain/impact-analyzer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add chainlesschain/impact-analyzer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/chainlesschain/impact-analyzer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- License: MIT
- Author: chainlesschain (https://skillmd.com/u/chainlesschain)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/chainlesschain/impact-analyzer

---


# Impact Analyzer 技能

## 描述

预测代码修改的爆炸半径（blast radius）。给定一个文件、函数名或当前 git diff，追踪所有直接和传递依赖方，映射受影响的测试文件，并给出风险评分。

## 使用方法

```
/impact-analyzer [选项]
```

## 选项

- `--file <path>` - 分析修改某个文件的影响范围
- `--function <name>` - 追踪函数/类的调用者
- `--diff` - 分析当前 git diff 的影响

## 分析维度

### 依赖追踪

- 构建反向导入图（谁 import/require 了目标文件）
- BFS 追踪传递依赖，最大深度 5 层
- 支持 `require()` 和 `import` 两种语法

### 测试映射

- `foo.js` → `foo.test.js` / `foo.spec.js`
- `foo.js` → `__tests__/foo.test.js`
- `src/main/x.js` → `tests/unit/x.test.js`

### 风险评分

| 等级   | 条件                         |
| ------ | ---------------------------- |
| HIGH   | 依赖方 > 10 个，或无测试覆盖 |
| MEDIUM | 依赖方 3-10 个，有测试覆盖   |
| LOW    | 依赖方 < 3 个（叶子节点）    |

### IPC 影响

- 检测 IPC handler 文件变更
- 列出受影响的前端 store 和 page

## 输出示例

```
Impact Analysis: src/main/llm/session-manager.js
=================================================
Direct dependents (6):
  → conversation-ipc.js
  → manus-optimizations.js
  → context-engineering.js
  → permanent-memory-manager.js
  → plan-mode/index.js
  → hooks/hook-middleware.js

Transitive dependents (8 additional):
  → index.js (main entry)
  → ai-engine/cowork/skills/index.js
  ...

Affected tests (3):
  → tests/unit/llm/session-manager.test.js
  → tests/unit/llm/context-engineering.test.js
  → tests/integration/conversation.test.js

Risk: HIGH (score: 8.5/10)
  Core module with 14 total dependents.

Recommendation: Write comprehensive tests before modifying.
  Ensure backward-compatible API changes.
```

