SuperAPI AI 工具集

verification

测试与质量

查看项目

更新于 10-16 05:00

技能介绍

用途:在打开或合并 PR 前,运行仓库的确定性验证门禁(构建、lint、类型检查、测试等),并把一份实测报告发布到 PR 上。该技能与具体仓库无关,检查清单和门禁命令来自使用方仓库的 .claude/repo-profile.md(gate_mode、verification_entry、pre_merge_entry)与 .claude/verify/config.ts;文中 .claude/verify/... 路径为 arc 的默认值。

主要能力:门禁结果由脚本测量,代理只选择运行哪个场景并读取结果,绝不手工填写统计数字;检查的退出码决定通过或失败,而非叙述性描述。引擎层(本插件,仓库无关)包含 lib/report.ts(CheckResult 与渲染)、lib/comment.ts(PR 评论的粘性 upsert)、lib/scenario.ts(runScenario 与 cmd()),不涉及 pnpm/turbo/路径等具体知识。仓库配置层在消费方仓库中:.claude/verify/config.ts 声明检查清单,命令型检查为纯配置(如 cmd({ command: "pnpm build" })),逻辑型检查导入仓库本地模块;一个轻量的 .claude/verify/pre-pr.ts 调用 runScenario(config, process.argv)。

使用方式:仓库暴露场景入口(verification_entry)。常用参数:--comment [<pr#>] 将报告 upsert 到 PR(运行与发布一步完成);--json 输出机器可读结果;--na "<reason>" 写入 N/A 豁免(仅文档或仅原生 PR);--only a,b / --skip x,y 限定检查集(未知 id 会硬报错,退出码 2);--deliver-cached 不重跑,直接发布缓存的 PASS 报告。建议用 --comment <pr#> 运行门禁,使运行与发布一步完成。

退出码:0 = PASS(且请求了 --comment/--post 时报告已送达);1 = 验证失败;2 = 检查集为空或 --only/--skip 的 id 未知(大声失败,绝不静默变绿);4 = 验证 PASS 但请求的报告未送达,补救方式是重试或回退评论发布(例如通过 MCP 粘贴 stdout 粘性正文),而不是改动 diff。不要手写报告,也不要用单条 tsc/build 命令替代场景脚本。

限制与纪律:数字必须实测,不得手工填写;若把统计数字敲进 PR,就绕过了门禁。验证失败意味着不要合并或推送,应先修复再重跑。检查集为空或 --only/--skip 的 id 未知会大声失败(退出码 2),绝不静默通过——未验证任何内容的门禁不能显示为绿色。