بنقرة واحدة
verification-loop
将 B3 阶段组织为结构化验证循环,编排构建、测试、性能、统一审计、规范五个验证维度,支持增量重验、检查点保存和综合门禁评判。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
将 B3 阶段组织为结构化验证循环,编排构建、测试、性能、统一审计、规范五个验证维度,支持增量重验、检查点保存和综合门禁评判。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
在后端项目中设计或修改接口、DTO、错误码、鉴权、幂等、分页、批量操作和前后端联调契约时使用。适用于后端 profile,输出清晰的接口边界、兼容风险和验证路径。
将后端技术方案拆解为接口、应用服务、领域/业务逻辑、数据访问、消息/定时任务、迁移脚本和测试任务时使用。用于补充通用 implementation-planning 的后端归组口径。
分析后端接口、数据库访问、RPC/HTTP 调用、批处理、消息消费、事务和缓存相关性能风险时使用。强调证据、数据规模、低风险优化和回滚方案。
前端接入接口、修复提交失败、核对列表/详情/保存字段、处理类型漂移或空值风险时使用。输出契约不一致点、收敛方案和回归建议。
排查并修复前端渲染、状态、表单、表格、路由、API 映射、异步时序和性能回归问题时使用。要求可复现、可定位、可验证、最小修复。
在既有前端项目中新增或扩展页面、表单、列表、弹窗、批量操作、导入导出和权限交互时使用。强调先理解调用链、复用现有结构、最小改动落地。
| name | verification-loop |
| displayName | 结构化验证循环 |
| description | 将 B3 阶段组织为结构化验证循环,编排构建、测试、性能、统一审计、规范五个验证维度,支持增量重验、检查点保存和综合门禁评判。 |
| triggers | ["验证循环","代码验证","B3审查","verification loop","全量验证"] |
| autoTrigger | true |
| version | 1.0.2 |
本 Skill 是 B3(验证与统一审计)阶段的编排层,不替换现有的 testing skill、performance-analysis skill、audit-context-intake skill 和 audit-reviewer agent,而是按结构化流程调用它们,统一收集结果,管理迭代循环,直到所有维度通过或达到最大迭代次数。
每轮验证依次执行以下 5 个维度,每个维度产出三种状态之一:
| 维度 | 编号 | 检查内容 | 通过标准 | 调用的组件 |
|---|---|---|---|---|
| 构建验证 | V1 | 项目构建或类型检查通过、无阻断性错误 | 项目画像中的构建命令返回 0;无构建命令时先询问用户 | 直接执行项目构建命令 |
| 测试验证 | V2 | 项目测试通过,且单元测试由独立审视代理确认覆盖需求与生产逻辑 | 全部测试 PASS;覆盖率不低于项目基线或标注未配置;unit-test-reviewer 无 Critical | testing skill + unit-test-reviewer agent |
| 性能验证 | V3 | 无当前 family-common/profile 规则定义的 Critical 性能问题 | 无 Critical 级性能问题 | performance-analysis skill + 当前 family-common/profile 性能 skill/rules |
| 统一审计 | V4 | 基于 AuditContext 执行统一代码审计,审计维度和报告格式由 audit-reviewer 定义 | audit-reviewer 无未解决 Critical | audit-context-intake skill + audit-reviewer agent |
| 规范验证 | V5 | 项目 lint/格式/架构/命名等规范通过 | 无 ERROR 级违规 | 项目规范工具 + shared rules + 当前 family-common rules + 匹配 techStack 的 profile rules |
状态定义:
| 状态 | 含义 | 后续动作 |
|---|---|---|
| ✅ 通过 | 该维度检查全部达标 | 无需重验 |
| ⚠️ 有警告 | 存在非阻断性问题(Warning / Info 级别) | 记录后可继续,需在报告中说明 |
| ❌ 未通过 | 存在阻断性问题(Critical / Error 级别) | 必须修复后重新验证该维度 |
docs/delivery/.state/SV-xxxxx-verification.json按 V1 → V2 → V3 → V4 → V5 顺序依次执行。如果是重验轮次,只执行状态为 ❌ 的维度,已通过的维度跳过。
AGENTS.md 读取;未配置时根据技术栈推断或询问用户)testing skillAGENTS.md 读取;未配置时根据技术栈推断或询问用户)agents/unit-test-reviewer.md 的角色约束执行单元测试审视:
testing skill 核心原则unit-test-reviewer 结论为通过 → ✅unit-test-reviewer 仅返回 Warning → ⚠️,记录覆盖率数据和审视警告unit-test-reviewer 返回 Critical → ❌,记录失败用例和审视问题performance-analysis skillaudit-context-intake skill,归一化本地流程产物:
docs/delivery/SV-xxxxx-changelist.mdgit diff main...HEADdocs/design/SV-xxxxx-tech-design.mdAGENTS.md 中的技术栈、架构模式和当前激活规则auditMode = local-flow 的 AuditContextaudit-reviewer agent 执行统一代码审计;具体维度、Git 规范检查、注释/删除代码检查、评分和报告格式以 agents/audit-reviewer.md 为准test 分支向功能分支合并代码 → ❌AGENTS.md 读取;未配置时根据技术栈推断或询问用户)rules/shared/* + 当前 family-common 规则 + 当前 techStack 对应的 profile 规则;禁止把其它技术栈规则纳入本项目判定所有维度执行完毕后,汇总结果:
情况 A — 全部通过:所有维度状态为 ✅ 或 ⚠️ → 进入第四步(综合评判)
情况 B — 存在失败维度:
修复流程:
coding skill 的编码规范)| 综合结果 | 条件 | 后续动作 |
|---|---|---|
| PASS | 所有维度 ✅ 或 ⚠️(Warning / Question 已在报告中记录,且无未解决 Critical) | 可进入 B4 交付文档齐套检查 |
| FAIL | 任何维度 ❌ 且已达最大迭代次数 | 阻断,需人工介入 |
| BLOCKED | 依赖条件不满足(如构建环境异常、Subagent 结果未汇总) | 阻断,需排除障碍后重试 |
安全审计已并入 V4 统一审计:V4 由
audit-reviewer一次性覆盖统一代码审计维度,不再在 V1-V5 之后额外串联security-reviewer。若存在未闭环 Critical,V4 必须判定为 ❌,不得进入 B4。
FAIL 时的处理:
验证循环结束后(无论 PASS 还是 FAIL),产出以下内容:
docs/delivery/.state/SV-xxxxx-verification.json):保存 V1-V5 当前状态、迭代轮次、失败摘要、修复动作、日志引用和下一轮重验计划,供 Agent 断点续验使用。该文件不是正式交付文档,不进入 B4 交付展示。docs/delivery/SV-xxxxx-review-report.md):整合统一审计结论、注释/删除代码检查、严重问题、改进建议、疑问与确认、Git 规范检查、评分、V1-V5 最终验证摘要、Critical 闭环状态和交付判定,作为人类阅读的质量结论文档。docs/delivery/SV-xxxxx-tech-ref.md):从变更记录和审查结果中提炼。正式交付文档必须保持摘要化:不复制完整命令输出、完整 diff 或完整测试日志;只记录结论、阻断问题、修复动作、剩余风险和必要的日志引用。机器状态文件保存结构化字段,不写叙述性长文。
当综合结果为 PASS 时,进入 B4 前必须确认以下三类正式交付文档全部存在且需求编号一致:
| 交付物 | 路径 | 最低要求 |
|---|---|---|
| 变更清单 | docs/delivery/SV-xxxxx-changelist.md | 已与 git diff main...HEAD 对账,无遗漏文件 |
| 技术参考文档 | docs/delivery/SV-xxxxx-tech-ref.md | 面向测试人员,包含接口、核心功能、数据流、配置和注意事项 |
| 代码评审报告 | docs/delivery/SV-xxxxx-review-report.md | 包含 V4 统一审计结论、注释/删除代码检查、Git 规范检查、评分、V1-V5 验证摘要、Critical 闭环状态和交付判定 |
任一正式交付文档缺失或不满足最低要求时,综合结果不得视为可交付;必须补齐后重新执行对应维度或交付物检查。docs/delivery/.state/SV-xxxxx-verification.json 只作为机器状态使用,可用于排障和续验,但不作为交付物齐套条件展示给用户。
每完成一个维度的验证或每完成一轮迭代,更新机器状态文件:
为控制 token 和文档体积,状态文件只记录结构化摘要信息,不粘贴大段原始日志。构建、测试、lint 等命令的完整输出应保留在终端、CI 或日志文件中,状态文件只写失败摘要、关键错误、修复动作和日志引用路径。
{
"requirementId": "SV-xxxxx",
"techDesign": "docs/design/SV-xxxxx-tech-design.md",
"branch": "feature/SV-xxxxx-xxx",
"baseBranch": "main",
"status": "running",
"currentIteration": 1,
"maxIterations": 3,
"dimensions": {
"V1_BUILD": {
"status": "pending",
"lastRunAt": null,
"passedIteration": null,
"summary": "",
"logRef": ""
},
"V2_TEST": {
"status": "pending",
"lastRunAt": null,
"passedIteration": null,
"summary": "",
"failedItems": [],
"logRef": ""
},
"V3_PERFORMANCE": {
"status": "pending",
"lastRunAt": null,
"passedIteration": null,
"summary": "",
"criticalItems": [],
"warningItems": [],
"logRef": ""
},
"V4_ALIGNMENT": {
"status": "pending",
"lastRunAt": null,
"passedIteration": null,
"summary": "",
"criticalItems": [],
"warningItems": [],
"logRef": ""
},
"V5_STANDARD": {
"status": "pending",
"lastRunAt": null,
"passedIteration": null,
"summary": "",
"criticalItems": [],
"warningItems": [],
"logRef": ""
}
},
"rerunPlan": [],
"fixHistory": [],
"finalSummaryWrittenTo": "docs/delivery/SV-xxxxx-review-report.md"
}
验证循环支持中途中断后恢复:
verification-loop(编排层)
│
├── V1 构建验证 ──→ 直接执行构建命令
├── V2 测试验证 ──→ testing skill + unit-test-reviewer agent
├── V3 性能验证 ──→ performance-analysis skill
├── V4 统一审计 ──→ audit-context-intake skill + audit-reviewer agent
└── V5 规范验证 ──→ shared rules + 当前 family-common/profile rules + lint 工具
review-report.md 供人类阅读以下配置从 AGENTS.md 读取,若未配置则使用默认值:
| 配置项 | 默认值 | 说明 |
|---|---|---|
maxIterations | 3 | 最大迭代轮次,超过后标记 FAIL 需人工介入 |
buildCommand | 按 techStack 推断或询问用户 | 构建/类型检查命令 |
testCommand | 按 techStack 推断或询问用户 | 测试命令 |
lintCommand | 按 techStack 推断或询问用户 | 规范检查命令 |
coverageBaseline | 项目现有覆盖率 | 覆盖率基线,低于此值标记 ⚠️ |