🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Tmp.SpQgKzelJa

by @alirezarezvani

Production-grade Playwright testing toolkit. Use when the user mentions Playwright tests, end-to-end testing, browser automation, fixing flaky tests, test mi...

Versionv2.1.3
Downloads561
Installs1
TERMINAL
clawhub install cs-pw

πŸ“– About This Skill


name: "playwright-pro" description: "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."

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 | Generate tests from user story, URL, or component | | /pw:review | Review tests for anti-patterns and coverage gaps | | /pw:fix | 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:

1. /pw:init          β†’ scaffolds config, CI pipeline, and a first smoke test
2. /pw:generate      β†’ generates tests from your spec or URL
3. /pw:review        β†’ validates quality and flags anti-patterns      ← always run after generate
4. /pw:fix     β†’ diagnoses and repairs any failing/flaky tests  ← run when CI turns red

Validation checkpoints:

  • After /pw:generate β€” always run /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

    # 1. Generate tests from a user story
    /pw:generate "As a user I can log in with email and password"

    Generated: tests/auth/login.spec.ts

    β†’ Playwright Pro creates the file using the auth template.

    2. Review the generated tests

    /pw:review tests/auth/login.spec.ts

    β†’ Flags: one test used page.locator('input[type=password]') β€” suggests getByLabel('Password')

    β†’ Fix applied automatically.

    3. Run locally to confirm

    npx playwright test tests/auth/login.spec.ts --headed

    4. If a test is flaky in CI, diagnose it

    /pw:fix tests/auth/login.spec.ts

    β†’ Identifies missing web-first assertion; replaces waitForTimeout(2000) with expect(locator).toBeVisible()

    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. 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.