---
name: review
description: "代码缺陷检测，识别静态、安全、逻辑与内存问题"
---

## 适用场景

- 用户请求代码审查、代码审计或缺陷扫描
- 用户提到 PR 审查、MR 审查或合并请求审查
- 用户想要查找 bug、漏洞或代码质量问题
- 用户使用 /review

## 核心原则

| 原则 | 要求 |
|------|------|
| **扫描类型** | 静态缺陷、安全漏洞、逻辑缺陷、内存问题，按触发信号匹配加载 |
| **数据流驱动** | 安全漏洞和逻辑缺陷检测以数据流分析为骨架，从输入源（API 参数、数据库查询、外部调用）追踪到敏感操作点（数据库写入、权限检查、状态变更）。静态缺陷检测以结构分析为主，内存问题检测以语言特性分析为主 |
| **代码证据** | 每个发现必须可定位到 `file:line`，证据链以 Mermaid 图表示调用关系 |
| **对抗验证** | 验证子任务以推翻为默认立场，找不到推翻证据才 Promote |
| **按需加载** | 单次文件读取，通过触发信号匹配 routing.md 加载检测模块，不做无差别扫描 |
| **扫描范围约束** | 不得全仓库无目的关键词搜索，不得递归读取所有相关文件。数据流追踪（最多向上/向下5层调用）和 LSP 工具（find_definition、find_references）不受此约束 |

## 审查流程

**⚠️ 强制要求：必须使用 TodoWrite 工具跟踪所有阶段的任务进度**

1. 目标筛选
2. 缺陷检测（逐文件子任务）
3. 验证（逐缺陷子任务）
4. 管理（Wave 编排子任务）
5. 生成审查报告

### 第一阶段：目标筛选

编排策略：读取 `<skill-root>/references/strategy/filtering-strategy.md`，执行输出目录确认、扫描目标获取、排除判定和草稿保存。

### 第二阶段：缺陷检测

**仅当**扫描文件列表非空时执行。

编排策略：读取 `<skill-root>/references/strategy/detection-strategy.md`，按其指引读取项目环境、检测类型分配和逐文件子任务调度（每个文件先做数据流分析，再执行缺陷检测）。

**完成后**：确认 `.draft-02-detection/manifest.json` status = "completed"。

### 第三阶段：验证

**开始前**：读取 `.draft-02-detection/manifest.json` 恢复缺陷列表。

编排策略：读取 `<skill-root>/references/strategy/validation-strategy.md`，按其指引逐缺陷调度 Agent 子任务执行对抗式验证。

**完成后**：确认 `.draft-03-validation/manifest.json` status = "completed"。

### 第四阶段：管理

**开始前**：读取 `.draft-03-validation/manifest.json` 恢复 promoted 缺陷列表。

编排策略：读取 `<skill-root>/references/strategy/management-strategy.md`，按其指引分 Wave 调度 Agent 子任务执行元数据管理（去重、范围校验、噪音过滤、严重程度校准、缺陷聚类）。

**完成后**：确认 `.draft-04-management/manifest.json` status = "completed"。

### 第五阶段：生成审查报告

编排策略：读取 `<skill-root>/references/report/routing.md`，按其指引从各阶段草稿汇总数据，生成 JSON 报告和 Markdown 报告。
