Agent skill · software engineering · alirezarezvani

playwright-pro

Production-grade Playwright testing toolkit. Use when the user mentions Playwright tests, end-to-end testing, browser automation, fixing flaky tests, test migration, CI/CD testing, or test suites. Generate tests, fix flaky failures, migrate from Cypress/Selenium, sync with TestRail, run on BrowserStack. 55 templates, 3 agents, smart reporting.

Why this skill is useful

Adds 9 executable commands for Playwright testing, including test generation, migration, and reporting that enhance automation capabilities.

What it needs

Requires playwright installed locally. About 3k tokens when loaded. Last updated 2026-08-05. 23,939 stars on the source repository.

What this skill does

Playwright Pro Production-grade Playwright testing toolkit for AI coding agents. Available Commands When installed as a Claude Code plugin, these are available as /pw: commands: Command What it does --- --- /pw:pw-init Set up Playwright — detects framework, generates config, CI, first test /pw:generate <spec> Generate tests from user story, URL, or component /pw:pw-review Review tests for anti-patterns and coverage gaps /pw:fix <test> Diagnose and fix failing or flaky tests /pw:migrate Migrate from Cypress or Selenium to Playwright /pw:coverage Analyze what's tested vs. what's missing /pw:testrail Sync with TestRail — read cases, push results /pw:browserstack Run on BrowserStack, pull cross-browser reports /pw:report Generate test report in your preferred format Quick Start Workflow The recommended sequence for most projects: Validation checkpoints: After /pw:generate — always run /pw:pw-review before committing; it catches locator anti-patterns and missing assertions automatically. After /pw:fix — re-run the full suite locally (npx playwright test) to confirm the fix doesn't introduce regressions. After /pw:migrate — run /pw:coverage to confirm parity with the old suite before decommissioning Cypress/Selenium tests. Example: Generate → Review → Fix Golden Rules 1. getByRole() over CSS/XPath — resilient to markup changes 2. Never page.waitForTimeout() — use web-first assertions 3. expect(locator) auto-retries; expect(await locator.textContent()) does not 4. Isolate every test — no shared state between tests 5. baseURL in config — zero hardcoded URLs 6. Retries: 2 in CI, 0 locally 7. Traces: 'on-first-retry' — rich debugging without slowdown 8. Fixtures over globals — test.extend() for shared state 9. One behavior per test — multiple related assertions are fine 10. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills alirezarezvani/pw--94ec28

View the source on GitHub

Browse the @skills marketplace