SuperAPI AI 工具集

parallel-review

编程与开发

查看项目

更新于 10-16 08:29

技能介绍

用途

parallel-review 用于对本地代码 diff 执行并行代码审查。它同时运行多个代码审查器,并将各自的发现合并成一份按严重程度排序的清单。由于各审查器并行工作、互不可见,因此发现保持独立。

主要能力

  • 确定审查范围:当用户指定文件时审查这些文件;否则通过 git diff HEAD 审查所有未暂存和已暂存的更改。
  • 固定比较基准:当调用方提供 merge-base SHA 时使用它;否则解析 git merge-base HEAD origin/<default branch>,默认分支通过 gh repo view --json defaultBranchRef 读取。该基准仅作为上下文,用于区分基础分支行为与本分支早期提交引入的行为,不会扩大审查目标。
  • 处理先前的收敛产物:当存在先前的收敛产物时,在派发前调用 converge-reviews,传入当前基线、diff 哈希、路径、请求以及计划中的名单和视角。若结果未变化则复用;若返回 continue,则仅派发其指出的失效覆盖范围;其他结果直接应用,不启动新一轮审查。
  • 构建并派发审查器名单:先命名名单,再用 Agent 工具并行启动每个成员。
  • 根据 diff 规模调整名单:用 git diff --shortstat HEAD -- <paths>(指定文件时)或 git diff --shortstat HEAD(未指定时)测量范围。一个文件且约 50 行以内更改,或用户要求快速审查时,名单仅包含 pr-review-toolkit:code-reviewer。更大的 diff 则从下列成员构建名单。修复发现后的重新审查只覆盖修复增量,而非整个 diff。
  • 合并发现:在所有审查器完成前不进行合并。按名称核对每个成员(已报告、失败并重新派发)。跨审查器折叠重复项,产品意图标签在折叠后保留,其证据带入合并后的发现。
  • 分配稳定 ID:根据文件、所在符号、规范化缺陷类别和缺陷实例指纹生成。指纹来自最小的稳定语义代码锚点(如被调用者、访问字段、分支标签或数据流端点)加上被违反的不变量。当两个缺陷仍共享锚点时,用最近的独特语义父级或操作数扩展。规范化偶然的格式、字面量和审查器措辞,排除原始行号。仅当四个部分全部匹配时才合并,并保留每个来源审查器。调用方拥有这些 ID 及其处置权。
  • 排序:Critical > Serious > Moderate > Minor,然后呈现一份可追溯的清单。产品意图标签与严重程度并列,绝不降低严重程度。该标签具有约束力:未经用户批准,任何代理不得修复带标签的发现;在传递清单时,任何代理不得丢弃或降级它。
  • 调用 converge-reviews:传入原始请求、本地基线和当前 diff 哈希、已审查路径、名单和视角、合并后的发现、处置以及先前的收敛产物。应用其结果契约,然后将排序清单和收敛结果交回调用方。

使用方式

该技能通过 Agent 工具派发审查器。名单成员 1-3 是 subagent_type 值,直接传给 Agent 工具;成员 4 是运行技能的代理。/web-interface-guidelines、/ui-skills 和 /rams 是技能而非代理类型,不能作为 subagent_type 传入,因此改为派发一个通用代理来调用它们。

始终在名单上的成员:

  • 代码审查代理,subagent_type: pr-review-toolkit:code-reviewer。
  • CodeRabbit 审查代理,subagent_type: coderabbit:code-reviewer。

条件添加的成员:

  • 静默失败猎手,subagent_type: pr-review-toolkit:silent-failure-hunter。当 diff 涉及错误处理、try-catch 或回退逻辑时添加。
  • UI 审查代理,subagent_type: general-purpose。当 diff 涉及前端或 UI 代码时添加。提示它针对 diff 调用 /web-interface-guidelines、/ui-skills 和 /rams,并返回合并后的发现。

共享提示词加上每个代理的视角为:“Review these changed files for bugs, logic errors, and adherence to project CLAUDE.md conventions: [files]. The review target is [scope diff command] only, the Step 1 scope or the fix delta. The comparison base, [merge-base SHA], is context for the product-intent check alone: git show [merge-base SHA]:<file> is what the base branch has.”

每个审查器还携带产品意图指令:当某个发现的修复会改变基础分支上已存在的可观察行为(即在固定的 merge-base 上,而非本分支早期提交中)时,审查器为其添加产品意图标签,并报告其发现:是否有测试断言当前行为、是否有注释或文档解释它、以及根据 git blame 或 git log -S 是哪个提交引入的,包括“未找到任何内容”。审查器按真实严重程度报告带标签的发现,且不修复它们。

适用场景

  • 用户请求审查未提交的更改。
  • 需要对本地 diff 进行快速、多视角的代码审查。
  • 在修复发现后需要针对修复增量进行重新审查。
  • 需要将多个审查器的发现合并为一份去重、排序、可追溯的清单。

限制

  • 该技能依赖 Agent 工具以及特定的 subagent_type 和技能(如 pr-review-toolkit:code-reviewer、coderabbit:code-reviewer、/web-interface-guidelines、/ui-skills、/rams)。
  • 合并仅在四个 ID 部分全部匹配时进行,且不创建共享的发现 ID 权威,ID 及其处置权归调用方所有。
  • 带产品意图标签的发现未经用户批准不得修复,也不得被丢弃或降级。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。