Detect flaky tests by scanning recent AzDo CI builds for test failures recurring across multiple unrelated PRs. Use when investigating intermittent failures, CI instability, deciding which tests to quarantine, or checking if RunTestCasesInSequence no-ops are causing parallel-safety issues.
72
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Identifies tests that fail intermittently across unrelated PRs — a strong signal of flakiness rather than a genuine regression. Also cross-references with existing fix PRs.
Skip = "Flaky" — confirm it actually is flakyRunTestCasesInSequence (a no-op in xUnit 2) is masking parallelism bugsGet-BuildErrors.ps1pwsh .github/skills/flaky-test-detector/scripts/Get-FlakyTests.ps1# More aggressive: 2+ PRs over 7 days
pwsh .github/skills/flaky-test-detector/scripts/Get-FlakyTests.ps1 -MinPRFailures 2 -DaysBack 7
# Wider net: 100 builds over 30 days
pwsh .github/skills/flaky-test-detector/scripts/Get-FlakyTests.ps1 -MaxBuilds 100 -DaysBack 30| Parameter | Default | Description |
|---|---|---|
-MaxBuilds | 50 | Maximum number of failed builds to scan from AzDo |
-MinPRFailures | 3 | Min distinct PRs a test must fail in to be flagged |
-DaysBack | 14 | Only consider builds within this time window |
-DefinitionId | 90 | AzDo pipeline definition ID (90 = fsharp-ci) |
-Org | dnceng-public | Azure DevOps organization |
-Project | public | Azure DevOps project |
The script produces:
After identifying a flaky test:
Area-flaky-test label[<Fact(Skip = "Flaky: #ISSUE")>] if it blocks CI826e6e8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.