Agent skill · software engineering · alirezarezvani
fix
Diagnose and fix a failing or flaky Playwright test. Use whenever a test fails, passes only sometimes, breaks intermittently or needs fixing.
Why this skill is useful
Provides specific commands and a systematic approach for diagnosing and fixing flaky Playwright tests that the AI wouldn't reliably generate on its own.
What it needs
Requires playwright installed locally. About 2k tokens when loaded. Last updated 2026-08-05. 23,939 stars on the source repository.
What this skill does
Fix Failing or Flaky Tests Diagnose and fix a Playwright test that fails or passes intermittently using a systematic taxonomy. Input $ARGUMENTS contains: A test file path: e2e/login.spec.ts A test name: ""should redirect after login" A description: "the checkout test fails in CI but passes locally" Steps 1. Reproduce the Failure Run the test to capture the error: If the test passes, it's likely flaky. Run burn-in: If it still passes, try with parallel workers: 2. Capture Trace Run with full tracing: Read the trace output. Use /debug to analyze trace files if available. 3. Categorize the Failure Load flaky-taxonomy.md from this skill directory. Every failing test falls into one of four categories: Category Symptom Diagnosis --- --- --- Timing/Async Fails intermittently everywhere --repeat-each=20 reproduces locally Test Isolation Fails in suite, passes alone --workers=1 --grep "test name" passes Environment Fails in CI, passes locally Compare CI vs local screenshots/traces Infrastructure Random, no pattern Error references browser internals 4. Apply Targeted Fix Timing/Async: Replace waitForTimeout() with web-first assertions Add await to missing Playwright calls Wait for specific network responses before asserting Use toBeVisible() before interacting with elements Test Isolation: Remove shared mutable state between tests Create test data per-test via API or fixtures Use unique identifiers (timestamps, random strings) for test data Check for database state leaks Environment: Match viewport sizes between local and CI Account for font rendering differences in screenshots Use docker locally to match CI environment Check for timezone-dependent assertions Infrastructure: Increase timeout for slow CI runners Add retries in CI config (retries: 2) Check for browser OOM (reduce parallel workers) Ensure browser dependencies are installed 5. Verify the Fix Run the test 10 times to confirm stability: All 10 must pass. If any fail, go back to step 3. 6. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills alirezarezvani/fix--da3efc