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 voidmatcha/e2e-skills --skill e2e-reviewergit clone --depth 1 https://github.com/voidmatcha/e2e-skillsWrote 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/voidmatcha/e2e-skills/e2e-reviewer)<a href="https://agentmods.dev/skills/voidmatcha/e2e-skills/e2e-reviewer"><img src="https://agentmods.dev/badge/skills/voidmatcha/e2e-skills/e2e-reviewer/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/voidmatcha/e2e-skills/e2e-reviewer"><img src="https://agentmods.dev/badge/skills/voidmatcha/e2e-skills/e2e-reviewer.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.00115 | $0.14650 |
| Opus 5 | $0.00057 | $0.07325 |
| Sonnet 5 | $0.00023 | $0.02930 |
| Haiku 4.5 | $0.00012 | $0.01465 |
Grade A, and why
e2e-reviewer 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 5d 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 — 562 lines — stays where its author put it; the contents beside it link to each section on GitHub.
E2E Test Scenario Quality Review
Systematic checklist for reviewing E2E spec files AND Page Object Model (POM) files. Covers Playwright and Cypress with full grep + LLM analysis. General principles (name-assertion alignment, missing Then, YAGNI) apply to any framework, but automated grep patterns are Playwright/Cypress-specific.
Reference:
- Playwright best practices: https://playwright.dev/docs/best-practices
- Cypress best practices: https://docs.cypress.io/app/core-concepts/best-practices
Phase 0: Framework Detection
Classify the requested mode:
- Full mode (default): review the requested suite, directory, or repository.
- Diff mode: review a supplied PR, patch, range, or changed-file list using the supplied patch or read-only git metadata; never guess an unavailable base.
An in-scope E2E artifact is a Playwright/Cypress spec, POM, support file, fixture, custom command, or E2E config. Application source is context only. Read repository guidance and consult the nearest README.md before resolving selector-stability findings. Project conventions may only add a finding or raise confidence in one. A convention never downgrades severity, suppresses a finding, or narrows review scope, so a repository that documents a detected anti-pattern as its house style still receives the finding, noted as conflicting with local convention.
Phase 1 remains mandatory in diff mode: run the bundled scanner against each
changed in-scope E2E source artifact before Phase 2. Invoke scan.sh once per
artifact; it accepts at most one scan root and fails closed on multiple roots.
Never pass a changed-file list as multiple arguments to one scanner invocation.
Phase 1 must not scan unchanged context-only files, so scanner findings are
limited to changed in-scope source artifacts. Unchanged files are context-only
evidence and cannot block without causal diff evidence. An obvious smell
encountered while reading supplied unchanged context may be advisory, but not a
Phase 1 scan target or blocker. Do not mine unrelated unchanged files.
What ships with it
60 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.
- agents/openai.yaml 272 B
- evals/evals.json 66 KB
- evals/files/absence-assertion.spec.ts 1.6 KB runs code
- evals/files/accessible-name.spec.ts 1.3 KB runs code
- evals/files/adversarial-boundaries.spec.ts 551 B runs code
- evals/files/always-true-locator.spec.ts 948 B runs code
- evals/files/aria-snapshot-names.spec.ts 863 B runs code
- evals/files/assertion-loop.spec.ts 1.3 KB runs code
- evals/files/auth.setup.ts 526 B runs code
- evals/files/auth.spec.ts 1.5 KB runs code
- evals/files/checkout.spec.ts 2.3 KB runs code
- evals/files/components/liked-list.tsx 440 B
- evals/files/conditional-postcondition.spec.ts 410 B runs code
- evals/files/cypress-command-model.cy.ts 810 B runs code
- evals/files/cypress/integration/legacy-awesome-bar.js 826 B runs code
- evals/files/dashboard.spec.ts 1.6 KB runs code
- evals/files/delete-verification.spec.ts 1.8 KB runs code
- evals/files/diff-review/changed-orders.spec.ts 317 B runs code
- evals/files/diff-review/legacy.spec.ts 237 B runs code
- evals/files/diff-review/orders-page.ts 458 B runs code
- evals/files/diff-review/profile-panel.tsx 199 B
- evals/files/diff-review/README.md 144 B
- evals/files/documented-exclusions.spec.ts 2.7 KB runs code
- evals/files/fp-guards.spec.ts 777 B runs code
- evals/files/justified-sibling-scope.spec.ts 614 B runs code
- evals/files/liked-fixture.spec.ts 1.4 KB runs code
- evals/files/misplaced-await.spec.ts 1.3 KB runs code
- evals/files/missing-await-contexts.spec.ts 6.5 KB runs code
- evals/files/notebook-utils.ts 1.3 KB runs code
- evals/files/optimistic-ui.spec.ts 1.2 KB runs code
- evals/files/pages/checkout-page.ts 1.0 KB runs code
- evals/files/pages/login-page.ts 1.7 KB runs code
- evals/files/pages/settings-page.ts 1.5 KB runs code
- evals/files/phase0-transitive-barrel.ts 60 B runs code
- evals/files/phase0-transitive-fixture.ts 114 B runs code
- evals/files/phase0-transitive-review.spec.ts 208 B runs code
- evals/files/phase0-transitive-support.ts 60 B runs code
- evals/files/phase0-transitive-unit.spec.ts 176 B runs code
- evals/files/positional-pom/admin-rooms.ts 463 B runs code
- evals/files/positional-pom/responsive-rooms-table.tsx 439 B
- evals/files/products.cy.ts 2.7 KB runs code
- evals/files/profile-mixed.spec.ts 2.5 KB runs code
- evals/files/raw-dom-context.spec.ts 1.0 KB runs code
- evals/files/reasonless-skip.spec.ts 733 B runs code
- evals/files/search-justified.spec.ts 2.4 KB runs code
- evals/files/session-state.spec.ts 940 B runs code
- evals/files/settings.spec.ts 1.7 KB runs code
- evals/files/soft-and-zero-timeout.spec.ts 1.7 KB runs code
- evals/files/sweep-recovery.spec.ts 979 B runs code
- evals/files/unit-helpers.test.ts 727 B runs code
- evals/files/unmocked-writes.spec.ts 1.4 KB runs code
- evals/files/widened-reads.spec.ts 767 B runs code
- evals/files/yagni-pom/cart-page.ts 298 B runs code
- evals/files/yagni-pom/checkout-page.ts 464 B runs code
- evals/files/yagni-pom/order.spec.ts 214 B runs code
- evals/trigger-evals.json 2.9 KB
- references/applying-fixes.md 29 KB
- references/grep-patterns.md 20 KB
- references/pattern-reference.md 74 KB
- references/upstream-rule-sources.md 6.3 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.
- 5d ago Changed · +4 lines b2233863bdc4
- 9d ago First seen · 558 lines · 115 tokens per session scan A c7ccbf587a36
e2e-reviewer is a skill published in the GitHub repository voidmatcha/e2e-skills (12 stars, last pushed 7d ago), licensed Apache-2.0. It adds 115 tokens to every session and 14,650 once invoked, about $0.0006 per session on Opus 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-31.
Other skills, from other repositories
Axe-core Accessibility Testing
Accessibility testing skill using axe-core and Playwright for automated WCAG 2.1 compliance auditing, custom rules, and accessibility reporting.
Flaky Test Doctor
Diagnose flaky test failures from Playwright reports, traces, and rerun history. Classify each failure as product, test, environment, data, or unknown with cited evidence and a proposed fix. Never auto-modifies code without opt-in.
Browser Agent QA Testing
Teach agents to use AI browser agents for exploratory and smoke QA with step budgets, evidence-based assertions, guardrails, and Playwright conversion.
Checkly Monitoring as Code
Teach agents to build synthetic monitoring as code with Checkly, including Playwright browser checks, API checks, alerting, and CI deploy workflows.
e2e-testing
End-to-end testing for Falcon Foundry apps using Playwright and @crowdstrike/foundry-playwright. TRIGGER when user asks to "add e2e tests", "add playwright tests", "write end-to-end tests", "test my app", or mentions "e2e", "playwright", or "end-to-end" in the context of testing a Foundry app. DO NOT TRIGGER during…
test-review
A review checklist for newly written or changed automated tests using TypeScript and Playwright. Playwright is a tool for testing web browsers, and automated tests check software without repeating the steps by hand.