
Fix Failing Tests
FreeDiagnose and resolve flaky Playwright tests effectively.
Free · Opens the source repo
What Fix Failing Tests does
The Fix Failing Tests skill is designed to help developers troubleshoot and resolve issues with flaky or failing Playwright tests. It provides a systematic approach to diagnose problems, allowing users to reproduce failures, capture traces, categorize issues, and apply targeted fixes. This skill is particularly beneficial for teams relying on automated testing in continuous integration (CI) environments, where intermittent failures can lead to significant delays and frustration.
To begin, the skill guides users through the process of reproducing test failures, which is crucial for understanding the underlying issues. By running tests in various configurations, such as with multiple workers or through burn-in testing, users can identify whether a test is genuinely failing or merely flaky. The skill also emphasizes the importance of capturing detailed traces to analyze what went wrong during test execution.
Once the failure is reproduced, the skill directs users to categorize the issue based on a predefined taxonomy. This categorization helps in pinpointing the root cause, whether it be timing issues, test isolation problems, environmental discrepancies, or infrastructure-related challenges. Each category comes with specific recommendations on how to address the identified problems, ensuring that users can apply the most effective solutions.
Finally, the skill encourages users to verify the fix by rerunning tests multiple times to confirm stability and suggests preventive measures to avoid future occurrences of the same issues. This comprehensive approach not only resolves current test failures but also helps maintain a more robust testing suite moving forward.
When to use it
Use this skill when encountering tests that intermittently fail or pass, particularly in CI environments.
When not to use it
This skill may not be suitable for tests that fail consistently due to known issues or for non-Playwright testing frameworks.
What you can build with it
Debugging CI Failures
When tests fail in a CI environment but pass locally, use this skill to identify environmental discrepancies.
Resolving Flaky Tests
For tests that pass sometimes and fail at other times, this skill helps categorize and address the underlying issues.
Improving Test Stability
After fixing a test, use the skill's verification process to ensure that the test now consistently passes.
How to install Fix Failing Tests
View source1. Install with the skills CLI
npx skills add alirezarezvani/claude-skills/fix --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by alirezarezvaniFix 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:
npx playwright test <file> --reporter=list
If the test passes, it's likely flaky. Run burn-in:
npx playwright test <file> --repeat-each=10 --reporter=list
If it still passes, try with parallel workers:
npx playwright test --fully-parallel --workers=4 --repeat-each=5
2. Capture Trace
Run with full tracing:
npx playwright test <file> --trace=on --retries=0
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
awaitto 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
dockerlocally 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:
npx playwright test <file> --repeat-each=10 --reporter=list
All 10 must pass. If any fail, go back to step 3.
6. Prevent Recurrence
Suggest:
- Add to CI with
retries: 2if not already - Enable
trace: 'on-first-retry'in config - Add the fix pattern to project's test conventions doc
Output
- Root cause category and specific issue
- The fix applied (with diff)
- Verification result (10/10 passes)
- Prevention recommendation
Frequently asked questions about Fix Failing Tests
Similar skills
Agent Host Debug Logs
Analyze Agent Host debug logs for deeper insights.
Code OSS Dev - Launch + Debug
Launch and debug Code OSS with isolated profiles.
Phoenix CLI
Debug LLM applications with structured analysis tools.
Power Automate Debugging
Diagnose and fix Power Automate flow errors effectively.
Arize Trace
Inspect and export traces for LLM applications.
Runtime Behavior Probe
Investigate real runtime behavior with precision.
