Skip to main content
Glama

Quarantine flaky tests

quarantine
Idempotent

Marks flaky tests so their failures stop failing run-test and CI while they keep running and being reported until an expiry date; supports add, list, and remove with owner and reason.

Instructions

Quarantine flaky tests: they keep running and being reported, but their failures stop failing run-test and the ci command until the entry expires (default 14 days, max 90). add needs owner and reason; list shows what is quarantined and what expired; remove ends it. Stored in playwright-quarantine.json (commit it).

Input Schema

NameRequiredDescriptionDefault
daysNoadd: how long it counts (default 14, max 90)
fileNoSpec file, relative to the project
testNoThe test as 'file › title' (as get-failure and analyze-history print it), or use file + title
indexNoadd: the Nth failure of the last run instead of test/file/title
ownerNoadd: who will fix it (name or @handle)
titleNoTest title, or its last parts ('Checkout › pays by card')
actionNo'list' (default), 'add' or 'remove'
reasonNoadd: why it is flaky, or the issue link
projectRootNoProject directory (default: server root)

Output Schema

NameRequiredDescriptionDefault
okYesfalse when the call failed (see error) or the tests it ran failed
errorNo
totalNo
statusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the actual side effect (failures stop failing run-test and ci), the expiry window (default 14, max 90 days), and persistence in playwright-quarantine.json with a commit instruction. The write-to-file behavior is consistent with readOnlyHint=false and idempotentHint=true, and nothing contradicts destructiveHint=false since removal is scoped and reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

About 60 words, front-loaded with the core effect, then per-action semantics, then storage location. Every clause carries information: expiry limits, required fields, persistence file, and the commit reminder.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, multi-action mutation tool with full schema coverage, an output schema, and annotations, the description supplies the missing pieces: action semantics, expiry behavior, the file that must be committed, and which fields add requires. An agent can call this correctly without further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description adds real value by stating that add needs owner and reason, which the schema does not enforce (zero required parameters). It also reiterates the days default/max and the add/list/remove action semantics, mapping parameters to actions rather than just restating them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description defines a specific verb+resource ('Quarantine flaky tests') and explains precisely what quarantine means: tests keep running and reporting, but failures no longer fail run-test or the ci command. That definition implicitly separates it from siblings like diagnose-flaky or get-failure, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action has a clear role: add requires owner and reason, list shows quarantined and expired entries, remove ends an entry. The context (a known flaky test) is clear, but there is no explicit exclusion such as 'use diagnose-flaky first to confirm flakiness' or advice on when quarantine is inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.