mcpField
R
review

review

github.com/utarn测试与质量4940 次安装8 周前更新
代码仓库

关于 review

review 是面向开发者的代码审查技能,按仓库规范和变更所依据的规格检查差异。它并行执行两类审查,并分别汇总结果。

主要功能

  1. 01并行审查规范与规格
  2. 02对比指定基准的差异
  3. 03查找规格来源
  4. 04按审查维度汇总结果

适用场景

  1. 01检查变更是否符合编码规范
  2. 02核对实现是否满足问题或规格要求

安装

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

$npx skills add https://github.com/utarn/engineer-skills --skill review

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

详细介绍

对比 HEAD 与用户提供的固定点的差异,从两个维度进行审查:

  • 标准 — 代码是否符合此代码库文档中规定的编码标准?
  • 规范 — 代码是否忠实地实现了提出该需求的问题 / PRD / 规范?

这两个维度分别由并行子 Agent审查,以免彼此的上下文受到干扰,然后由此技能汇总审查结果。

问题跟踪工具的相关信息应该已提供给你——如果缺少 docs/agents/issue-tracker.md,请运行 /setup-utarn-skills。

流程

1. 固定比较点

用户所说的比较点即为固定点——可以是提交 SHA、分支名、标签、main、HEAD~5 等。如果用户没有指定,请向其询问。

记录一次差异命令:git diff <fixed-point>...HEAD(使用三个点,表示以合并基点为比较基准)。同时记录提交列表:git log <fixed-point>..HEAD --oneline。

继续之前,先确认固定点可解析(git rev-parse <fixed-point>),且差异非空。引用无效或差异为空时,应在此处报错,而不是等到两个并行子 Agent 开始后才报错。

2. 确定规范来源

按以下顺序查找提出该需求的规范:

  1. 提交消息中的问题引用(#123、Closes #45、GitLab !67 等)——通过 docs/agents/issue-tracker.md 中的工作流获取。
  2. 用户作为参数传入的路径。
  3. docs/、specs/ 或 .scratch/ 下,与分支名或功能匹配的 PRD / 规范文件。
  4. 如果未找到任何内容,请询问用户规范的位置。如果用户表示没有规范,规范子 Agent 将跳过审查,并报告“没有可用规范”。
3. 确定标准来源

查找代码库中任何说明代码编写规范的文档,例如 CODING_STANDARDS.md 或 CONTRIBUTING.md。

4. 并行启动两个子 Agent

发送一条消息,其中包含两个 Agent 工具调用。两个调用都使用 general-purpose 子 Agent。

标准子 Agent 提示——包含:

  • 完整的差异命令和提交列表。
  • 第 3 步中找到的标准来源文件列表。
  • 以下简述:“报告差异中所有违反已记录标准的位置,必要时按文件 / 区块说明。引用相应标准(文件 + 规则)。区分明确违规与主观判断。跳过由工具强制执行的事项。少于 400 词。”

规范子 Agent 提示——包含:

  • 差异命令和提交列表。
  • 规范的路径或已获取的规范内容。
  • 以下简述:“报告:(a) 规范要求但缺失或未完整实现的内容;(b) 差异中未被要求的行为(范围蔓延);(c) 看似已实现、但实现方式可能有误的要求。每项发现都引用规范中的对应行。少于 400 词。”

如果缺少规范,则跳过规范子 Agent,并在最终报告中说明。

5. 汇总

在 ## 标准 和 ## 规范 标题下分别呈现两份报告,原样保留或仅做轻微润色。不要合并发现,也不要重新排序——这两个审查维度刻意分开(参见 为何采用两个维度)。

最后用一行总结:各维度的发现总数,以及各维度中最严重的问题(如有)。不要跨维度选出单一优胜者——避免进行这种重新排序,正是将两个维度分开的目的。

为何采用两个维度

一项改动可能通过一个维度,却未通过另一个:

  • 代码完全遵循所有标准,却实现了错误的内容 → 标准通过,规范未通过。
  • 代码完全实现了问题要求,却违背项目惯例 → 规范通过,标准未通过。

分别报告可避免某一维度掩盖另一维度的结果。

评论

支持 Markdown