Skip to main content
Glama

Delimit Story Visual Test

delimit_story_visual_test

Run visual regression tests by comparing screenshots against a stored baseline, auto-creating the baseline on first use. Use as a CI gate to catch unintended UI changes.

Instructions

Run visual regression test — screenshot vs stored baseline.

When to use: as a CI gate after UI changes, to catch unintended visual regressions vs a stored baseline. Auto-creates the baseline on first run. When NOT to use: for a11y checks (use delimit_story_accessibility) or one-off screenshots (delimit_screenshot).

Sibling contrast: delimit_screenshot is one image without baseline; delimit_story_accessibility audits HTML; this compares against a stored baseline.

Side effects: writes baseline images on first run; subsequent runs are read-only against the baseline. Falls back to Puppeteer (screenshot only) when Playwright is not installed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesURL to screenshot.
thresholdNoDiff threshold (0.0-1.0). Default 0.05.
project_pathNoProject path for baseline storage.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv4.7.9
    • changedInput schema / properties / threshold / description
      Previous value: -"Diff threshold (0.0-1.0)."New value: +"Diff threshold (0.0-1.0). Default 0.05."
  2. Changed3 schema fields changedv4.5.5
    • addedInput schema / properties / project_path / description
      Added value: +"Project path for baseline storage."
    • addedInput schema / properties / threshold / description
      Added value: +"Diff threshold (0.0-1.0)."
    • addedInput schema / properties / url / description
      Added value: +"URL to screenshot."
  3. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false and destructiveHint=false; the description adds the critical nuance that the first run writes baseline images while subsequent runs are read-only against the baseline. It also discloses the Puppeteer fallback when Playwright is unavailable. These are genuine behavioral disclosures beyond what annotations convey, and they are consistent with the annotations (write-on-first-run aligns with readOnlyHint=false).

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?

The description is front-loaded with the core purpose, then organized into labeled sections (When to use, When NOT to use, Sibling contrast, Side effects). Every sentence carries distinct information; there is no redundancy or filler, and the structure makes it scannable for an agent deciding whether to call it.

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

Completeness4/5

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

For a 3-parameter tool with an output schema and annotations covering the safety profile, the description is highly complete: it covers purpose, selection criteria, alternatives, side effects, and engine fallback. The only minor gap is absence of any permissions/auth prerequisites, which is a small omission for a tool capable of writing baseline files.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline of 3 applies: the schema already documents url, threshold, and project_path clearly. The description adds only indirect context (baseline lifecycle, what the threshold measures) but no parameter-specific syntax or format details beyond the schema. This is adequate but not additive.

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 opening line 'Run visual regression test — screenshot vs stored baseline' uses a specific verb, names the exact resource, and defines the core mechanism in one sentence. The sibling-contrast section further pins down what this tool is not (delimit_screenshot is a single image without baseline; delimit_story_accessibility audits HTML), making it unmistakably distinct.

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

Usage Guidelines5/5

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

The description has explicit 'When to use' and 'When NOT to use' sections. It names the exact CI-gate scenario, and gives two concrete alternatives with the conditions that select them: delimit_story_accessibility for a11y checks and delimit_screenshot for one-off screenshots. Nothing is left to inference.

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

Deploy Server

Other Tools