UI and frontend · inspect by default
/ui-visual-diff
Compare screenshots against an accepted reference
Use to compare matched visual states; match closes gaps against an accepted reference, and ui-audit judges usability of the resulting interface.
Make it your own.
In Claude Code, use the slash command and add your context. In Codex, select ui-visual-diff from the just-vibe skill picker, then send the same brief.
Version 0.11.0 also supports /jv ui-visual-diff, /just-vibe ui-visual-diff and /jv:ui-visual-diff in Claude. See shortcut setup and context examples.
/just-vibe:ui-visual-diff Compare these matched-viewport screenshots and separate dynamic noise from regressions./just-vibe:ui-visual-diff Compare screenshots with dynamic timestamps and a real layout shift./just-vibe:ui-visual-diff Compare supplied captures with unknown font loading; do not assert exact pixel fidelity.What the agent does
- Match viewport, DPR, fonts, content, theme and animation state across the captures.
- Mask only justified nondeterminism, identify the meaningful changed regions and describe differences by user impact.
- Inspect changed regions before accepting any baseline.
Inputs
- reference/current renders with matching viewport, state, data, fonts, and theme.
Optional context: scope, references, constraints, successCriteria, environment, mode, budget.
Scope
- Reads
- Visual differences and regression classification; match applies visual fixes.
- Writes
- No source changes in inspect/plan. Save only requested planning artifacts. A separately requested repair uses the relevant implementation workflow.
- Mode
- Inspect existing captures; reference/current renders with matching viewport, state, data, fonts, and theme.
- Prerequisites
- Target screens/flows, existing design conventions, and runnable UI or supplied references. Visual claims require actual renders; accessibility claims distinguish automated, keyboard, and assistive-technology evidence.
Expected output
- Annotated difference report with capture conditions, changed regions, accepted differences with reasons, remaining mismatches and confidence.
How the work is checked
- A layout shift is detected; a timestamp-only change is not misclassified as a design regression.
When to stop or clarify
- Capturing a local build is bounded local execution; capturing a shared or remote target needs that target in scope. Unmatched conditions invalidate precise pixel-difference claims.
Handling missing context
- Infer
- Inspect the target flow, existing components/tokens, actual renders or supplied references and current responsive behavior.
- Assume
- Reuse established visual conventions and preserve keyboard behavior; label unrendered changes as visually unverified.
- Ask
- Ask about an unresolved interaction or visual direction only when plausible choices materially differ; do not make a missing screenshot block source inspection.
Technical guidance
- Evidence
- Record baseline approval, viewport, fonts, data, time and screenshot environment.
- Method
- Compare matched states, separating rendering noise from layout/content changes; inspect differences before replacing a baseline.
- Pitfall
- Approving a new screenshot merely because it differs converts a regression into the expected result.
- Check
- Reproduce significant differences with stable fonts/data and retain both images plus a reason for accepted changes.
Situational decisions
When captures differ in environment or content: Recreate comparable captures or give qualitative differences without a precise pixel claim.
The coding agent follows this workflow using its available tools. Installation does not grant service access or guarantee an outcome. Read the compatibility notes.