这个 Skill 能做什么,适合哪些场景?
verify 是 e2e 仓库(tester-army/e2e,新一代 Web 与移动端端到端测试框架)内置的内部技能,位于 .dev/skills/verify/SKILL.md。它的核心理念是:单元测试通过不等于用户可见行为正确,任何对 runner、引擎、CLI、报告器、MCP 服务器或文档的改动,都必须用构建后的真实 CLI 对 testbed 与基准应用验证。技能规定了如何选择验证面(runner、报告器、Web/移动引擎、agent、MCP、打包、文档各对应不同运行方式)、如何收集证据(终端输出、视频、截图、main 与分支对照)以及验证后如何清理。它面向在本仓库内迭代并准备提交 PR 的贡献者,而非终端用户的通用测试工具。
- 按改动面选择验证路径:runner/CLI 变更跑 testbed 套件,报告器变更加跑 test:stress,引擎变更跑真实 Chromium 基准场景,移动端变更在模拟器/模拟器上跑移动基准
- 每次改动后重建 dist(pnpm build),用构建后的 CLI 直接运行确定性测试,读取终端输出与 .e2e/ 下的报告与 trace
- 通过 e2e mcp 服务器(open_session、observe、locate、screenshot、动作命令)像编码代理一样驱动页面,并可录制视频
- 修复缺陷时先在 main 上跑回归测试捕捉失败,再用 git worktree 构建对照分支,双侧运行同一命令对比
- 用 --video / --headed 录制每次尝试的视频(webm/mp4),用 ffmpeg 截帧,用 gh pr create|edit 附媒体上传到 PR
- 检查副作用:产物落在文档声明的位置、填充的密钥不出现在 .e2e/ 下任何文件中,验证完成后清理会话与临时 worktree
- e2e 仓库的贡献者改动 CLI flag 或 locator 逻辑,需要在开 PR 前用 testbed 应用端到端验证真实行为
- 修复报告器(list//markdown/junit)的缺陷,需要验证包含敌意标题等场景下的打印与写入输出
- 改动 agent 逻辑(src/agent/)或提示词,需要先跑重放(--no-cache --ai-trace)确认重放仍命中、live agent 仍可达目标
- 复现一个用户报告的 bug:在真实页面上触发错误路径,读取用户实际会看到的报错信息
- 改动文档页面,需要用 pnpm docs:dev 查看渲染效果并截图作为 PR 证据
- 改动 @e2e-dev/mobile 引擎,需要按移动基准的 README 在 iOS/Android 设备上逐一验证
- 不适合 e2e 框架的终端用户:这是仓库内部的贡献者技能(frontmatter 标注 metadata.internal: true),验证的是本仓库自身代码,不是给你自己项目的测试技能
- 不适合无法满足重依赖的环境:需要 pnpm 构建、Playwright Chromium、模拟器/模拟器设备,以及 live agent 验证所需的 AI_GATEWAY_API_KEY
- 不适合没有真实应用可跑的场景:技能明确反对只凭单元测试或"能编译"下结论,纯静态代码审查请用其他流程
如何安装这个 Skill?
- 静态审查结论,置信度低:未执行任何命令或测试;AGENTS.md、.mcp.、benchmark 测试目录等 skill 引用的关键文件未在证据中提供。
- 该技能标记为 internal:true,面向本仓库贡献者,不适合作为外部通用技能分发或调用。
- 代理验证依赖 AI_GATEWAY_API_KEY 与 Vercel AI Gateway(海外服务),大陆网络环境下实时 agent 步骤可能不可达;录制回放不受影响。
- 遥测默认开启(PostHog),虽有完整披露与退出开关,集成前应确认 E2E_TELEMETRY_DISABLED。
- e2e 处于 1.0 前的活跃开发期,API 与配置可能在小版本间变化,skill 指令可能随之失效。
- Shell / 命令行
- 网络访问
- 本地文件系统
- MCP Server
Node.jspnpmPlaywright (chromium via playwright-core)GitHub CLI (gh 2.99+ for PR media upload)ffmpeg (for stills)AI_GATEWAY_API_KEY for live agent runs
该技能随 e2e 仓库分发,是 monorepo 中 10 个技能之一,路径为 .dev/skills/verify/SKILL.md。没有独立的安装命令——克隆仓库后它就在位:
git clone https://github.com/tester-army/e2e仓库级环境准备(SKILL.md 给出的 Setup):
pnpm install --frozen-lockfile
pnpm --filter @e2e-dev/web exec playwright-core install chromium
pnpm build若要在 Claude Code 中使用 MCP 验证,仓库根目录的 .mcp. 已注册 e2e mcp 服务器;具体宿主(如 Codex 等)的技能安装步骤源文档未说明。
如何使用这个 Skill?
安装后,把下面任意一句发给 Agent 即可触发:
- 我改了 CLI 的 --reporter 逻辑,跑一下 testbed 和 test:stress,给我看 list 和 markdown 输出的真实结果
- 复现这个 bug 报告:定位器在真实页面上找不到节点,先在 main 上跑回归测试,再在分支上对比
- 帮我验证这次的 agent 变更:跑 web 基准的 tests-agent/ 重放,然后用 --no-cache --ai-trace 走一遍 live 流程并录视频
- 开 PR 前完整验证这次改动,截一张文档页面的图,把视频和截图附到 PR 上
技能由"迭代中或开 PR 前、被要求运行/测试/截图、复现 bug 报告"等情境触发。流程:改代码 → pnpm build(旧 dist 是最常见的假结果)→ 按改动面从对照表选择运行方式(多数在应用目录内直接调 CLI,例如 cd apps/testbed && node node_modules/e2e/dist/cli/bin.js run tests/todos.e2e.ts)→ 收集证据。整体验收门禁:
pnpm test:testbed
pnpm test:web-benchmark录制视频与截帧:
cd apps/web-benchmark && node node_modules/e2e/dist/cli/bin.js run --video --headed tests/<scenario>.e2e.ts
ffmpeg -ss <seconds> -i <video> -frames:v 1 after.png上传到 PR:
gh pr create --body-file body.md --attach ./after.png --attach ./video.webm选项须知:live agent 运行需 AI_GATEWAY_API_KEY,基准 agent 套件默认重放已提交的录制,只有 agent 本身变更时才用 --no-cache --ai-trace;MCP 服务器重建后需重启才能加载新 dist;APP_ALREADY_RUNNING 表示端口被其他 checkout 占用,不要杀掉非自己启动的进程。
这个 Skill 有哪些优点和局限?
- 以"用户看到的真实行为"为验证标准,杜绝"能编译就行"的假证据
- 按改动面给出明确的验证对照表,覆盖 runner、报告器、Web/移动引擎、agent、MCP、打包、文档全链路
- 要求 PR 附带可观看的证据(终端输出、视频、截图),并支持 main 与分支双侧对照的回归验证
- 重视失败路径与副作用检查(错误码触发、密钥不泄漏、产物位置)
- 仅适用于 e2e 仓库内部的开发验证,其他项目无法直接复用
- 前置成本高:需 pnpm 构建、Playwright Chromium、移动端还需模拟器/模拟器设备
- live agent 验证依赖 AI_GATEWAY_API_KEY,会产生模型调用费用
- 文档对"如何在 Claude Code 之外的主机上安装此技能"没有给出步骤
这个 Skill 与同类方案有什么区别?
与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。
| Skill | FS 评分 | Star 数 | 最近更新 | License |
|---|---|---|---|---|
| e2e Verify —— 端到端变更验证技能 本页 | 64 · 推荐 | ★ 8.7k | 1 天前 | Apache-2.0 |
| Create Verification Skill(e2e 验证技能生成器) | 54 · 谨慎使用 | ★ 8.7k | 1 天前 | Apache-2.0 |
| e2e 智能体端到端测试 | 52 · 谨慎使用 | ★ 8.7k | 1 天前 | Apache-2.0 |
| e2e Playground 验证技能 | 59 · 推荐 | ★ 8.7k | 1 天前 | Apache-2.0 |
| playwright-cli 浏览器自动化技能 | 56 · 谨慎使用 | ★ 11k | 13 天前 | MIT |
技能自身引用了同一仓库内的 skills/e2e(消费者侧编写测试的技能)和 .claude/skills/unbox-ai(阅读 agent trace),三者分工互补:verify 负责贡献者侧验证,e2e 负责用户侧写测试,unbox-ai 负责 trace 解读。源文档未提及与 Playwright 等外部框架的直接对比。
FollowSkills 如何评估这个 Skill?
该 SKILL 本身是最小权限的开发者验证工作流:不索取敏感权限、明确禁止停止非自己启动的进程、要求验证后清理(worktree、MCP 会话、后台应用),并主动要求用 grep 检查 .e2e/ 下无泄密。仓库 SECURITY.md 展示了清晰的信任模型(代码信任 vs 不可信模型输入、秘密永不进模型输入、遥测可关闭且字段全公开)。扣分:skill 依赖的若干文件(AGENTS.md、fixturures、.mcp.)未提供,无法静态核实其声明;发布方未经注册表验证。
指令自洽且工程化:常见假结果来源(陈旧 dist)被点名并给出重建规则;agent 录制回放缓存、--strict-cache 防御、CI workflow(benchmark.yml、agent.yml)与已提交的确定性测试套件(testbed、web/mobile benchmark)覆盖了 skill 的关键路径,符合超过 10 分门槛的证据要求。扣分:多个被引用文件(AGENTS.md、skills/e2e、unbox-ai、benchmark tests 目录)不在证据中,异常输入下的失败反馈链路只能部分确认,且未执行验证。
受众明确(本仓库贡献者),触发描述详细(改动 runner/engine/CLI/reporter/MCP/docs 时、迭代中与开 PR 前),并给出按改动面选择验证路径的表格,语义触发精确。扣分:作为 internal:true 的贡献者技能,适用范围天然局限于本仓库生态;边界与部分环境假设(移动端模拟器、AI_GATEWAY_API_KEY、gh 版本)依赖未提供的文件;中文支持未声明,且 agent 依赖海外模型网关(Vercel AI Gateway),大陆可达性未评估。
文档分层良好:摘要→设置→按面选择→驱动→证据→清理,渐进披露到位;仓库有 Apache-2.0、changesets 版本化、明确的 CI 门禁与安全政策,维护责任清晰(contributors、Discord)。扣分:skill 自身无版本/changelog,引用的 AGENTS.md、consumer skill 等关键配套未在证据中出现,存在隐藏假设;internal 技能本身未承诺面向外部用户的更新路径。
该 skill 解决的是真实且常被忽略的问题("it compiles" 不是验证),要求以用户视角运行构建产物、覆盖失败路径、产出终端输出/视频/截图等直接可用证据,边际价值明显高于手工摸索;CI 与基准套件证明这些路径真实被运行。扣分:静态审查无法确认代表产出的直接可用性,效果主张只能部分核实。
存在多类可审计一手材料:真实 CI workflow(benchmark/agent)与已提交的确定性/代理测试套件覆盖 skill 关键路径,录制回放缓存按 PR 提交,安全与遥测字段逐项公开。扣分:静态审查不构成独立复现;skill 引用的多处配套文件与录制品未在证据中,跨源印证不完整,故封顶 5 分。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →