Skip to main content
Glama

compare

Build a labeled before/after image plate from two screenshots to document UI changes or fixes; preview a draft first, then save the final PNG.

Instructions

Before/after plate: two images side by side or stacked, each with a label (default "Before", "After"; pass labels in the audience's language). Use it to show a UI change or a fix. Draft by default (temp folder): check the preview, then call again with draft=false to save to the output folder. Writes one PNG; the inputs are not changed. Returns the path, size and a preview.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoBase file name in the output folder, no extension. Empty = tool default.
afterYesPath of the after image.
draftNotrue (default): write to a temp folder so you can check the preview first. false: save to the output folder (~/Pictures/AInotate unless configured) and the backup folder.
beforeYesPath of the before image.
labelsNoTwo labels, before then after. Default ["Before", "After"].
layoutNo"auto" (picks by aspect ratio), "side" (side by side) or "stack" (one above the other).auto

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.1.1
    • addedInput schema / properties / after / description
      Added value: +"Path of the after image."
    • addedInput schema / properties / before / description
      Added value: +"Path of the before image."
    • addedInput schema / properties / draft / description
      Added value: +"true (default): write to a temp folder so you can check the preview first. false: save to the output folder (~/Pictures/AInotate unless configured) and the backup folder."
    • addedInput schema / properties / labels / description
      Added value: +"Two labels, before then after. Default [\"Before\", \"After\"]."
    • addedInput schema / properties / layout / description
      Added value: +"\"auto\" (picks by aspect ratio), \"side\" (side by side) or \"stack\" (one above the other)."
    • addedInput schema / properties / name / description
      Added value: +"Base file name in the output folder, no extension. Empty = tool default."
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare a non-read-only, non-destructive, non-idempotent operation, and the description adds real substance beyond that: it writes one PNG, leaves inputs unchanged, defaults to a temp folder, and moves to the output folder only with draft=false. It also discloses the return contents (path, size, preview). It omits any note about overwriting behavior in the output/backup folder, which is the one remaining gap.

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?

Four tight sentences with no filler, covering what it produces, when to use it, the draft workflow, and the return. The framing leans slightly toward leading with the visual format rather than the action, but nothing is wasted.

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?

With no output schema and modest annotations, the description carries the full burden and does so: it explains the output artifact, side effects on disk, the draft/save lifecycle, and the return values. An agent can invoke this correctly without further inference.

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 schema already documents all six parameters including defaults for labels, layout, draft, and name. The description restates the label defaults and adds a useful localization hint ('pass labels in the audience's language'), but adds little otherwise, matching the baseline 3 for high-coverage schemas.

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 states a concrete verb and artifact: a before/after plate with two labeled images, side by side or stacked. It explicitly names the use case (showing a UI change or a fix), which cleanly separates it from siblings like annotate, grid, or preview.

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?

It gives clear context for when to use it ('to show a UI change or a fix') and a concrete two-step workflow: draft first, check the preview, then call again with draft=false. It does not name an explicit alternative tool for comparison, so it falls short of a 5, but the usage path is unambiguous.

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