mcpField
C
code-review-expert

code-review-expert

github.com/dtyq测试与质量5.1k35 次安装4 天前更新
代码仓库

关于 code-review-expert

这是一个针对当前 Git 变更执行结构化审查的技能,重点检查 SOLID、架构、可移除代码、安全与可靠性。默认只输出审查结果,不会在用户明确要求前实施修改。

主要功能

  1. 01检查 Git 变更范围
  2. 02评估 SOLID 与架构问题
  3. 03识别代码移除候选项
  4. 04扫描安全与可靠性风险
  5. 05按严重级别组织审查结果

适用场景

  1. 01合并前审查一组代码变更
  2. 02检查安全敏感或关键路径改动
  3. 03整理可移除代码及后续计划

安装

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

$npx skills add https://github.com/dtyq/magic --skill code-review-expert

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

包含的文件

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

agents/
agent.yaml
references/
code-quality-checklist.md
removal-plan.md
security-checklist.md
solid-checklist.md

详细介绍

代码审查专家

概述

对当前 Git 变更进行结构化审查,重点关注 SOLID、架构、可删除项和安全风险。除非用户要求实现变更,否则默认仅输出审查结果。

严重级别

级别名称描述操作
P0严重安全漏洞、数据丢失风险、正确性错误必须阻止合并
P1高逻辑错误、严重违反 SOLID、性能退化应在合并前修复
P2中代码异味、可维护性问题、轻微违反 SOLID在此 PR 中修复或创建后续任务
P3低风格、命名、轻微建议可选改进

工作流

1) 前置上下文检查
  • 使用 git status -sb、git diff --stat 和 git diff 确定变更范围。
  • 如有需要,使用 rg 或 grep 查找相关模块、用法和契约。
  • 确定入口点、所有权边界和关键路径(身份验证、支付、数据写入、网络)。

边界情况:

  • 没有变更:如果 git diff 为空,告知用户并询问他们是否要审查暂存的变更或特定的提交范围。
  • 差异较大(>500 行):先按文件汇总,再按模块/功能领域分批审查。
  • 涉及多个关注点:按逻辑功能对审查结果分组,而非仅按文件顺序排列。
2) SOLID + 架构异味
  • 加载 references/solid-checklist.md,查看具体提示。
  • 检查以下方面:
    • SRP:职责无关的模块负担过重。
    • OCP:添加行为时频繁修改现有代码,而非使用扩展点。
    • LSP:子类破坏预期行为或需要进行类型检查。
    • ISP:宽泛的接口包含未使用的方法。
    • DIP:高层逻辑依赖于底层实现。
  • 提出重构方案时,说明其如何改善内聚性/耦合度,并概述最小且安全的拆分方案。
  • 如果重构并非易事,应提出渐进式计划,而非大规模重写。
3) 删除候选项 + 迭代计划
  • 加载 references/removal-plan.md,查看模板。
  • 找出未使用、冗余或已关闭功能标志控制的代码。
  • 区分可以立即安全删除与应暂缓并制定计划的内容。
  • 提供后续计划,列出具体步骤和检查点(测试/指标)。
4) 安全性和可靠性扫描
  • 加载 references/security-checklist.md,确保覆盖范围。
  • 检查以下方面:
    • XSS、注入(SQL/NoSQL/命令)、SSRF、路径遍历
    • AuthZ/AuthN 缺口、缺少租户检查
    • 秘密信息泄漏或在日志/环境变量/文件中暴露 API 密钥
    • 速率限制、无界循环、CPU/内存热点
    • 不安全的反序列化、弱加密、不安全的默认设置
    • 竞态条件:并发访问、先检查后操作、TOCTOU、缺少锁
  • 指出可利用性和影响。
5) 代码质量扫描
  • 加载 references/code-quality-checklist.md,确保覆盖范围。
  • 检查以下方面:
    • 错误处理:吞掉异常、过于宽泛的 catch、缺少错误处理、异步错误
    • 性能:N+1 查询、热点路径中的 CPU 密集型操作、缺少缓存、无界内存
    • 边界条件:null/undefined 处理、空集合、数值边界、差一错误
  • 标记可能导致静默失败或生产事故的问题。
6) 输出格式

按以下格式组织审查结果:

## Code Review Summary

**Files reviewed**: X files, Y lines changed
**Overall assessment**: [APPROVE / REQUEST_CHANGES / COMMENT]

---

## Findings

### P0 - Critical
(none or list)

### P1 - High
- **[file:line]** Brief title
  - Description of issue
  - Suggested fix

### P2 - Medium
...

### P3 - Low
...

---

## Removal/Iteration Plan
(if applicable)

## Additional Suggestions
(optional improvements, not blocking)

内联评论:针对特定文件的问题使用以下格式:

::code-comment{file="path/to/file.ts" line="42" severity="P1"}
Description of the issue and suggested fix.
::

审查通过:如果没有发现问题,请明确说明:

  • 检查了哪些内容
  • 未覆盖的领域(例如,“未验证数据库迁移”)
  • 剩余风险或建议的后续测试
7) 确认后续步骤

呈现审查结果后,询问用户接下来如何处理:

---

## Next Steps

I found X issues (P0: _, P1: _, P2: _, P3: _).

**How would you like to proceed?**

1. **Fix all** - I'll implement all suggested fixes
2. **Fix P0/P1 only** - Address critical and high priority issues
3. **Fix specific items** - Tell me which issues to fix
4. **No changes** - Review complete, no implementation needed

Please choose an option or provide specific instructions.

重要:在用户明确确认之前,切勿实现任何变更。这是一个优先审查的工作流。

资源

references/
文件用途
solid-checklist.mdSOLID 代码异味提示和重构启发式
security-checklist.mdWeb/应用安全和运行时风险检查清单
code-quality-checklist.md错误处理、性能和边界条件
removal-plan.md删除候选项和后续计划模板

评论

支持 Markdown