Test Flakiness
Automate repetitive workflows and reduce manual effort
Example: Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example: Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example: Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Time estimate: 15-45 minutes depending on use case complexity
Prerequisites
Submit your Claude Code skill and start earning
epx add Donchitos/Claude-Code-Game-Studios --skill test-flakinessCompatible with
Supported agents
description: "Detect non-deterministic (flaky) tests by reading CI run logs or test result history. Aggregates pass rates per test, identifies intermittent failures, recommends quarantine or fix, and
argument-hint: "[ci-log-path | scan | registry]"
allowed-tools: Read, Glob, Grep, Write, Edit, Bash
| name | test-flakiness |
| description | "Detect non-deterministic (flaky) tests by reading CI run logs or test result history. Aggregates pass rates per test, identifies intermittent failures, recommends quarantine or fix, and maintains a flaky test registry. Best run during Polish phase or after multiple CI runs." |
| argument-hint | "[ci-log-path | scan | registry]" |
| user-invocable | true |
| allowed-tools | Read, Glob, Grep, Write, Edit, Bash |
A flaky test is one that sometimes passes and sometimes fails without any code change. Flaky tests are worse than no tests in some ways — they train the team to ignore red CI runs, masking genuine failures. This skill identifies them, explains likely causes, and recommends whether to quarantine or fix each one.
Output: Updated tests/regression-suite.md quarantine section + optional
production/qa/flakiness-report-[date].md
When to run:
/regression-suite identifies quarantined tests that need diagnosisModes:
/test-flakiness [ci-log-path] — analyse a specific CI run log file/test-flakiness scan — scan all available CI logs in .github/ or
standard log output directories/test-flakiness registry — read existing regression-suite.md quarantine
section and provide remediation guidance for already-known flaky testsscan if CI logs are accessible, else
registryCheck for test result artifacts:
ls -t .github/ 2>/dev/null
ls -t test-results/ 2>/dev/null
For Godot projects: GdUnit4 outputs XML results compatible with JUnit format.
Check test-results/ for .xml files.
For Unity projects: game-ci test runner outputs NUnit XML to test-results/
by default.
For Unreal projects: automation logs go to Saved/Logs/. Grep for
Result: Success and Result: Fail patterns.
If a path argument is provided, read that file directly.
If no logs found:
"No CI log data found. To detect flaky tests, this skill needs test result history from multiple runs. Options:
- Run the test suite at least 3 times and collect the output logs
- Check CI pipeline output and save a log to
test-results/- Run
/test-flakiness registryto review tests already flagged as flaky intests/regression-suite.md"
Stop and ask the user which option to pursue.
For each CI log or result file found, parse:
JUnit XML format (GdUnit4 / Unity):
<testcase name= to get test names<failure or <error to identify failuresclassname and name attributes for full test identifiersPlain text logs:
PASSED / FAILED adjacent to test namesResult: Success / Result: FailTest passed / Test failedBuild a table: test_id → [run1_result, run2_result, run3_result, ...]
A test is flaky if it appears in the result history with both PASS and FAIL outcomes across runs with no code changes between them.
Flakiness thresholds:
For each flaky test, classify the likely cause:
| Cause | Symptoms | Fix direction |
|---|---|---|
| Timing / async | Fails after awaiting signals or timers; pass rate correlates with system load | Add explicit await/synchronisation; avoid time-based delays |
| Order dependency | Fails when run after specific other tests; passes in isolation | Add proper setup/teardown; ensure test isolation |
| Random seed | Fails intermittently with no pattern; involves RNG | Pass explicit seed; don't use randf() in tests |
| Resource leak | Fails more often later in a test run | Fix cleanup in teardown; check orphan nodes (Godot) or object disposal (Unity) |
| External state | Fails when a file, scene, or global exists from a prior test | Isolate test from file system; use in-memory mocks |
| Floating point | Fails on comparisons like == 0.5 | Use epsilon comparison (is_equal_approx, Assert.AreApproximately) |
| Scene/prefab load race | Fails when scenes are not yet ready | Await one frame after instantiation; use await get_tree().process_frame |
Use Grep to check the test file for timing calls, randf, global state access, or equality comparisons on floats to narrow down the cause.
For each flaky test:
Quarantine (High flakiness):
"Quarantine this test immediately. Disable it in CI by adding
@pytest.mark.skip/[Ignore]/GdUnitSkipannotation. Log it intests/regression-suite.mdquarantine section. The test is now opt-in only. Fix the root cause before removing quarantine."
Investigate and fix soon (Moderate):
"This test is intermittently unreliable. Root cause appears to be [cause]. Suggested fix: [specific fix based on cause classification]. Do not quarantine yet — fix the test directly."
Monitor (Low/suspected):
"This test shows suspected flakiness. Collect more run data before quarantining. Note it as 'suspected' in the regression suite."
## Flakiness Detection Results
**Runs analysed**: [N]
**Tests tracked**: [N]
### Flaky Tests Found
| Test | System | Fail Rate | Likely Cause | Recommendation |
|------|--------|-----------|--------------|----------------|
| [test_name] | [system] | [N]% | Timing | Quarantine + fix async |
| [test_name] | [system] | [N]% | Float comparison | Fix: use epsilon compare |
| [test_name] | [system] | [N]% | Order dependency | Investigate teardown |
### Clean Tests (no flakiness detected)
[N] tests ran across [N] runs with consistent results — no flakiness detected.
### Data Limitations
[Note if fewer than 5 runs were available — fewer runs = less statistical confidence]
Ask: "May I update the quarantine section of tests/regression-suite.md
with the flaky tests found?"
If yes: use Edit to append entries to the Quarantined Tests table.
Never remove existing quarantine entries — only add new ones.
Ask (separately): "May I write a full flakiness report to
production/qa/flakiness-report-[date].md?"
The full report includes per-test analysis with cause details and engine-specific fix snippets.
After writing:
is_equal_approx."AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versiontest-flakinessExecute the skills CLI command in your project's root directory to begin installation:
epx add Donchitos/Claude-Code-Game-Studios --skill test-flakinessFetches test-flakiness from Donchitos/Claude-Code-Game-Studios and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
.cursor/skills/test-flakiness
Restart Cursor to activate test-flakiness. Access via /test-flakinessin your agent's command palette.
Learn more:View source on GitHubSkills CLI docsAbout CursorWhat are agent skills?
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
gate-check
Donchitos/Claude-Code-Game-Studios · Game QA & Testing · same repo
art-bible
Donchitos/Claude-Code-Game-Studios · Game Design · same repo
reverse-document
Donchitos/Claude-Code-Game-Studios · Game Design · same repo
help
Donchitos/Claude-Code-Game-Studios · Game Dev Planning · same repo
security-audit
Donchitos/Claude-Code-Game-Studios · Game Dev Code · same repo
prototype
Donchitos/Claude-Code-Game-Studios · Game Dev Skills · same repo
I recommend test-flakiness for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
Keeps context tight: test-flakiness is the kind of skill you can hand to a new teammate without a long onboarding doc.
test-flakiness reduced setup friction for our internal harness; good balance of opinion and flexibility.
Useful defaults in test-flakiness — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
Registry listing for test-flakiness matched our evaluation — installs cleanly and behaves as described in the markdown.
test-flakiness fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Registry listing for test-flakiness matched our evaluation — installs cleanly and behaves as described in the markdown.
test-flakiness has been reliable in day-to-day use. Documentation quality is above average for community skills.
We added test-flakiness from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
test-flakiness fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
showing 1-10 of 58