关于 validate-ui
validate-ui 是一项 UI 验收技能,通过 kimi-webbridge 在用户运行中的 Chrome 或 Edge 会话里检查前端流程。它验证已接通应用中的可见结果并记录证据,不会另行搭建浏览器测试框架。
主要功能
- 01在 Chrome 或 Edge 中操作运行中的应用
- 02通过 kimi-webbridge 执行交互
- 03断言可见的 UI 结果
- 04重新检查失败流程
- 05记录验收证据
适用场景
- 01依据验收标准验证前端改动
- 02检查 UI 状态在重新加载后是否保留
- 03记录真实浏览器流程的验证证据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jayden-dang/ skills --skill validate-ui安装后在 Claude Code 中输入/validate-ui确认已加载。
附带文件eval.jsonTESTS.md
详细介绍
验收 — UI
通过 kimi-webbridge,在用户的 Chrome 或 Edge 中操作正在运行的应用。 点击、输入、提交、重新加载,并断言屏幕上实际显示的内容。 组件测试会模拟网络;此流程用于验证已接通的完整技术栈。全新的无头浏览器属于不同会话——它不属于本次操作,本技能也不会安装无头浏览器。
由 validate-feature 携带验收台账的一部分调用,也可直接用于前端更改。按台账顺序逐项处理。
1. 启动应用并记录启动方式
阅读 docs/agents/project.md 中的 Run locally (dev)。使用记录的命令启动前端(以及它调用的任何后端);如果没有记录,就自行查明启动方法、启动应用、确认应用能在浏览器中加载,然后将命令写入 project.md 的 ## Run locally (dev) 下。完成条件:应用已加载,且命令已记录。
前置条件 — 身份验证、数据、环境。 如果流程需要已登录的会话、预置账户或环境配置,请查明代码库提供这些条件的方式,并记录在 project.md 中。已登录的浏览器就是该会话。不要为无头运行器创建 storageState 文件。如果流程卡在登录页,先暂停,让用户在操作所用的标签页中登录一次,然后继续。空白屏幕不算通过。
UI / 无障碍标准(可选)
加载: skills/project/define-system-doc/consult-recipe.md。
路径: docs/standards/ui.md、docs/standards/accessibility.md。
仅在已批准时查阅;不存在时不执行任何操作;如果内容相关,建议一次 /define-system-doc standards/ui|accessibility;切勿自动调用。
2. 使用 kimi-webbridge 作为驱动工具
遵循 kimi-webbridge 技能。此功能的所有命令都使用同一个会话名称。首次 navigate 使用 newTab:true。使用 find_tab 并设置 active:true 会借用用户的标签页——不要这样做。如果守护进程未运行,则启动它。如果扩展程序未连接,则转发该技能指定的帮助页面并停止。
本次验证不得安装 @playwright/test、Cypress 或其他浏览器测试框架;也不得因为代码库中已有浏览器测试框架,就改用全新的无头浏览器来驱动流程。完成条件:通过 kimi-webbridge 在操作用的标签页中打开应用,或已记录扩展程序未连接并停止。
3. 驱动每个检查清单流程
对于台账中的每个 UI 项目,都像用户一样操作。使用 snapshot 按角色或名称查找控件,然后执行 click 或 fill。断言可见结果——屏幕上的文字、输入框已清空、列表顺序、显示了错误消息等——并将对应文字引用到台账中。验收条件要求“持久保存”时,重新 navigate 到同一 URL,并断言状态仍然存在。需要检查服务器存储内容时,在操作前执行 network start,在 stop 前执行 detail,并记录状态和响应事实。在台账中映射需求 ID,不要在应用源码中映射。
4. 分流处理失败项
不得忽略任何失败。重新驱动失败的流程一次:
- 用户可见结果稳定失败——文字错误、状态错误、应渲染的元素缺失——属于产品缺陷。必须使用
root-cause子技能。红色循环仍是同一次 webbridge 驱动,不是新建浏览器测试套件。修复的回归测试应通过test-first纳入代码库现有的测试栈。 - 非确定性失败(重新驱动后通过)或驱动故障——不再匹配的 ref、缺少等待、缺少预置状态——应在驱动过程中修复,而不是另行搭建测试框架。
只有真实结果上的确定性失败才交由 root-cause 处理。
完成条件:每个 UI 流程都在全新的 webbridge 驱动中通过。
5. 记录驱动结果
写入 .skills/<CODE>/validate-ui.md:每个流程记录一个区块,包含引用的屏幕文字、重新加载结果,以及通过或失败。该文件是验收证据。在台账中注明结果。本次验证不得提交浏览器测试框架套件。完成条件:记录已写入磁盘,且其中每个流程都已通过。
合理化借口
| 想法 | 实情 |
|---|---|
| “没有 Playwright,那我就安装一个,让 CI 重新运行” | 此次验收使用的是用户的浏览器。不要在这里创建这套测试框架 |
| “无头模式更可靠” | 那是另一个会话。需要使用已登录浏览器的流程不会在那里运行 |
| “仓库已经有浏览器测试套件了,那就用它来驱动” | 不要动它。这次验收驱动仍然是 kimi-webbridge |
| “出现登录墙就意味着功能失败” | 在驱动标签页中暂停并登录一次,然后继续 |
危险信号
- 为此次验收添加浏览器测试依赖或配置
- 在全新的无头浏览器中记录的验收过程
- 使用
find_tab并设置active:true - 将登录墙截图视为流程结果