Skip to main content
Glama

Lint the persistent QA test suite

qa_suite_lint
Read-only

Lint test suites and generated page objects to catch missing results, stale links, duplicate IDs, brittle automation, unsafe adversarial cases, and fragile locators; return errors and warnings.

Instructions

Lint the repo test suite (missing results, stale links, duplicate ids, brittle automation, unsafe adversarial cases) and generated page objects (fragile locators). Returns errors and warnings.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "qa_suite_lint"
  }
}

Input Schema

NameRequiredDescriptionDefault
sessionIdNo
projectRootNo
liveFeatureIdsNoLive map feature ids (enables the stale-link rule).
brittleThresholdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered by structured data rather than text. The description does add value by disclosing the return shape ('errors and warnings') and the nature of the analysis (static rule-based checks over suite files and page objects), but says nothing about cost, whether page objects must exist first, or how findings are structured.

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

Conciseness4/5

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

A single front-loaded sentence that states the action, the targets, and the checks, with no filler or restatement of the name. The parenthetical rule list is dense but every item is informative, so the only cost is readability.

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

Completeness3/5

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

With no output schema, the description must carry the return-value burden, and 'Returns errors and warnings' is thin, giving no sense of severity levels, locations, or counts. For a read-only tool with four mostly undocumented parameters and non-trivial rule semantics like brittleThreshold, the definition is adequate but leaves real gaps.

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

Parameters2/5

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

Schema description coverage is only 25%: liveFeatureIds is documented in the schema and is echoed by the description's 'stale links' mention, but sessionId, projectRoot, and the brittleThreshold C/D enum are unexplained in both places. The description never clarifies what the enum values mean or how projectRoot scopes the lint, so it fails to compensate for the coverage gap.

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

Purpose5/5

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

The description opens with a specific verb ('Lint') applied to two named resources (the repo test suite and generated page objects), then parenthetically enumerates the concrete rule categories it enforces. That makes it unmistakable next to the qa_suite_generate/read/update/export siblings, which all do different things with the same suite.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the validation step after suite generation or update, and the stale-link rule hints that liveFeatureIds must be supplied for that check. But the description never states when to run lint versus qa_check_health or qa_flow_check, and gives no prerequisites or exclusions.

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