SuperAPI AI 工具集

code-review

测试与质量

查看项目

更新于 10-16 00:20

技能介绍

用途:对 HEAD 与用户提供的固定点之间的 diff 做双轴审查。标准轴检查代码是否符合本仓库文档化的编码规范;规格轴检查代码是否忠实实现原始 issue/规格。两轴由并行子代理运行,避免相互污染上下文,再由本技能汇总结果。

使用方式:先固定基准点,用户给出的提交 SHA、分支名、标签、main、HEAD~5 等即为固定点,未指定则询问。记录 diff 命令 git diff <fixed-point>...HEAD(三点,与 merge-base 比较),并用 git log <fixed-point>..HEAD --oneline 记录提交列表。继续前先用 git rev-parse <fixed-point> 确认基准点可解析且 diff 非空。

规格来源按顺序查找:提交信息中的 issue 引用(#123、Closes #45、GitLab !67 等),用户作为参数传入的路径,docs/、specs/ 或 .scratch/ 下与分支名或功能匹配的规格文件;找不到则询问用户,若确无规格,规格子代理跳过并报告“no spec available”。

标准来源:搜索仓库中所有记录代码写法的文件,存在 CODING_STANDARDS.md 或 CONTRIBUTING.md 时必须纳入。此外标准轴始终携带一组固定的 Fowler 代码坏味道基线(Refactoring 第 3 章),即使仓库未记录任何规范也适用。两条规则:仓库规范优先,文档化标准总是胜过基线;每个坏味道都是带标签的启发式判断(如“possible Feature Envy”),不是硬性违规,工具已强制的内容跳过。

基线坏味道包括:Mysterious Name、Duplicated Code、Feature Envy、Data Clumps、Primitive Obsession、Repeated Switches、Shotgun Surgery、Divergent Change、Speculative Generality、Message Chains、Middle Man、Refused Bequest,各含“是什么→如何修”的说明。

并行启动两个子代理:标准子代理提示需包含完整 diff 命令与提交列表、找到的标准来源文件列表、完整粘贴的坏味道基线,要求按文件/hunk 报告违反文档化标准之处(引用标准文件与规则)及发现的基线坏味道(命名并引用 hunk),区分硬性违规与判断性判断,400 词以内。规格子代理提示需包含 diff 命令与提交列表、规格路径或内容,报告规格要求但缺失或部分实现之处、diff 中未被要求的行为(范围蔓延)、看似实现但实现有误的要求,每条引用规格原文,400 词以内。

汇总:在 ## Standards 与 ## Spec 标题下分别呈现两份报告,不合并、不重排,因为两轴刻意分离。结尾给一行总结:每轴发现总数及各自最严重问题,不跨轴选唯一赢家。

限制:需要用户提供固定点;规格缺失时规格轴跳过;基线坏味道始终是判断性判断;工具已强制的内容不报告。若 issue 跟踪器未提供,需提示用户运行 /setup-matt-pocock-skills。