Code Review

Other

AI 驱动的代码审查工具。对代码变更进行多维度审查,输出结构化的 Review 意见。 **当以下情况时使用此 Skill**: (1) 需要对代码进行 Code Review (2) 需要审查 PR/MR 的代码变更 (3) 用户提到"code review"、"代码审查"、"帮我看看代码"、"这段代码有问题吗" (4) 需要检查代码安全性、性能、可维护性 (5) 提交代码前的自查 (6) 用户提到"PR review"、"代码质量"、"技术债务"

Install

openclaw skills install ai-code-audit

🔍 AI Code Review — 智能代码审查

不遗漏每一行有问题的代码。

🎯 核心功能

  1. 多维度审查 — 从安全、性能、可维护性、逻辑、风格 5 个维度扫描代码
  2. 风险评级 — 🔴严重 / 🟡警告 / 🔵建议,优先级清晰
  3. 修复建议 — 每个问题附带具体的修复代码片段
  4. PR 审查模式 — 分析 diff 输出结构化的 PR Review 报告
  5. 快速审查 — 只输出严重问题,适合紧急提交前自查

📋 使用模式

模式一:完整代码审查

用户提交代码片段或文件内容,进行全面的代码审查。

输入格式

帮我 review 这段代码:[代码片段]

输出格式

## 🔍 Code Review 报告

**审查文件**: [文件名/代码片段]
**总体评级**: ⭐⭐⭐⭐ (4/5)
**发现**: 3 个问题(🔴 0 严重 / 🟡 1 警告 / 🔵 2 建议)

### 🔴 严重问题
(无)

### 🟡 警告

#### 1. [问题标题]
- **位置**: 第 42 行
- **维度**: 安全
- **问题**: SQL 拼接导致注入风险
- **修复**:
```语言
// 修复前
String query = "SELECT * FROM users WHERE id = " + userId;

// 修复后
String query = "SELECT * FROM users WHERE id = ?";
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setString(1, userId);

🔵 建议

2. [建议标题]

  • 位置: 第 15-20 行
  • 维度: 可维护性
  • 建议: 提取为独立方法
  • 参考:
// 建议重构为
private User findUserById(String userId) { ... }

✅ 做得好的地方

  • 异常处理完整
  • 日志记录规范

### 模式二:PR 审查

用户提交 diff 或 PR 内容,进行变更审查。

**输入格式**:

审查这个 PR:[diff 内容]

审查我最近的代码变更


**执行步骤**:
1. 如用户在工作目录中,主动用 `git diff` 获取变更
2. 分析变更文件列表和影响范围
3. 对每个文件的变更逐一审查
4. 汇总为 PR Review 报告

**输出格式**:

```markdown
## 🔍 PR Review 报告

**变更范围**: 5 个文件(+142/-38)
**风险等级**: 🟡 中
**审查结论**: ✅ 可以合并(修复 1 个警告后)

### 📊 变更概览
| 文件 | 变更行数 | 风险 | 评审结果 |
|------|---------|------|---------|
| auth/login.go | +45/-12 | 🟡 | 有 1 个警告 |
| utils/crypto.go | +23/-5 | 🟢 | 通过 |
| config.yaml | +8/-2 | 🟢 | 通过 |
| tests/auth_test.go | +58/-15 | 🟢 | 通过 |
| README.md | +8/-4 | 🟢 | 通过 |

### 🟡 需要关注的问题
[详细问题列表和修复建议]

### 💡 改进建议
[非必须但能提升代码质量的建议]

### ✅ 值得肯定
[写得好的地方]

模式三:安全审查

专注于安全维度的深度审查。

输入格式

安全审查这段代码:[代码]

审查重点

  • SQL 注入 / XSS / CSRF
  • 硬编码密钥/密码
  • 不安全的反序列化
  • 权限/认证绕过
  • 敏感数据泄露
  • 依赖漏洞

模式四:快速自查

提交前快速扫描,只输出严重问题。

输入格式

快速检查这段代码:[代码]

输出格式

🔍 快速审查结果:✅ 可以提交 / ⚠️ 有 N 个问题

[如果有问题,列出简要说明和修复建议]

🧠 审查维度详解

加载 review-rules.md 获取完整的审查规则库。

五大审查维度

维度关注点严重级别
🔒 安全注入、泄露、认证、加密🔴 严重
⚡ 性能算法复杂度、内存、缓存、N+1查询🟡 警告
🔧 可维护性代码复杂度、重复、命名、注释🔵 建议
🧩 逻辑边界条件、空值、并发、竞态🔴 严重
📐 风格编码规范、格式、最佳实践🔵 建议

语言特定规则

根据代码语言自动切换审查规则:

语言特定关注点
Java资源泄漏、空指针、并发安全、Spring 最佳实践
Python类型安全、GIL、装饰器滥用、异步陷阱
Gogoroutine 泄漏、error 处理、channel 死锁
JavaScript/TSPromise 错误处理、原型污染、类型安全
SQL注入、索引、N+1、事务隔离级别
Rust生命周期、unsafe 使用、内存安全

🔄 工作流程

  1. 读取审查规则 → 用 read 工具读取 review-rules.md
  2. 分析代码 → 确定语言、文件类型、变更范围
  3. 多维度扫描 → 按规则库逐条检查
  4. 风险评级 → 对每个发现分级
  5. 生成修复建议 → 附带代码片段
  6. 输出报告 → 按模式要求格式化输出

📐 评级标准

总体评级(⭐ 1-5 星)

评级含义标准
不可合并有严重安全漏洞或逻辑错误
⭐⭐需要大改多个严重问题或设计缺陷
⭐⭐⭐可以更好有警告级问题需要修复
⭐⭐⭐⭐良好只有建议级改进
⭐⭐⭐⭐⭐优秀代码质量很高,无显著问题

问题分级标准

级别标准处理
🔴 严重安全漏洞、数据丢失风险、逻辑错误必须修复
🟡 警告性能问题、潜在 bug、可维护性差建议修复
🔵 建议风格改进、最佳实践、优化可选改进

⚙️ 配置

用户可以指定以下参数(通过对话自然语言):

参数说明默认值
模式full / pr / security / quickfull
严格度strict(更多检查)/ normal / loosenormal
语言自动检测 / 手动指定自动
关注维度security / performance / allall
输出语言中文 / 英文中文

💡 使用技巧

结合 Git 工作流

# 审查最近一次提交
git show HEAD | code-review

# 审查暂存区变更
git diff --cached

# 审查某次 PR 的所有变更
git diff main...feature-branch

审查策略建议

  • 提交前:用 quick 模式快速自查
  • PR 审查:用 pr 模式完整审查
  • 安全审计:用 security 模式深度扫描
  • 上线前:full 模式 + strict 严格度

🚨 执行规范

  1. 先读规则:每次执行前,读取 review-rules.md 获取最新审查规则
  2. 不遗漏:每个维度都要检查,不要跳过
  3. 给证据:每个问题都要指出具体代码位置
  4. 给修复:不要只说问题,要给出修复方案
  5. 看整体:不只是逐行审查,还要看整体架构和设计
  6. 公正评价:也要指出做得好的地方,不只是找问题

版本历史

  • v1.0.0 (2026-05-23) — 初始版本,5 大审查维度,4 种使用模式,多语言支持