Install any skill in seconds. Free to start, no credit card required.
Get Started Free →zebbern/playwright-skill
Battle-tested Playwright patterns for E2E, API, component, visual, accessibility, and security testing. Covers locators, fixtures, POM, network mocking, auth flows, debugging, CI/CD (GitHub Actions, GitLab, CircleCI, Azure, Jenkins), framework recipes (React, Next.js, Vue, Angular), and migration guides from Cypress/Selenium. TypeScript and JavaScript.
Passed 23 of 25 test cases with the skill, and 23 of 25 without it.
1 fixed22 passed either way1 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
A test case the skill fixed. Same model, same prompt, with and without the skill.
Could you demonstrate how to handle API mocking and state sharing in Playwright? I want a TypeScript test snippet showing how to intercept third-party API calls like payment processors, along with how to share setup logic across test files without using global variables.
| Checked | Without skill | With skill |
|---|---|---|
| The setup logic uses custom fixtures defined with test.extend. | Passed | Passed |
| UI element queries avoid raw CSS ID selectors like #card-number. | Missed | Passed |
| UI element queries use role-based locators like getByRole. | Missed | Passed |
The instructions your model reads when the skill loads.
Opinionated, production-tested Playwright guidance — every pattern includes when (and when not) to use it.
50+ reference guides covering the full Playwright surface: selectors, assertions, fixtures, page objects, network mocking, auth, visual regression, accessibility, API testing, CI/CD, debugging, and more — with TypeScript and JavaScript examples throughout.
getByRole() over CSS/XPath — resilient to markup changes, mirrors how users see the pagepage.waitForTimeout() — use expect(locator).toBeVisible() or page.waitForURL()expect(locator) auto-retries; expect(await locator.textContent()) does notbaseURL in config — zero hardcoded URLs in tests2 in CI, 0 locally — surface flakiness where it matters'on-first-retry' — rich debugging artifacts without CI slowdowntest.extend(), not module-level variablesexpect() calls are fine| What you're doing | Guide | Deep dive |
|---|---|---|
| Choosing selectors | locators.md | locator-strategy.md |
| Assertions & waiting | assertions-and-waiting.md | |
| Organizing test suites | test-organization.md | test-architecture.md |
| Playwright config | configuration.md | |
| Page objects | page-object-model.md | pom-vs-fixtures-vs-helpers.md |
| Fixtures & hooks | fixtures-and-hooks.md | |
| Test data | test-data-management.md | |
| Auth & login | authentication.md | auth-flows.md |
| API testing (REST/GraphQL) | api-testing.md | |
| Visual regression | visual-regression.md | |
| Accessibility | accessibility.md | |
| Mobile & responsive | mobile-and-responsive.md | |
| Component testing | component-testing.md | |
| Network mocking | network-mocking.md | when-to-mock.md |
| Forms & validation | forms-and-validation.md |
test cases passed, vs 23 / 25 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.