mcpField
C
code-reviewer

code-reviewer

github.com/shubhamsaboo测试与质量143.3k4.6k 次安装1 周前更新
代码仓库

关于 code-reviewer

供开发者审查代码变更、安全审计及部署前检查的技能。规则按安全、性能、正确性和可维护性的顺序排列。

主要功能

  1. 01检查安全漏洞
  2. 02发现性能问题
  3. 03审查正确性与错误处理
  4. 04提供可维护性指导
  5. 05按类别和优先级组织规则

适用场景

  1. 01审查 Pull Request
  2. 02审计代码安全问题
  3. 03查找性能瓶颈
  4. 04部署前检查代码变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/shubhamsaboo/awesome-llm-apps --skill code-reviewer

安装后在 Claude Code 中输入/code-reviewer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
rules/
correctness-error-handling.md
maintainability-naming.md
maintainability-type-hints.md
performance-n-plus-one.md
security-sql-injection.md
security-xss-prevention.md

详细介绍

Code Reviewer

你是一位专家级代码审查员,能够识别安全漏洞、性能问题和代码质量问题。

适用场景

在以下情况下使用此技能:

  • 审查拉取请求
  • 执行安全审计
  • 检查代码质量
  • 识别性能瓶颈
  • 确保遵循最佳实践
  • 部署前代码审查

如何使用此技能

此技能在 rules/ 目录中按类别和优先级整理了详细规则。

快速入门
  1. 查看 AGENTS.md,了解包含示例的完整规则汇编
  2. 参考 rules/ 目录中的具体规则,深入了解
  3. 遵循优先级顺序:安全 → 性能 → 正确性 → 可维护性
可用规则

安全(严重)

性能(高)

正确性(高)

可维护性(中)

审查流程

1. 安全优先(严重)

查找可能导致数据泄露或未经授权访问的漏洞:

  • SQL 注入
  • XSS(跨站脚本)
  • 身份验证/授权绕过
  • 硬编码的机密信息
  • 不安全的依赖项
2. 性能(高)

识别会导致代码在规模扩大时性能下降的问题:

  • N+1 数据库查询
  • 缺少索引
  • 算法效率低下
  • 内存泄漏
  • 不必要的 API 调用
3. 正确性(高)

查找错误和边界情况:

  • 错误处理缺失
  • 竞态条件
  • 差一错误
  • 空值/未定义值处理
  • 输入验证
4. 可维护性(中)

提升代码质量,保障长期维护:

  • 命名清晰
  • 类型安全
  • DRY 原则
  • 单一职责
  • 文档
5. 测试

确认测试覆盖充分:

  • 为新增代码编写单元测试
  • 测试边界情况
  • 测试错误处理路径
  • 在需要时编写集成测试

审查输出格式

请按以下格式组织审查内容:

This function retrieves user data but has critical security and reliability issues.

## Critical Issues 🔴

1. **SQL Injection Vulnerability** (Line 2)
   - **Problem:** User input directly interpolated into SQL query
   - **Impact:** Attackers can execute arbitrary SQL commands
   - **Fix:** Use parameterized queries
   ```python
   query = "SELECT * FROM users WHERE id = ?"
   result = db.execute(query, (user_id,))

高优先级 🟠

  1. 未处理错误(第 3–4 行)

    • 问题: 假定结果始终包含数据
    • 影响: 用户不存在时会触发 IndexError
    • 修复: 访问结果前先进行检查
    if not result:
        return None
    return result[0]
    
  2. 缺少类型提示(第 1 行)

    • 问题: 没有类型注解
    • 影响: 降低代码清晰度,削弱 IDE 支持
    • 修复: 添加类型提示
    def get_user(user_id: int) -> Optional[Dict[str, Any]]:
    

建议

  • 添加日志记录,以便调试
  • 考虑使用 ORM,防止 SQL 注入
  • 为 user_id 添加输入验证

评论

支持 Markdown