Back to skills
extension
Category: Development & EngineeringNo API key required

any-code-reviewer

any-code-reviewer

personAuthor: jakexiaohubModelScope

多语言代码审查专家

专业代码审查工具,支持多语言,主动检查代码质量、安全漏洞和可维护性。修改代码后必须使用,所有代码变更都应审查

目录结构

any-code-reviewer/
├── SKILL.md              # 本文件:审查流程和使用说明
└── cases/
    ├── general.md        # 通用代码检查清单(所有语言)
    ├── cpp.md            # C++ 专项检查清单
    ├── java.md           # Java/Spring Boot 专项检查清单
    └── python.md         # Python 专项检查清单
    └── javascript.md     # js 专项检查清单

审查时根据文件扩展名自动加载对应检查清单。

适用场景

使用时机:

  • 编写或修改代码完成后,合并之前
  • 请求正式代码审查
  • 检查变更中的安全漏洞
  • 验证是否符合代码质量标准

不适用:

  • 仅阅读文档,无代码变更
  • 仅浏览未修改代码(除非发现严重问题)
  • 不影响代码的简单 README 文档修改

工作流程

遵循结构化审查流程:

  1. 收集上下文

    • 运行 git diff 查看变更
    • 如果指定了路径,只检查该路径下的文件
    • 根据文件扩展名识别语言,加载对应检查清单
  2. 理解范围

    • 识别哪些文件被修改
    • 读取修改文件和周边代码,在上下文中审查
  3. 应用检查清单

    • 先运行通用检查(所有语言)
    • 再运行对应语言专项检查
    • 从 CRITICAL(严重)→ HIGH → MEDIUM → LOW 分级检查
  4. 输出结果

    • 按严重性整理问题
    • 每个问题包含:位置、描述、修复建议
    • 给出最终审查结论

支持语言

| 语言 | 检查清单文件 | 支持内容 | | ----------------------- | ----------------------- | ---------------------------------------------------------- | | 通用 | cases/general.md | 安全、代码质量、React/Next.js、Node.js/后端 | | C/C++ | cases/cpp.md | 内存安全、安全、并发、现代 C++ 最佳实践 | | Java | cases/java.md | Spring Boot 架构、JPA、安全、错误处理、并发 | | Python | cases/python.md | PEP 8、类型提示、Pythonic 范式、安全、Django/FastAPI/Flask | | JavaScript / TypeScript | cases/javascript.md | 安全、类型、React、Node.js、最佳实践 |

使用方法

当你完成代码修改后,对我说:

完整审查当前工作区所有变更:

帮我做一下代码审查

审查指定文件/目录:

帮我做代码审查:路径/文件名.py
帮我做代码审查:src/main.cpp
帮我做代码审查:src/main/java/com/xxx/service/

自动根据扩展名识别语言并应用对应检查清单。

输出格式

每个问题按严重性列出:

[CRITICAL] 硬编码的百度 API Key 暴露在源代码中
文件:skills/baidu-search/scripts/search.py:75
问题:完整的 API 密钥直接写在源代码里,如果提交到 Git 会永久保存在历史记录中,存在密钥泄露风险。
修复:改为只从环境变量读取,删除硬编码。

 # 当前(错误):
 # We will pass these via env vars for security
 # api_key = os.getenv("BAIDU_API_KEY")
 api_key = 'bce-v3/...'

 # 修改后(正确):
 api_key = os.getenv("BAIDU_API_KEY")

批准标准

| 结论 | 条件 | 行动 | | ------------------------ | -------------------------- | ---------------------------- | | Approve 通过 | 无 CRITICAL 或 HIGH 问题 | 可以安全合并 | | Warning 警告 | 只有 MEDIUM 问题 | 可以小心合并,建议修复 | | Block 禁止合并 | 发现 CRITICAL 或 HIGH 问题 | 必须修复后才能合并 |

说明

  • 只报告可信度 >80% 的问题(最小化噪音)
  • 除非违反项目约定,否则跳过风格偏好问题
  • 合并相似问题避免刷屏
  • 优先处理可能导致 bug、安全漏洞、数据丢失的问题
  • 存在 CLAUDE.md 时会遵循项目特定约定
  • 新增语言只需在 cases/ 下添加对应检查清单文件即可
  • 低效算法——可以用 O(n log n) 或 O(n) 却用了 O(n²)
  • 不必要重渲染——缺少 React.memo、useMemo、useCallback
  • 包体积过大——引入整个库而可以使用 tree-shakeable 替代
  • 缺失缓存——重复昂贵计算没有记忆化
  • 图片未优化——大图未压缩或懒加载
  • 同步 I/O——异步上下文中使用阻塞操作

最佳实践(低 LOW)

  • TODO/FIXME 没有关联 issue
  • 公开 API 缺少 JSDoc 文档
  • 命名不佳——非简单上下文使用单字母变量
  • 魔法数字——未解释的数值常量
  • 格式不一致——混合分号、引号风格、缩进

使用方法

当你完成代码修改后,对我说:

帮我做一下代码审查

或指定文件:

帮我做代码审查:路径/文件名.py

审查器会:

  • 检查 git 中的变更
  • 分析修改的文件
  • 按严重性输出问题
  • 给出结论(通过/警告/禁止合并)

输出示例

[CRITICAL] 源代码中存在硬编码 API 密钥
文件:src/api/client.ts:42
问题:API 密钥 "sk-abc..." 暴露在源代码中,会被提交到 git 历史。
修复:移动到环境变量,并添加到 .gitignore

 const apiKey = "sk-abc123"; // 错误
 const apiKey = process.env.API_KEY; // 正确

## 审查总结

| 严重性 | 数量 | 状态 |
|--------|------|------|
| 严重   | 0    | 通过 |
| 高     | 1    | 警告 |
| 中     | 0    | 提示 |
| 低     | 2    | 备注 |

结论:WARNING — 合并前应解决 1 个高优先级问题。

说明

  • 只报告可信度 >80% 的问题(最小化噪音)
  • 除非违反项目约定,否则跳过风格偏好问题
  • 合并相似问题避免刷屏
  • 优先处理可能导致 bug、安全漏洞、数据丢失的问题
  • 存在 CLAUDE.md 时会遵循项目特定约定