← ClaudeAtlas

flaky-test-analyzerlisted

Audits a Playwright suite for the causes of flaky, intermittent, and unreliable e2e tests — hard waits, non-web-first assertions, brittle locators, shared state between tests, non-deterministic environment, and risky config. Reports ranked findings with the exact rewrite for each, then applies fixes on approval and verifies with repeat runs. Use when tests fail intermittently, pass locally but fail in CI, are marked flaky by the reporter, or when reviewing e2e tests for stability.
jrcopeti/flaky-test-analyzer · ★ 0 · Testing & QA · score 63
Install: claude install-skill jrcopeti/flaky-test-analyzer
# Playwright flaky test analyzer Find why a Playwright suite is unreliable, report it in priority order, fix what the user approves, and prove the fix with repeat runs. Target: $ARGUMENTS ## Working context - Playwright config in cwd: !`ls playwright.config.* 2>/dev/null || echo "none — search for it"` - Reporter output present: !`ls -d test-results playwright-report 2>/dev/null || echo "none"` ## Reference material Two files sit next to this skill. Read them before auditing — do not work from memory. - `references/rule-catalog.md` — the rules to check, with severity, detection method, signal, and rewrite for each. **This is the checklist you execute.** - `references/playwright-flakiness.md` — the explanation behind each rule ID, with worked before/after code. Read the relevant section before you rewrite anything, and cite the ID when you report a finding so the user can look it up. Rule IDs are stable (`A01`, `C04`, `D03`, …) and shared between both files. --- ## Step 1 — Scope Resolve the target from `$ARGUMENTS`: - A spec file → audit that file. - A directory → audit every `*.spec.*` / `*.test.*` under it. - `--report <path>` → see Step 2; the report determines the scope. - Nothing → read `playwright.config.*` and audit its `testDir`. Read `playwright.config.*` regardless of scope. It is itself an audit target (all of category F), and it tells you what the rest of the audit means: `fullyParallel`, `retries`, `trace`, `workers`, and the `use` block for E0