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 Aarvion-AI/stackwise-skills --skill playwright-expertgit clone --depth 1 https://github.com/Aarvion-AI/stackwise-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/aarvion-ai/stackwise-skills/playwright-expert)<a href="https://agentmods.dev/skills/aarvion-ai/stackwise-skills/playwright-expert"><img src="https://agentmods.dev/badge/skills/aarvion-ai/stackwise-skills/playwright-expert/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/aarvion-ai/stackwise-skills/playwright-expert"><img src="https://agentmods.dev/badge/skills/aarvion-ai/stackwise-skills/playwright-expert.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.00156 | $0.02203 |
| Opus 5.5 | $0.00062 | $0.00881 |
| Sonnet 5.5 | $0.00031 | $0.00441 |
| Haiku 4.5 | $0.00016 | $0.00220 |
Grade A, and why
playwright-expert 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 — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Playwright Expert
Turns Claude into a senior QA engineer who treats Playwright as the merge gate: every feature or bug fix ships with an E2E test that proves it, built on web-first assertions, user-facing locators, and fixtures - never sleeps, never brittle selectors.
When to Use This Skill
- Write or extend the E2E test that proves a just-implemented feature or bug fix works end to end
- Convert brittle tests (CSS/XPath selectors,
waitForTimeout, manual polling) to role locators and web-first assertions - Set up authentication with
storageStateso the suite logs in once per project, not once per test - Mock or record network traffic with
page.route,route.fetch, or HAR replay to isolate the frontend - Diagnose and fix flaky tests using traces - treat retries as a symptom, not a fix
- Configure parallelism, sharding, and blob-report merging for CI
- Add visual regression checks with
toHaveScreenshotand masking for dynamic content
Core Workflow
- Analyze - Read
playwright.config.ts(projects,baseURL,webServer,storageState, reporters) and 2-3 existing specs to learn conventions: fixture files (test.extendin afixtures.ts), POM classes,data-testidnaming, auth setup project. Identify which project/spec the new coverage belongs in. Confirm the dev server the tests target actually starts (webServerblock or a running instance). - Specify the behavior - For a feature: the user journey that exercises it (navigate → act → observe). For a bug fix: a test that fails on the old code and passes on the fix - reproduce first, then assert the corrected behavior. One behavior per test; put shared journey steps in fixtures or POMs, not copy-paste.
- Implement - Role/label locators first (
getByRole,getByLabel,getByTestIdas escape hatch), web-firstawait expect(locator)assertions, zerowaitForTimeout, zeronetworkidle. Isolate external/slow dependencies withpage.routeor HAR. Reuse the authstorageState; never script the login form inside the test. Load the matching reference (table below) before writing unfamiliar patterns. - Verify types/lint - run
npx tsc --noEmitand the project's lint command (npx eslint .); fix all reported issues and re-run until clean before proceeding. - Run the new tests -
npx playwright test <spec> --project=chromium; fix all failures and re-run until clean. Debug failures with the trace, not by adding waits:npx playwright test <spec> --trace on, thennpx playwright show-trace(or--uilocally). - Prove stability -
npx playwright test <spec> --repeat-each=5 --workers=4; any failure is a race you introduced - fix the root cause (seereferences/flake-and-ci.md) and re-run until all repeats pass. Never "fix" this step with retries or timeouts. - Gate the change - run the full affected suite (
npx playwright test, or--only-changedon large suites) across configured projects; fix all reported issues and re-run until clean. Confirm the HTML report shows the new tests passing without retry annotations.
What ships with it
5 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.
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 · 106 lines · 156 tokens per session scan A 0320b9214a26
playwright-expert is a skill published in the GitHub repository Aarvion-AI/stackwise-skills (5 stars, last pushed 1mo ago), licensed MIT. It adds 156 tokens to every session and 2,203 once invoked, about $0.0006 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-31.
Other skills, from other repositories
proof-e2e
Build E2E test specs for critical user journeys — Playwright or Cypress, page objects, setup/teardown, CI config. Use when asked to "write E2E tests", "end-to-end testing", "browser tests", "UI tests", or "Playwright tests".
e2e-panther-playwright
Write end-to-end tests with Symfony Panther 2.4 for browser automation or Playwright for complex scenarios.
playwright-qa
Driver P of orc:browser-qa — browser QA with Playwright Test and the stock planner/generator/healer agents against a resolved QA target; yields a stitched step-tagged video, traces, and qa-manifest.json.
browser-qa
The canonical browser-QA protocol for web changes — target resolution, env attach, the driver gate (Playwright primary, agent-browser, Claude-in-Chrome), validator dispatch, chrome evidence packet.
qa-targets
Resolve WHERE browser QA runs — named targets in .orc/targets.json (local, staging, preview), the Target gate, credential references (literal | op:// | env:), guard rule.
agent-browser
Browser automation CLI for AI agents; use for web tasks - navigate, click, fill forms, screenshot, scrape, test web/Electron apps.