AgentSkillsCN

verification-before-completion

在完成任务前进行最终验证,确保所有需求已满足且无回归风险时使用。

SKILL.md
--- frontmatter
name: verification-before-completion
description: 当在完成任务前进行最终验证,确保所有需求已满足且无回归时使用。

完成前验证

概述

在声明任务完成前,必须执行此技能。它是所有变更的最后关口,确保交付质量与需求一致。

核心流程

  1. 核对需求:对照原始请求,逐项确认是否已实现。
  2. 运行测试:执行所有相关的单元测试、集成测试或回归测试。
  3. 手动验证:若无法自动化,执行关键路径的手动操作命令并捕捉输出。
  4. 检查副作用:确保没有引入明显的 lint 错误、格式问题或未预期的文件变更。
  5. 提交证据:在回复中附上测试结果、日志片段或运行输出。

常见错误

  • 声称已完成但未运行验证
  • 仅依赖记忆而非执行测试命令
  • 遗留调试代码(console.log、临时日志)
  • 在有已知测试失败时宣称验证通过
  • 手动验证未提供输出或截图证据

验证清单

  • 所有显式需求(Explicit Requirements)都已满足。
  • 所有隐式边界条件(如错误处理)都已覆盖。
  • 测试命令返回成功(Exit Code 0)。
  • 无新增的 lint/类型错误。
  • 已清理所有临时调试代码(如 console.log)。

快速参考

阶段必须动作证据
核对列表对比实现与需求需求/实现对比表
自动化运行 npm test 或同等命令测试通过报告
手动运行 curl 或 CLI 工具终端输出截图/片段
清理检查 git diffDiff 中无残留调试代码

示例

任务:修复登录接口 500 错误并添加密码强度检查。

验证过程

  1. 测试登录curl -X POST /api/login ... -> 返回 200 OK。
  2. 测试强度:使用弱密码注册 -> 返回 400 Bad Request(符合预期)。
  3. 运行测试:执行 vitest auth.test.ts -> 5 个测试全部通过。
  4. 检查代码:确认已移除所有临时打印。

回复证据

"验证已通过:所有 5 个授权测试均成功。手动验证确认弱密码会被拦截,正常登录已恢复。无残留调试输出。"

借口 vs 事实

借口事实
“手测过了,没问题”手测不可重复且易遗漏,优先自动化测试。
“只是改个文案/CSS,不需要验证”样式回归也需要截图或手动核对。
“测试太慢了,下次再跑”速度不是质量的借口。
“报错是环境问题”无法证明环境清白时,应视为代码问题。

红旗 - 立刻停止

  • 未运行任何测试或验证命令就宣称“已修复”
  • 发现已知缺口却试图掩盖
  • 跳过对边缘情况的验证
  • 证据与实际代码状态不符