SuperAPI AI 工具集

acceptance-criteria-verification

测试与质量

查看项目

更新于 10-16 02:21

技能介绍

用途

acceptance-criteria-verification 用于在功能实现完成后,系统性地核对每个验收标准,并发布结构化的验证报告。

其核心原则为:每条标准都被验证,每次验证都被记录。技能开始时需声明:“I'm using acceptance-criteria-verification to verify the implementation.”

使用方式

验证流程包括以下步骤:

  1. 提取标准:通过 gh issue view [ISSUE_NUMBER] --json body -q '.body' 读取 Issue 正文,解析验收标准部分中的 - [ ] 或 - [x] 模式。
  2. 规划验证:为每条标准确定测试类型(单元测试、集成测试、E2E、人工)与验证方式。
  3. 执行验证:根据类型运行相应验证,例如单元/集成测试使用 pnpm test --grep "[test pattern]" 或 pnpm test path/to/specific.test.ts;E2E 使用 npx playwright test [test file],或使用 mcp__playwright / mcp__puppeteer 等浏览器自动化 MCP;人工验证则启动应用、导航、执行操作、按需截图并记录结果。
  4. 记录结果:为每条标准记录 Criterion、Status(PASS | FAIL | PARTIAL | SKIP)、Evidence、Notes。
  5. 发布验证报告:通过 gh issue comment [ISSUE_NUMBER] --body 发布包含运行时间、执行者、提交、分支、结果表、汇总统计、测试输出与下一步行动项的结构化评论。
  6. 更新 Issue 复选框:对通过的标准在 Issue 正文中勾选,并通过 gh issue edit [ISSUE_NUMBER] --body "$NEW_BODY" 更新。
  7. 更新项目字段:借助 project-status-sync 技能更新验证状态(全部 PASS → Passing;存在 FAIL → Failing;PASS 与 PARTIAL 混合 → Partial)、Criteria Met 数量、Last Verified 日期、Verified By("agent")。

状态定义:PASS 表示标准完全满足且验证可用,在 Issue 中勾选;FAIL 表示未满足,需修复,记录失败内容并返回开发;PARTIAL 表示可用但存在问题,需改进,记录问题并可能需修复;SKIP 表示无法验证(受阻、不适用等),记录原因。

适用场景

适用于由 issue-driven-development 在 Step 8 调用的实现后验收环节。该技能会调用 project-status-sync 更新验证字段,并调用 issue-lifecycle 发布评论。

E2E 验证最佳实践

使用浏览器自动化时:每次验证使用全新的浏览器会话;在关键点截图留存证据;检查可见渲染状态而非仅 DOM;测试错误场景而非仅正常路径;验证结束后关闭会话。

失败处理

当标准失败时:具体记录失败内容;必要时包含复现步骤;捕获错误信息或截图;返回开发修复;修复后重新运行验证。不应在失败时标记为 PASS,不应因“应该能工作”而跳过验证,也不应忽略间歇性失败。

验证完成前检查清单

所有验收标准均已评估;每条标准都有明确的 PASS/FAIL/PARTIAL/SKIP 状态;每条标准都已捕获证据(测试输出、截图);验证报告已发布到 Issue;通过的标准已更新 Issue 复选框;项目字段已更新;如有失败,已记录下一步行动项。

验证后的后续操作

全部 PASS 时进入代码审查;存在 FAIL 时返回开发、修复并重新验证;仅有 PARTIAL 时与用户讨论是否可接受或需修复。

限制

资料未提供该技能支持的具体语言、框架版本、安装命令或收费信息。文档中的命令与代码示例均按原文保留,未作改动。