这个 Skill 能做什么,适合哪些场景?
verify-playground 是 e2e 仓库内技能集合中的一个专项技能,用于验证 testbed playground Web 应用(apps/testbed)。它指导代理启动目标应用、用 e2e CLI 做诊断(Doctor)、通过 MCP 会话或脚本化测试驱动页面,并生成可留存的证据(trace、视频、截图、report.)。它还支持用 skeptic 和 fuzzer 角色的 bug bash 探索,并以一条测试断言失败(ASSERTION_FAILED)作为确认 bug 的标准。该应用无数据库、无环境变量依赖,数据存于浏览器 localStorage 和 cookie,服务器无状态。
- 读取 e2e.config.ts(目标 web,测试 tests/**/*.e2e.ts)并自动用 node app/server.mjs 启动 PORT=4271 的应用,运行结束自动停止
- 运行 Doctor 诊断:npx e2e list 验证配置加载,npx e2e run tests/smoke.e2e.ts 验证应用可打开,必要时运行 tests/auth.setup.e2e.ts 保存 admin 会话
- 通过 e2e mcp 注册的服务器实时驱动页面(open_session、observe、locate、各动词),或编写 tests/ 下的脚本化测试(screen、agent.act)
- 每次运行写入 .e2e/report.,支持 --trace on、--video、app.screenshot(),用 --output .e2e/proof/<name> 保存跨运行留存的证明
- 运行 e2e.bugbash.config.ts 的 bug bash:扩展 glob 到 tests/bugbash/**,带 skeptic/fuzzer 角色,features/ 内以 slug|target|agent|charter 行格式提供章程
- 清理:停止启动的应用和会话,删除被否决章程的 .e2e/bugbash/<slug>/,保留报告引用的产物
- 改动 playground 应用代码后、提交或宣布“修复生效”之前,运行完整验证并留下截图/trace 证据的维护者
- 被要求“验证某页面”或“给某页面截图”的代理或开发者,需要可复现、可留存的运行证明
- 想对 playground 应用做系统性 bug bash 的测试工程师,利用 skeptic/fuzzer 角色和 features/ 中现成的章程做并行探索
- 调试测试环境问题的贡献者,可用 Doctor 快速区分配置问题(list 失败)与应用本身问题(LOCATOR_NOT_FOUND)
- 需要在本地复现一个 bug bash 发现的人,通过把发现编码为 tests/bugbash/<slug>.e2e.ts 并观察 ASSERTION_FAILED 来确认
- 不适用:本技能只针对 apps/testbed 这个具体 playground 应用,验证你自己的业务应用请使用 e2e 框架本身而非此技能
- 不适用:无移动端目标——技能内配置 target 为 web,仅涉及浏览器端(localStorage、cookie)
- 不适用:无宿主配置的裸 API 调用者——技能依赖 shell、pnpm、e2e CLI 和 MCP 会话驱动,需要可执行环境
如何安装这个 Skill?
- 本技能绑定本仓库的 apps/testbed 应用,对其他项目不适用;请勿在仓库外按其指令盲目执行。
- 技能依赖外部 e2e CLI 与 npx 下载,其 CLI 默认发送匿名遥测(可通过 E2E_TELEMETRY_DISABLED=1 关闭);在中国大陆网络环境下 npm 与 PostHog 端点可达性未经验证。
- e2e 框架处于 1.0 前的活跃开发期,API 与配置可能变更;bug bash 配置文件为 untracked,需自行创建。
- 本次为静态源码评审,未执行任何命令或测试,所有结论基于文档自洽性与仓库内证据,置信度低。
- Shell / 命令行
- 网络访问
- 本地文件系统
- MCP Server
Node.jse2e CLI (npm package)Playwright-based web enginepnpm (for manual app serving)
该技能随 tester-army/e2e 仓库的技能集合(共 10 个技能)分发,位于 skills/create-verification-skill/references/example/verify-playground/。README 未记录单独安装此技能的命令,需要通过安装 e2e 工具链获得运行能力:
npm install e2e
npx e2e init将技能目录复制到你的 Agent Skills 兼容宿主的技能目录即可启用:
git clone https://github.com/tester-army/e2e
cp -r e2e/skills/create-verification-skill/references/example/verify-playground <你的宿主技能目录>/如何使用这个 Skill?
安装后,把下面任意一句发给 Agent 即可触发:
- 我改了 playground 的导航链接,先跑一遍验证确认没坏再提交
- 打开 playground 并截图设置页给我看
- 对 playground 的 todo 功能做一次 bug bash,把发现整理成报告
- smoke 测试跑不过了,帮我判断是配置问题还是应用本身的问题
技能在代理需要验证 playground 改动、被要求截图或验证页面、或被要求 bug bash 时触发。技能开头要求先阅读 .agents/skills/e2e/SKILL.md。典型流程:
1) 先跑 Doctor 确认环境正常:
npx e2e list tests/smoke.e2e.ts
npx e2e run tests/smoke.e2e.ts2) 需要登录态时先运行 setup 保存 admin / admin-cookie 会话:
npx e2e run tests/auth.setup.e2e.ts3) 用 MCP 会话实时驱动(open_session → observe → locate → 动词)或在 tests/ 下编写脚本化测试;写 locator 前必须先 locate。
4) 需要留存证明时指定独立输出目录:
npx e2e run --trace on --output .e2e/proof/<name>5) bug bash 使用 e2e.bugbash.config.ts;多探索者并行需先 pnpm app 启动应用并在命令上加 reuseExisting: true。注意端口固定,手动 pnpm app 启动后再跑测试会报 APP_ALREADY_RUNNING。
这个 Skill 有哪些优点和局限?
- 全自动应用生命周期:运行器启动、等待健康、停止目标应用,无需手动启动或数据库/种子
- 证据体系完整:report.、trace.md、attempt 视频、命名截图,且可用 --output 隔离留存证明
- bug bash 确认标准严格:只有编码该发现的测试以 ASSERTION_FAILED 失败才算 bug,探索者的口头声明不算
- Doctor 提供明确的失败归因:list 失败是配置/依赖,APP_ALREADY_RUNNING 是端口占用,LOCATOR_NOT_FOUND 是应用问题
- 范围严格限定于 apps/testbed 这一个 playground 应用,不能直接用于其他项目
- 端口固定为 4271 且不复用,多探索者并行需要额外配置(pnpm app + reuseExisting)
- 依赖未跟踪的 e2e.bugbash.config.ts 和本地的 features/ 章程文件,新环境需要自行准备
- README 未记录此技能的独立安装步骤;宿主需要支持 MCP 与 shell 执行
这个 Skill 与同类方案有什么区别?
与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。
| Skill | FS 评分 | Star 数 | 最近更新 | License |
|---|---|---|---|---|
| e2e Playground 验证技能 本页 | 59 · 推荐 | ★ 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 |
| Playwright 浏览器自动化技能 | 68 · 推荐 | ★ 3.2k | 1 个月前 | MIT |
| playwright-cli 浏览器自动化技能 | 56 · 谨慎使用 | ★ 11k | 13 天前 | MIT |
README 将 e2e 定位为“下一代端到端测试框架”,通过 Playwright 驱动浏览器(@e2e-dev/web)并在同一测试中结合自然语言代理步骤与定位器/断言,但源材料未点名具体竞品,故不做对比。
FollowSkills 如何评估这个 Skill?
该技能描述了最小权限的本地运行方式:固定端口、运行器自动启停应用、清理规则明确(不使用 pkill node、按会话停止、gitignore 证明产物)、凭据通过 type_secret/credentials.user 处理且不打印密码截图,数据流向(localStorage、cookie、服务器不保存)披露完整。扣分项:实际执行依赖外部 e2e CLI(含遥测,README 披露但默认开启),技能本身未提供隔离或用户确认机制,发布者身份未经验证。
文档自洽且详细:Doctor 前置诊断、明确的错误码(APP_ALREADY_RUNNING、LOCATOR_NOT_FOUND、ASSERTION_FAILED)及失败原因分类、端口冲突处理、bug bash 配置依赖说明均清晰。扣分项:静态评审无法执行,关键路径(launch、test、bug bash)未复现;bugbash 配置为 untracked,读者需自建,部分假设(features 目录格式)依赖其他主题文档。
触发条件在 description 中明确(验证 playground 变更、截图、bug bash),适用边界清晰(仅限 apps/testbed,明确说明本技能只描述该应用的事实),特性地图与路由、测试一一对应。扣分项:适用范围极窄(绑定本仓库 testbed),无中文支持说明;核心依赖 npx/e2e 包从 npm 获取,中国大陆网络可达性未评估。
信息架构分层良好:SKILL.md 先指向底层 e2e 技能,features/ 目录按功能逐层展开含子特性、证明方式、charter 与 gotchas;许可证 Apache-2.0 明确。扣分项:作为示例技能无独立版本、变更日志或维护责任声明;bugbash 配置 untracked 需用户手工处理;未披露已知限制的完整清单。
目标明确且价值主张清晰:为 playground 变更提供可验证证据(报告、trace、截图、proof 目录),并区分探索者主张与经测试确认的 bug,边际价值高于人工验证。扣分项:静态评审未验证代表性输出可直接使用;价值依赖 e2e 框架实际行为正确,该前提未经本次评审证实。
仓库含真实 CI 工作流(agent.yml、benchmark.yml)与已提交的测试套件(mobile-benchmark 测试引用 testbed 生态),为框架层提供部分可审计证据。扣分项:所评技能自身的关键路径(playground 验证流程)缺少独立可复现的第三方执行证据,测试文件与技能声明之间的对应关系未逐项核对。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →