About playwright
A Playwright skill for coding agents working on web app E2E tests, smoke checks, debugging, and one-off browser automation. It routes tasks to focused guidance and emphasizes stable selectors, assertions, and artifact cleanup.
Key features
- 01Routes suite, automation, and debugging workflows
- 02Guidance for locators, assertions, fixtures, and POM
- 03Covers auth state, API mocking, and visual tests
- 04Includes CI configuration and link checking
- 05Provides flaky-test debugging and verification practices
- 06Keeps automation artifacts under ./tmp/playwright/
Use cases
- 01Add or maintain web app E2E coverage
- 02Investigate flaky UI tests and traces
- 03Capture screenshots or logs for a quick check
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ devinschumacher/ skills --skill playwrightAfter installing, type/playwrightin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/ad-hoc-automation.mdapi-mocking.mdauth-and-storage-state.mdci-and-config.mddebugging.mde2e-with-playwright-test.mdfixtures.mdlink-checking.mdpatterns.mdvisual-testing.mdDetails
From the project READMEPlaywright
When to Use This Skill
Use this skill when the user:
Mentions / keywords
- Mentions “Playwright”, “@playwright/test”, “playwright.config.ts”, “trace viewer”, or “PWDEBUG”
- References
*.spec.ts/*.test.tsfiles that import@playwright/test
Context
- Is trying to add or maintain E2E/smoke coverage for a web app
- Is trying to debug flaky UI tests (selectors, timing, waits)
- Needs one-off automation (screenshots, console logs, quick flow checks)
Purpose
- Route Playwright work into the right workflow (suite vs. one-off script vs. debugging)
- Standardize patterns that prevent flaky tests (locators, assertions, waits)
- Keep artifacts in
./tmp/for predictable cleanup
Quick routing
- Writing/maintaining
@playwright/testsuites → Seereferences/e2e-with-playwright-test.md - Auth once, reuse state (
storageState) → Seereferences/auth-and-storage-state.md - CI hardening + config knobs → See
references/ci-and-config.md - Locators, assertions, POM, fixtures → See
references/patterns.md - Fixtures (worker-scoped, auto fixtures) → See
references/fixtures.md - Mocking APIs / controlling network → See
references/api-mocking.md - Visual testing (
toHaveScreenshot) → Seereferences/visual-testing.md - Link checking / dead link detection → See
references/link-checking.md - Flaky tests / trace viewer / retries → See
references/debugging.md - One-off automation (screenshots/logs/check flows) → See
references/ad-hoc-automation.md
Non-negotiables
- Prefer
getByRole/getByLabelover CSS/XPath; adddata-testidonly when needed. - Use web-first assertions (
await expect(locator).toBeVisible()) instead of boolean checks. - Never add
waitForTimeout()to “fix” flake; if you use it temporarily while debugging, remove it before calling the work “done”. - Don’t default to
networkidleeverywhere; use it intentionally (SPAs / known background activity can make it misleading). - For CLI agent runs, use minimal reporters to avoid log spam; store artifacts under
./tmp/playwright/. - Keep tests independent; avoid cross-test shared state.
Verification
- E2E suite changes: run
npx playwright test --reporter=line(or--reporter=dot) and confirm failures reproduce. - Flake fixes: run the previously failing test at least 5 times (ex:
--repeat-each 5) before calling it fixed. - CI-sensitive changes: run the suite in “CI-like” settings (ex:
CI=1 npx playwright test --reporter=line) and confirm it still behaves.
Provenance
- Consolidated from upstream installed skills:
playwright-best-practices,playwright-testing,playwright-expert,playwright-skill,webapp-testing
Comments
Markdown supported