snapdiff_verify_ui_change
Verify that a UI change matches your intended modification by comparing a page against its baseline, with intent hints to distinguish expected changes from regressions.
Instructions
Verify a UI change you just made matches what you intended. Use this whenever you modify a route, page, or component and need to confirm the visual result.
Returns a verdict (pass, expected_change_detected, unexpected_regression, no_change_detected, or needs_human_review), a next_action, and a review_url. Always surface review_url to the user — it is the human-reviewable dashboard page showing the before/after/diff. Do not share raw image URLs (diff_url, before_url, after_url) — those are internal references.
Requires a SnapDiff project + page baseline. Pass intent to describe in one sentence what you meant to change. For sharper verdicts, pass intent_regions with either a CSS selector (recommended for code-editing agents — SnapDiff resolves it to a bbox during capture) or a bbox directly (when your agent drives a browser and already knows pixel coordinates).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project slug or ID (prj_xxx). | |
| page_name | Yes | Page name within the project (e.g. "account", "pricing"). | |
| after | Yes | URL of the page after your change (preview URL, staging, or localhost). | |
| intent | Yes | One sentence describing what you intended to change. Example: "added a Cancel subscription button to the bottom of the account page". Required — without it, the verdict cannot distinguish intended changes from regressions. | |
| intent_regions | No | Optional but recommended. Hints about where on the page your change should appear. Pass `selector` (resolved server-side) or `bbox` (already in pixels) — both produce geometric verdict matching. Without intent_regions the verdict falls back to conservative `needs_human_review`. | |
| branch | No | Branch to look up the baseline on. Defaults to the project's default branch. | |
| threshold | No | Per-pixel color sensitivity 0.0-1.0 (pixelmatch threshold). Lower = more sensitive. Default 0.1. | |
| match_tolerance_percent | No | Maximum diff percentage that still counts as 'no change.' Defaults to 0.01% for verifications (10x stricter than the diff engine's general 0.1% noise floor) so subtle styling regressions don't slip through as no_change_detected. Raise it for noisier pages, lower it for ultra-strict gates. You almost never need to set this — the default is calibrated for the agent verification flow. | |
| ignore_selectors | No | CSS selectors to mask out before comparison (e.g. timestamps, ads, dynamic counters). | |
| full_page | No | Compare full scrollable pages. Default false. |