关于 verify-fix
面向开发人员的缺陷修复验证技能,通过在运行中的产品中复现问题并检查修复后的行为来确认结果。它要求以实际运行时证据为依据,而非仅检查代码或构建状态。
主要功能
- 01读取问题详情与修复计划
- 02构建并部署产品补丁
- 03使用 Playwright 验证前端行为
- 04通过 curl 或 REST API 验证后端
- 05生成修复验证报告
适用场景
- 01验证前端缺陷是否修复
- 02检查后端 API 修复结果
- 03记录复现步骤与验证证据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tharsanan1/ wso2-se-agent-skills --skill verify-fix安装后在 Claude Code 中输入/verify-fix确认已加载。
详细介绍
/verify-fix — 通过复现验证错误修复
步骤
-
获取问题 — 获取问题详情并了解预期行为。
-
检查修复计划 — 如果
.ai/fix-<issue_number>.md存在,请阅读。该文件会说明:- 在 plan-fix 过程中,开发测试是通过还是失败
- 做了哪些更改,以及涉及哪些文件
- 已知的问题或限制 如果开发测试状态为 FAILED,请特别留意“已知问题”部分——修复可能并不完整。
-
构建并修补产品 — 按照 CLAUDE.md 中的修补说明操作:
- 构建已更改的模块:
mvn clean install -Dmaven.test.skip=true - 从 zip 中提取全新的产品包
- 将 JAR 补丁应用到
repository/components/patches/patch9999/ - 应用任何模板或 WAR 补丁
- 启动服务
- 构建已更改的模块:
-
在运行时验证 — 必须在运行中的产品上实际测试修复。检查代码差异、搜索已编译的包,或确认“构建成功”,都不算验证。必须在运行时观察到正确行为。
对于前端错误: 使用 Playwright——遵循 CLAUDE.md 中的“与前端交互(Playwright)”部分。
- 如果复现步骤已生成复现脚本(
.ai/reproduce-<issue_number>.mjs),请运行它——错误行为应该不再出现。 - 如果没有脚本,请按照 CLAUDE.md 中的 Playwright 指南编写一个。
- 将验证截图保存到
.ai/screenshots-<issue_number>/verify/。 - 截图必须展示正确行为(例如,原本隐藏的元素现在可见)。
对于后端错误: 使用 curl 或 REST API 调用来测试运行中的服务。
- 部署 API/产品后,请立即检查服务日志中是否有错误,并按照 CLAUDE.md 中的“故障排除 / 日志分析”部分,使用指定命令和筛选规则。
- 如果发现部署错误,请立即报告——不要继续调用。
- 如果部署正常,则继续调用并比较结果。
以下内容不算验证:
- ❌ “已编译的包包含修复逻辑”——搜索经过压缩的 JS 不算验证
- ❌ “构建成功”——构建成功只说明代码可以编译
- ❌ “管理门户可以加载(HTTP 200)”——这只能说明服务正在运行
- ✅ 展示修复后 UI 正确行为的 Playwright 截图
- ✅ 展示修复后正确 HTTP 状态码/响应正文的 curl 响应
- ✅ 显示先前出现错误的地方现已无错误的服务日志
- 如果复现步骤已生成复现脚本(
-
报告 — 创建
.ai/verify-<issue_number>.md:
# Fix Verification Report
**Issue**: <url>
**Verdict**: FIXED | NOT FIXED
**Verification method**: Playwright / curl / server logs
## Reproduction Steps Executed
<what you did — must be runtime steps, not code analysis>
## Result
<what happened — describe observed runtime behavior>
## Evidence
<screenshots in .ai/screenshots-<issue_number>/verify/, curl output, or server log excerpts — MUST be from runtime>
重要规则
- 服务启动: 启动命令和日志轮询循环必须放在同一次 Bash 工具调用中,并设置
timeout: 200000。不要拆分成多个调用。 - Playwright 最佳实践: 等待元素出现,不要使用固定时长的休眠(
page.waitForSelector()、page.locator().waitFor())。清楚地记录断言——打印预期值与实际值,让产物中的输出更有用。
评论
支持 Markdown