Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ruvnet avatar

Browser Screenshot Diff

  • 606 installs
  • 67k repo stars
  • Updated August 4, 2026
  • ruvnet/ruflo

browser-screenshot-diff is an agent skill that compares visual and DOM snapshots between two recorded browser sessions at matching step IDs for developers running visual regression and replay verification tests.

About

browser-screenshot-diff is a ruflo agent skill that pairs each step in session A to the same step-id in session B, then diffs captured screenshots and accessibility snapshots to find the first divergence and compute an aggregate similarity score. Invocation accepts session-id-a, session-id-b, an optional --threshold between 0 and 1, and --mode pixel, dom, or both for combined comparison. Allowed tools include mcp__claude-flow__browser_eval plus Bash, Read, and Write for report output. Developers reach for browser-screenshot-diff after recording a before-and-after browser session when validating UI refactors, replay correctness, or accessibility tree changes. The skill reports the first mismatched trajectory step and an overall similarity metric rather than replacing full end-to-end test suites.

  • browser-screenshot-diff

Browser Screenshot Diff by the numbers

  • 606 all-time installs (skills.sh)
  • +6 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #647 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ruvnet/ruflo --skill browser-screenshot-diff

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs606
repo stars67k
Last updatedAugust 4, 2026
Repositoryruvnet/ruflo

How do you diff browser screenshots between two sessions?

Use browser-screenshot-diff for development tasks

Who is it for?

Developers with paired before-and-after browser session recordings who need step-aligned visual regression or replay verification beyond single-page screenshot checks.

Skip if: Teams without recorded browser sessions or projects needing full Playwright/Cypress E2E test authoring—browser-screenshot-diff only compares existing session recordings.

When should I use this skill?

The user provides two browser session IDs and wants visual regression comparison, replay verification, or DOM snapshot diffing after a UI change.

What you get

Diff report with first diverging step-id, per-step screenshot and accessibility snapshot comparison, and aggregate similarity score at the chosen threshold.

  • First divergence step report
  • Per-step screenshot and DOM diff results
  • Aggregate session similarity score

By the numbers

  • Supports 3 comparison modes: pixel, dom, and both
  • Accepts similarity threshold values from 0 to 1
  • Pairs and diffs every matching step-id across two recorded sessions

Files

SKILL.mdMarkdownGitHub ↗

Browser Screenshot Diff

Compare two recorded sessions step-by-step. Pairs each step in session A to the same step-id in session B, diffs the captured screenshot and accessibility snapshot, reports the first divergence and an aggregate similarity score.

When to use

  • Visual regression after a UI change (record before, record after, diff).
  • Verifying a browser-replay run matches the parent session within tolerance.
  • Comparing two A/B variants of the same form flow.

Steps

1. Locate both RVF containers:

   npx -y ruvector@0.2.25 rvf status <session-id-a>.rvf
   npx -y ruvector@0.2.25 rvf status <session-id-b>.rvf

2. Load both trajectories from trajectory.ndjson. Build a step-id → (screenshot_path, snapshot_path) map for each. 3. Pair steps by step-id. Steps that exist on only one side are flagged as unmatched and contribute to the divergence score. 4. Pixel diff (--mode pixel|both): compare the two PNGs at each step. Report mse, psnr, and the bounding box of the largest diff cluster. Threshold default 0.02 (2% of pixels). 5. DOM diff (--mode dom|both): compare the accessibility snapshots node-by-node. Report added / removed / changed nodes with their accessible names. 6. Aggregate similarity: weighted average across matched steps, weighted by step duration. Verdict goes into a new findings.md under a fresh RVF container so the diff itself is replayable. 7. Persist the diff verdict in browser-sessions under both source ids' tags so future searches surface "ran a diff against session X".

Caveats

  • Pixel diff is sensitive to font hinting, antialiasing, and scrollbar position. Keep viewport pinned across both sessions.
  • DOM diff over Playwright's accessibility tree is more stable than HTML diff. Prefer it.
  • This skill does not handle dynamic content (clocks, ads); add ignore regions to the field map or pre-process snapshots before diffing.
  • The browser_screenshot_diff MCP tool is not planned (ADR-0001 §7); the skill operates against locally-saved RVF artifacts and uses browser_eval only for live verification.

Related skills

How it compares

Use browser-screenshot-diff for step-aligned session replay comparison; use standard Playwright visual snapshots when you need inline test-suite assertions instead of recorded trajectory diffs.

FAQ

What inputs does browser-screenshot-diff require?

browser-screenshot-diff takes two recorded session IDs as arguments: session-id-a and session-id-b. Optional flags include --threshold from 0 to 1 and --mode pixel, dom, or both for combined screenshot and accessibility snapshot comparison.

What does browser-screenshot-diff output?

browser-screenshot-diff pairs steps by shared step-id, diffs screenshots and accessibility snapshots at each step, reports the first divergence point, and returns an aggregate similarity score across the full recorded trajectory.

When should browser-screenshot-diff be used?

browser-screenshot-diff fits visual regression after UI changes: record a session before the change, record again after, then diff to verify replay correctness and catch unintended DOM or pixel differences early.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.