name: 代码审查 description: 运行全面代码审查
代码审查技能
进行全面代码审查,关注质量、安全性和可维护性,并提供严重性评分反馈。
使用时机
此技能在以下情况下激活:
- 用户请求“审查此代码”、“代码审查”
- 合并拉取请求之前
- 实施主要功能后
- 用户需要质量评估
功能描述
委托给 code-reviewer 代理(Opus 模型)进行深入分析:
-
识别更改
- 运行
git diff查找更改的文件 - 确定审查范围(特定文件或整个拉取请求)
- 运行
-
审查类别
- 安全性 - 硬编码秘密、注入风险、XSS、CSRF
- 代码质量 - 函数大小、复杂性、嵌套深度
- 性能 - 算法效率、N+1 查询、缓存
- 最佳实践 - 命名、文档、错误处理
- 可维护性 - 重复、耦合、可测试性
-
严重性评级
- 关键 - 安全漏洞(必须在合并前修复)
- 高 - 错误或主要代码异味(应在合并前修复)
- 中 - 次要问题(尽可能修复)
- 低 - 样式/建议(考虑修复)
-
具体建议
- 每个问题的文件:行位置
- 具体修复建议
- 适用时的代码示例
代理委托
Task(
subagent_type="oh-my-claudecode:code-reviewer",
model="opus",
prompt="代码审查任务
审查代码更改的质量、安全性和可维护性。
范围: [git diff 或特定文件]
审查清单:
- 安全漏洞(OWASP Top 10)
- 代码质量(复杂性、重复)
- 性能问题(N+1、低效算法)
- 最佳实践(命名、文档、错误处理)
- 可维护性(耦合、可测试性)
输出: 代码审查报告,包含:
- 审查文件数
- 按严重性分类的问题(关键、高、中、低)
- 具体文件:行位置
- 修复建议
- 批准建议(批准 / 请求更改 / 评论)"
)
外部模型咨询(首选)
code-reviewer 代理应咨询 Codex 进行交叉验证。
协议
- 首先形成自己的审查 - 独立完成审查
- 咨询验证 - 与 Codex 交叉检查发现
- 批判性评估 - 不要盲目采纳外部发现
- 优雅回退 - 如果工具不可用,不要阻止
何时咨询
- 安全性敏感的代码更改
- 复杂的架构模式
- 不熟悉的代码库或语言
- 高风险生产代码
何时跳过
- 简单重构
- 已充分理解的模式
- 时间紧迫的审查
- 小的、孤立的更改
工具使用
在首次使用 MCP 工具前,调用 ToolSearch("mcp") 以发现延迟的 MCP 工具。
使用 mcp__x__ask_codex 并指定 agent_role: "code-reviewer"。
如果 ToolSearch 未找到 MCP 工具,则回退到 code-reviewer Claude 代理。
注意: Codex 调用可能需要长达 1 小时。在咨询前考虑审查时间表。
输出格式
代码审查报告
==================
审查文件: 8
总问题: 15
关键 (0)
-----------
(无)
高 (3)
--------
1. src/api/auth.ts:42
问题: SQL 查询前未清理用户输入
风险: SQL 注入漏洞
修复: 使用参数化查询或 ORM
2. src/components/UserProfile.tsx:89
问题: 密码以明文显示在日志中
风险: 凭证暴露
修复: 从日志语句中移除密码
3. src/utils/validation.ts:15
问题: 电子邮件正则表达式允许无效格式
风险: 接受格式错误的电子邮件
修复: 使用经过验证的电子邮件验证库
中 (7)
----------
...
低 (5)
-------
...
建议: 请求更改
关键安全问题必须在合并前解决。
审查清单
code-reviewer 代理检查:
安全性
- [ ] 无硬编码秘密(API 密钥、密码、令牌)
- [ ] 所有用户输入已清理
- [ ] SQL/NoSQL 注入预防
- [ ] XSS 预防(转义输出)
- [ ] 状态更改操作上的 CSRF 保护
- [ ] 正确强制执行身份验证/授权
代码质量
- [ ] 函数 < 50 行(指南)
- [ ] 圈复杂度 < 10
- [ ] 无深度嵌套代码(> 4 层)
- [ ] 无重复逻辑(DRY 原则)
- [ ] 清晰、描述性命名
性能
- [ ] 无 N+1 查询模式
- [ ] 适用时的适当缓存
- [ ] 高效算法(避免 O(n²) 当 O(n) 可能时)
- [ ] 无不必要的重新渲染(React/Vue)
最佳实践
- [ ] 错误处理存在且适当
- [ ] 适当级别的日志记录
- [ ] 公共 API 的文档
- [ ] 关键路径的测试
- [ ] 无注释掉的代码
批准标准
批准 - 无关键或高问题,仅次要改进 请求更改 - 存在关键或高问题 评论 - 仅低或中问题,无阻塞顾虑
与其他技能一起使用
与 Pipeline:
/pipeline review "实现用户身份验证"
包括代码审查作为实现工作流程的一部分。
与 Ralph:
/ralph code-review then fix all issues
审查代码,获取反馈,修复直到批准。
与 Ultrawork:
/ultrawork review all files in src/
跨多个文件并行代码审查。
最佳实践
- 早期审查 - 在问题复合前捕获
- 频繁审查 - 小、频繁的审查优于大型审查
- 首先处理关键/高问题 - 立即修复安全和错误
- 考虑上下文 - 一些“问题”可能是故意的权衡
- 从审查中学习 - 使用反馈改进编码实践