What problem does it solve? End-to-end test suites often become flaky, slow, and brittle due to fragile selectors, hard-coded sleeps, and shared test state. This Skill provides a distilled set of Playwright best practices so teams can write stable E2E tests, review them against a QA checklist, and debug failures systematically. ## Core Features & Use Cases - Resilient Locators & Assertions: Enforces the getByRole/getByLabel/getByTestId priority order and web-first auto-retrying assertions, banning waitForTimeout and positional CSS selectors. - Test Isolation, Auth & Mocking: Covers per-test data seeding via API, storageState-based authentication setup projects, fixtures over classic page objects, and network mocking with page.route including error paths. - CI Configuration & Anti-Flakiness Loop: Provides a production playwright.config baseline (fullyParallel, retries, trace on-first-retry, sharding) plus a mandatory validation loop using --repeat-each=5 to prove stability. - Use Case: A QA engineer reviewing a pull request with new Playwright specs uses the built-in review checklist to flag waitForTimeout calls, order-dependent tests, and missing error-path coverage before approving the quality gate. ## Quick Start Review my Playwright test suite for flakiness risks and rewrite any fragile locators or assertions following best practices.