Skip to content
Back to skills

Verdict Flaky Triage

ASecurity

Classify an intermittent test failure with evidence — REAL_DEFECT, STALE_EXPECTATION, BRITTLE_TEST, ENVIRONMENT or FLAKY — and decide quarantine with a mandatory expiry. Use when a test fails one run in five, when CI is "just flaky", or before anyone skips a test.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agents

Works with

  • claude code

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add ArtJack/verdict --skill verdict-flaky-triage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Verdict Flaky Triage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Verdict Flaky Triage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/artjack-verdict-flaky-triage/badge)](https://www.skillsdirectory.com/skills/artjack-verdict-flaky-triage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: verdict-flaky-triage
user-invocable: false
description: Classify an intermittent test failure with evidence — REAL_DEFECT, STALE_EXPECTATION, BRITTLE_TEST, ENVIRONMENT or FLAKY — and decide quarantine with a mandatory expiry. Use when a test fails one run in five, when CI is "just flaky", or before anyone skips a test.
---

# Verdict: flaky-test triage

"The test is flaky" is a conclusion, not an observation. The default drift is to assume the
test is stale and rubber-stamp a regression; the job is to say what the failure *means*
before anyone acts on it.

**In Claude Code with the Verdict plugin, use `/verdict:flake <test id>`.** This skill is
the same procedure for agents that cannot run it.

## Procedure

1. **Reproduce first.** Run the exact test at least three times from a clean state and
   record a per-run outcome table. The same result every run is not flaky — classify it
   as what it is.
2. **Hunt the mechanism before reaching for quarantine:** clock- or time-seeded inputs,
   test ordering, shared state, network, fixture races, concurrency, a cached property
   read before the value it caches. A diagnosed mechanism is `BRITTLE_TEST`: file the
   test-fix task and keep the finding inside the verdict — no quarantine.
3. **Classify into exactly one**, stating the evidence:
   - `REAL_DEFECT` — the code is wrong. File it; do not fix it.
   - `STALE_EXPECTATION` — behaviour changed on purpose and the test was not updated.
     Needs a citation that the change was intended (commit, changelog, requirement);
     without one it is a `REAL_DEFECT`. This is the classification most likely to be
     wrong in your favour — hold it to the highest bar.
   - `BRITTLE_TEST` — depends on an incidental detail (ordering, timing, formatting,
     internals). A finding in its own right.
   - `ENVIRONMENT` — infra, clock, missing fixture or tool. Report `blocked`, not red or
     green.
   - `FLAKY` — passes and fails without a code change, cause not yet diagnosed.
4. **Quarantine is diagnosis deferred, with an expiry.** A `FLAKY` entry is
   `{test_id, first_seen, fail_count, run_count, quarantined_until}` in the judgment's
   `flaky_quarantine`; one to two weeks; excluded from the verdict, never from the report.
   On expiry the entry is re-evaluated as an action: release it and say why, or
   re-quarantine with fresh run evidence and a new date. "Recommend lifting" while the
   entry stays is a dodge. A test skipped "temporarily" with no expiry is a graveyard entry
   — flag it.
5. **Record it** through the harness (`verdict-facts` → the finding file and
   `judgment.json` → `verdict-finalize`; see `verdict-release-risk`) and report: the
   classification, the run-outcome table, and exactly what the re-evaluation must check.

Verdict reports and specifies; it never fixes. Route the fix to the implementer, then
verify it (`verdict-verify-fix`).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.