Borrowing it
Nothing to install: this file belongs to theimaginaryfoundation/what-iff. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/theimaginaryfoundation/what-iff/main/.agents/skills/playwright-e2e/SKILL.mdgit clone --depth 1 https://github.com/theimaginaryfoundation/what-iffWrote 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/theimaginaryfoundation/what-iff/playwright-e2e)<a href="https://agentmods.dev/skills/theimaginaryfoundation/what-iff/playwright-e2e"><img src="https://agentmods.dev/badge/skills/theimaginaryfoundation/what-iff/playwright-e2e/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/theimaginaryfoundation/what-iff/playwright-e2e"><img src="https://agentmods.dev/badge/skills/theimaginaryfoundation/what-iff/playwright-e2e.svg" alt="Reviewed on agentmods" width="80" 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.00148 | $0.01405 |
| Opus 5 | $0.00074 | $0.00702 |
| Sonnet 5 | $0.00030 | $0.00281 |
| Haiku 4.5 | $0.00015 | $0.00140 |
Grade A, and why
playwright-e2e 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 yesterday.
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 — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Playwright E2E
Browser-level tests against the real Angular app, in
web/app/e2e. This skill is a decision-tree pointer — for
full detail read web/app/e2e/README.md (layout, configs,
visual-regression internals, and the reasoning behind the structure) rather
than expecting it duplicated here.
All commands below run from web/app/ and always go through
the repo's @playwright/test devDependency via npx playwright / the npm
scripts — never install or invoke a separately pinned/global Playwright.
Which config?
| Need | Command | Notes |
|---|---|---|
| Everyday local run (default) | npm run e2e or npm run e2e:mock-llm |
backend on LLM_BACKEND=mock, Playwright starts the Angular dev server |
| Exercise a real (small) local model | npm run e2e:local-llm |
excludes @visual, @mock-only |
| Against your own deployment | supply your own config — see the README's "Running against your own deployment" | spread baseConfig, set use.baseURL, omit localWebServer; never record video, keep traces retain-on-failure |
| Interactive debugging | npm run e2e -- --ui |
|
| Just the visual specs (diagnostic only, not baseline-accurate) | npm run e2e:mock-llm:visual |
host run, will NOT match committed Linux baselines |
mock is the default and what you should reach for unless the task
specifically needs another environment. There is no root
playwright.config.ts — every invocation needs --config (the npm scripts
already pass it).
Backend prerequisites
The local configs' webServer only starts the Angular dev server, never the
backend. Before running e2e/e2e:mock-llm/e2e:local-llm:
make db-up
make dev-up # or: make run-mock / make run-local
dev/prod configs require E2E_BASE_URL and E2E_API_BASE_URL and throw
immediately if either is missing.
Writing tests: POM conventions
e2e/poms/holds Page Object Models: locators and interactions only — no assertions, no env-awareness. Assertions live in the spec.- Grow an existing POM rather than reaching into a spec with a raw locator.
If the page doesn't have a POM yet, add one following the existing files
in
e2e/poms/(index.tsre-exports them all). - Locate by
aria-label, role, or placeholder — the app has nodata-testidattributes, and adding them isn't the established pattern here. - Specs live under
e2e/tests/{functional,journeys,visual,a11y}/, grouped by feature (seefunctional/auth/,functional/personality/,functional/profile/).
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.
- yesterday First seen · 129 lines · 148 tokens per session scan A eb20f5ffe784
playwright-e2e is a skill published in the GitHub repository theimaginaryfoundation/what-iff (15 stars, last pushed yesterday), licensed Apache-2.0. It adds 148 tokens to every session and 1,405 once invoked, about $0.0007 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-09.
Other skills, from other repositories
dogfood
Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to dogfood, QA, exploratory test, find issues, bug hunt, or test this app on mobile.
test-warp-ui
Guides testing Warp UI features and changes using the computer use tool. Use this skill only when computer-use testing was requested (explicit request or accepted offer) and the computeruse tool is available to the agent. Covers launching Warp and verifying UI behavior.
test-electron-app
Drive the real running PostHog Electron app (live tRPC, workspace-server, real data) over CDP with agent-browser. Connect to the running app on port 9222, test desktop changes against a local Django stack, snapshot the accessibility tree, inspect network requests, and screenshot only when explicitly asked. Use when…
pyats-dynamic-test
Generate and execute deterministic pyATS aetest validation scripts - interface state, OSPF neighbors, BGP paths, ping matrices, and custom compliance tests. Use when writing a network test, validating post-change state, running pass/fail checks, or building automated regression tests.
test-loop
Plan, generate, and heal an executable E2E test suite from approved acceptance criteria (web and mobile).
playwright-cli
Automates browser interactions for testing and validating your own web applications using playwright-cli. Use when you need terminal-first browser control for navigation, form filling, screenshots, tracing, bound browser sessions, debugging, or generating Playwright test code. Only use against applications you own or…