Back to Skills

meticulous-simulate-and-diff

Run a Meticulous session simulation against a live URL and analyze the visual output — either by inspecting screenshots directly (quick-check mode) or by comparing pixel and HTML diffs against a base replay. Use when checking whether a code change has introduced visual regressions for a specific session.

7stars2forksUpdated 7/6/2026

Security Assessment

Safe(100/100)
Security Score100/100

About meticulous-simulate-and-diff

A workflow for running a single Meticulous session simulation against a live URL and interpreting the visual result, used to check whether a code change has introduced a visual regression for a specific recorded session. It runs in two modes: diff mode, which compares pixel and HTML diffs against a prior base replay, and quick-check mode, which omits the base replay and simply stores screenshots for direct visual inspection.

Operationally it invokes the meticulous simulate CLI with a sessionId, an appUrl (a local dev server, or left blank to reuse the originally recorded URL), an optional baseReplayId, and --headless, then reads the stdout. Per-screenshot lines report the pixel-mismatch percentage against a threshold with a PASS or FAIL outcome, and a summary block prints the simulation URL plus a base-to-head comparison URL. If there are no FAIL lines, the session is visually identical to the base and no further analysis is needed.

When diffs exist, it locates the head replay directory under ~/.meticulous/replays/, identifies the changed screenshots in diffs/<baseReplayId>/, and reads each screenshot's metadata.json to compare the before.dom HTML snapshot and before.routeData.url. This distinguishes structural changes (DOM additions or removals) from purely visual ones (a pixel shift with identical DOM), and maps changed CSS classes and routes back to the responsible components. The final output is a high-level, human-readable description of what changed and why, with the comparison URL surfaced for quick human verification. It references companion skills meticulous-cli-simulate, meticulous-cli-update, and meticulous-iterative-dev.

FAQ

What two modes does the skill support?

Diff mode, which compares pixel and HTML diffs against a base replay, and quick-check mode (no baseReplayId), which just stores screenshots locally for direct visual inspection.

What inputs are required to run a simulation?

A sessionId to replay and an appUrl (a local dev server, or blank to use the originally recorded URL); a baseReplayId is optional and enables diffing against a prior replay.

How do you know there were no regressions?

If the simulate stdout contains no FAIL! lines, the session is visually identical to the base, so you can stop and report no regressions.

How do you tell a structural change from a purely visual one?

Compare the before.dom HTML in each screenshot's metadata.json — if there is a pixel diff but the DOM strings are identical, the change is purely visual (such as a color shift) rather than structural.

Where are the diff images and metadata stored?

Under ~/.meticulous/replays/<replayDir>/ — pixel diff images in diffs/<baseReplayId>/ and per-screenshot HTML snapshots in screenshots/<file>.metadata.json.

Install meticulous-simulate-and-diff

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill