Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add seed-forge/harness-ai-kit --skill devlab-web-deep-acceptancegit clone --depth 1 https://github.com/seed-forge/harness-ai-kitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/seed-forge/harness-ai-kit/devlab-web-deep-acceptance)<a href="https://agentmods.dev/skills/seed-forge/harness-ai-kit/devlab-web-deep-acceptance"><img src="https://agentmods.dev/badge/skills/seed-forge/harness-ai-kit/devlab-web-deep-acceptance/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/seed-forge/harness-ai-kit/devlab-web-deep-acceptance"><img src="https://agentmods.dev/badge/skills/seed-forge/harness-ai-kit/devlab-web-deep-acceptance.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00169 | $0.04286 |
| Opus 5.5 | $0.00068 | $0.01714 |
| Sonnet 5.5 | $0.00034 | $0.00857 |
| Haiku 4.5 | $0.00017 | $0.00429 |
Grade A, and why
devlab-web-deep-acceptance scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 222 lines — stays where its author put it; the contents beside it link to each section on GitHub.
devlab-web-deep-acceptance — 存量系统深度功能验收
Purpose
对一个已经存在、功能繁多、质量未知的 Web 系统做"每个页面、每个按钮、每个接口贯通"的深度验收, 并沉淀可重放的回归资产(功能点 registry + 用例文件 + 报告 + 全局 dashboard)。
与 devlab-web-test-e2e 的分工:绿field 新项目用例从零生成走前者;存量系统"先盘点登记再分级深测"
走本技能。两者可先后衔接(先用本技能验收存量,新增功能走前者增量生成)。
实证规模:本方法论在某 30+ 模块微前端系统落地,登记 689 功能点(pass 64%/blocked 28%),
实战陷阱 72 条全量收录于 references/REFERENCE-PITFALLS.md(执行遇阻先查它)。
适用条件
- 被测系统有浏览器 UI + 后端 HTTP API(SPA / 微前端 / 传统 MPA 均可);
- 可拿到前端源码(盘点要逐按钮读视图代码)与后端数据访问通道(直连 DB 或只读查询代理);
- 执行环境可跑 Node ≥ 18 + Playwright(Chromium);
- 允许在测试库造数(写操作前缀隔离,如
AUTOTEST_)。
核心设计(为什么是这套结构)
- registry 是唯一事实源:功能点状态(todo/pass/fail/blocked)+ 根因 reason + 执行注注释全部登记在
registry/<module>.yaml,执行器回写、报告生成、dashboard 聚合都从它出发。权威信息绝不写在 会被覆盖的生成物(SUMMARY)里。 - 唯一入口七模式:
node run.js <module> [--dry-run|--precheck|--seed|--case|--all|--audit|--cleanup], 新增模块零改执行器——只加 registry + cases。 - HTTP 200 ≠ 业务成功:后端代理吞异常返 200+空/null 是存量系统最常见假成功,框架内置 响应体六态分诊与假成功嗅探(只观测不改判定,由用例结合语义判读)。
- 探索一次即固化:每个 pass/fail 功能点必须有
.case.js可重放,收尾--audit三对齐审计 (status × 用例文件 × 报告)防"探索后漏固化"静默混过。 - blocked 是一等公民:不可修问题不判 fail,走五分类根因 + pending-issues 闭环,registry 标 blocked 写清解锁条件,释放执行流继续推进。
目录结构规范
test/e2e/
├── run.js # 唯一入口执行器(scripts/ 拷贝)
├── e2e.config.js # 环境配置(baseUrl/凭据/API 前缀/DB 通道/豁免表)
├── registry/
│ ├── modules.yaml # 模块总账(多会话认领制)
│ └── <module>.yaml # 功能点唯一事实源
├── cases/<module>/<feature-id>.case.js # 用例(探索即固化)
├── cases/<module>/_helpers.js # 模块专属原语(噪声表/页面适配)
├── lib/ # 框架库(browser/session/assert/report/precheck/api-common)
├── data/factory/<module>.js # 造数工厂(--seed 调用)
├── reports/<module>/ # 功能点报告 + SUMMARY.md + PRECHECK.md
├── tools/ # 一次性探针 probe-*(结论固化后移 _archive/)与可复用工具
└── docs/pending-issues.md # 跨功能点问题闭环(P0-P3 分级)
七阶段工作流
Phase 0 — 系统画像盘点(不写任何用例)
- 范围核验(强制):验证范围以"实际部署的后端服务"为准(如 Git 追踪的模块清单)。
前端有入口但后端未部署的模块标
out_of_scope,否则会产出永远修不好的 FAIL。 - 摸清系统形态:SPA 还是微前端(子应用按需注册?路由挂载检测怎么做)、登录机制
(表单/SSO/Token)、前端路由清单来源(源码 routers 目录)、后端 API 前缀
(如
/emas/ms/<service>/)、DB 通道(直连 JDBC / 只读 HTTP 代理)。 - 建立
e2e.config.js(从scripts/e2e.config.example.js拷贝改值)。 - 产出:系统画像笔记 + modules.yaml 初稿(模块清单 + 路由线索 + 优先级 P0-P3)。
What ships with it
27 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- CHANGELOG.md 1.1 KB
- decisions.yaml 1.1 KB
- README.md 2.6 KB
- references/REFERENCE-BLOCKED-TAXONOMY.md 6.8 KB
- references/REFERENCE-FALSE-SUCCESS.md 6.6 KB
- references/REFERENCE-GRADING.md 4.2 KB
- references/REFERENCE-INDEX.md 1.0 KB
- references/REFERENCE-PITFALLS.md 54 KB
- references/REFERENCE-REGISTRY-SCHEMA.md 8.3 KB
- scripts/e2e.config.example.js 2.6 KB runs code
- scripts/lib/actions.js 979 B runs code
- scripts/lib/api-common.js 8.7 KB runs code
- scripts/lib/assert.js 3.5 KB runs code
- scripts/lib/browser.js 4.0 KB runs code
- scripts/lib/precheck.js 19 KB runs code
- scripts/lib/report.js 2.3 KB runs code
- scripts/lib/session.js 2.9 KB runs code
- scripts/run.js 18 KB runs code
- scripts/tools/dashboard.js 6.0 KB runs code
- skill.json 2.1 KB
- templates/dashboard.md.tmpl 779 B
- templates/module.case.js.tmpl 1.5 KB
- templates/modules.yaml.tmpl 771 B
- templates/pending-issues.md.tmpl 1.1 KB
- templates/registry-module.yaml.tmpl 2.5 KB
- templates/SUMMARY.md.tmpl 861 B
- USAGE.md 2.5 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 222 lines · 169 tokens per session scan A 30fe7a7c3374
devlab-web-deep-acceptance is a skill published in the GitHub repository seed-forge/harness-ai-kit (25 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 169 tokens to every session and 4,286 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
qa
Exercise the delivered customer journey using real runtime or browser evidence. Use for functional acceptance testing after implementation, including failure paths.
running-bug-review-board
Runs real-user QA, manual test plans, UX bug hunts, build sign-off, bug filing, and bug triage for web or iOS/iPadOS apps. Use when asked "QA this", "is this ready to ship?", or similar. Produces P0/P1/P2 bug reports, YES/NO phase sign-off, tracker sync guidance, and an HTML QA dashboard; keeps Interactive BRB triage…
plan-test-coverage
User-story-driven test coverage audit and plan — no test writing in this pass. Use when "test coverage plan", "coverage audit", "traceability matrix", "fake-green tests", "uncovered user stories", "plan tests for critical flows", or "whats not tested". Mutation score / assertion theater → test-mutation.
Playwright Test Builder
Generates robust Playwright end-to-end tests for web pages and user flows.
pre-send-qa
Pre-flight QA for an email campaign — merge tags, broken links, spam triggers, compliance, mobile rendering — before you hit send.
screen-reader-testing
Test web applications with screen readers including VoiceOver, NVDA, and JAWS. Use when validating screen reader compatibility, debugging accessibility issues, or ensuring assistive technology support.