| name | playwright-pro |
| description | Production-grade Playwright testing toolkit. Generate tests, fix flaky failures, migrate from Cypress/Selenium, sync with TestRail, run on BrowserStack. 55 templates, 3 agents, smart reporting. |
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:init | Set up Playwright — detects framework, generates config, CI, first test |
/pw:generate <spec> | Generate tests from user story, URL, or component |
/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 |
Golden Rules
getByRole() over CSS/XPath — resilient to markup changes
- Never
page.waitForTimeout() — use web-first assertions
expect(locator) auto-retries; expect(await locator.textContent()) does not
- Isolate every test — no shared state between tests
baseURL in config — zero hardcoded URLs
- Retries:
2 in CI, 0 locally
- Traces:
'on-first-retry' — rich debugging without slowdown
- Fixtures over globals —
test.extend() for shared state
- One behavior per test — multiple related assertions are fine
- Mock external services only — never mock your own app
Locator Priority
1. getByRole() — buttons, links, headings, form elements
2. getByLabel() — form fields with labels
3. getByText() — non-interactive text
4. getByPlaceholder() — inputs with placeholder
5. getByTestId() — when no semantic option exists
6. page.locator() — CSS/XPath as last resort
What's Included
- 9 skills with detailed step-by-step instructions
- 3 specialized agents: test-architect, test-debugger, migration-planner
- 55 test templates: auth, CRUD, checkout, search, forms, dashboard, settings, onboarding, notifications, API, accessibility
- 2 MCP servers (TypeScript): TestRail and BrowserStack integrations
- Smart hooks: auto-validate test quality, auto-detect Playwright projects
- 6 reference docs: golden rules, locators, assertions, fixtures, pitfalls, flaky tests
- Migration guides: Cypress and Selenium mapping tables
Integration Setup
TestRail (Optional)
export TESTRAIL_URL="https://your-instance.testrail.io"
export TESTRAIL_USER="your@email.com"
export TESTRAIL_API_KEY="your-api-key"
BrowserStack (Optional)
export BROWSERSTACK_USERNAME="your-username"
export BROWSERSTACK_ACCESS_KEY="your-access-key"
Quick Reference
See reference/ directory for:
golden-rules.md — The 10 non-negotiable rules
locators.md — Complete locator priority with cheat sheet
assertions.md — Web-first assertions reference
fixtures.md — Custom fixtures and storageState patterns
common-pitfalls.md — Top 10 mistakes and fixes
flaky-tests.md — Diagnosis commands and quick fixes
See templates/README.md for the full template index.