Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/JansenAnalytics/claudexnpx agentmods add skills/jansenanalytics/claudex/e2e-test-writerWrote 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/jansenanalytics/claudex/e2e-test-writer)<a href="https://agentmods.dev/skills/jansenanalytics/claudex/e2e-test-writer"><img src="https://agentmods.dev/badge/skills/jansenanalytics/claudex/e2e-test-writer.svg" alt="Measured on agentmods" height="20"></a>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.00035 | $0.00933 |
| Opus 5 | $0.00017 | $0.00466 |
| Sonnet 5 | $0.00007 | $0.00187 |
| Haiku 4.5 | $0.00003 | $0.00093 |
Grade A, and why
e2e-test-writer 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 3d 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 — 117 lines — stays where its author put it; the contents beside it link to each section on GitHub.
e2e-test-writer
Generate end-to-end tests for web applications using Playwright. Create test files from user flow descriptions, page snapshots, or existing page analysis.
When to Use
- Adding E2E test coverage to a web application
- Generating regression tests after building features
- Creating smoke tests for critical user flows
- Automating user flow verification
- Setting up Playwright test infrastructure from scratch
Scripts
generate-test.py
Generates a complete Playwright test file from a JSON flow description.
# From a JSON file
python3 scripts/generate-test.py --input flow.json --output tests/login.spec.ts
# From stdin
echo '{"name":"login","steps":[{"action":"goto","url":"/"},{"action":"fill","selector":"#email","value":"[email protected]"},{"action":"click","selector":"button[type=submit]"},{"action":"assert_text","text":"Welcome"}]}' | python3 scripts/generate-test.py --output tests/login.spec.ts
# JavaScript output instead of TypeScript
python3 scripts/generate-test.py --input flow.json --output tests/login.spec.js --lang js
Flow JSON format:
{
"name": "login",
"baseURL": "http://localhost:3000",
"steps": [
{ "action": "goto", "url": "/login" },
{ "action": "fill", "selector": "#email", "value": "[email protected]" },
{ "action": "fill", "selector": "#password", "value": "secret123" },
{ "action": "click", "selector": "button[type=submit]" },
{ "action": "assert_url", "url": "/dashboard" },
{ "action": "assert_text", "text": "Welcome back" },
{ "action": "assert_visible", "selector": ".user-avatar" },
{ "action": "screenshot", "name": "dashboard-loaded" },
{ "action": "select", "selector": "#role", "value": "admin" },
{ "action": "wait", "ms": 1000 }
]
}
Supported actions: goto, click, fill, select, assert_text, assert_url, assert_visible, wait, screenshot
flow-recorder.sh
Creates a template JSON flow file with placeholder steps.
bash scripts/flow-recorder.sh --name "login-flow" --steps 5
bash scripts/flow-recorder.sh --name "checkout" --steps 8 --output flows/checkout.json
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.
- 3d ago First seen · 117 lines · 35 tokens per session scan A c118eb0d4b28
e2e-test-writer is a skill published in the GitHub repository JansenAnalytics/claudex (5 stars, last pushed 2mo ago), licensed MIT. It adds 35 tokens to every session and 933 once invoked, about $0.0002 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-09-03.
Other skills, from other repositories
e2e-reviewer
Use when reviewing Playwright or Cypress E2E specs, Page Objects (POM), PRs, pull requests, patches, diffs, or changed test files — asked to review tests, audit test quality, or find weak, flaky, or silently-passing tests; when tests pass CI but prove nothing or miss bugs; when auditing missing awaits, vacuous or…
e2e-reviewer
Catalog-only control for a preregistered e2e-reviewer ablation.
playwright-cli
Automate browser interactions, test web pages and work with Playwright tests.
playwright-component-testing
Set up component testing with Playwright using a story gallery — scaffold stories and a gallery dev page driven by the built-in mount fixture, no dedicated component-testing runtime. Use when asked to test React or Vue components in isolation with Playwright, or to migrate off @playwright/experimental-ct-react / -vue.
playwright-trace
Inspect Playwright trace files from the command line — list actions, view requests, console, errors, snapshots and screenshots.
testing-e2e
End-to-end testing patterns with Playwright — page objects, AI agent testing, visual regression, accessibility testing with axe-core, and CI integration. Use when writing E2E tests, setting up Playwright, implementing visual regression, or testing accessibility.