browser-replay

Replays recorded browser session trajectories with embedding-based selector recovery for DOM drift.

70.1k|8.4k|Updated Jun 2, 2025
One-click install
npx skills add https://github.com/ruvnet/claude-flow --skill browser-replay
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: browser-replay
Source: https://github.com/ruvnet/claude-flow/tree/main/plugins/ruflo-browser/skills/browser-replay
Command: npx skills add https://github.com/ruvnet/claude-flow --skill browser-replay

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires ruvector, @claude-flow/cli.

What problem does it solve?

Recorded browser automation breaks when a site's DOM changes between recording and re-run. This Skill re-drives a saved session trajectory against the original or a mutated URL, recovering from selector drift so regression tests and bug reproductions stay usable after deploys.

Core Features & Use Cases

  • Trajectory Replay: Loads a recorded NDJSON trajectory from an RVF session container and re-executes each step through browser MCP tools (click, fill, type, press, select, hover, wait).
  • Selector Drift Recovery: On a selector miss, queries the browser-selectors memory namespace for an embedding-similar selector matching the same host and intent, then retries once instead of failing.
  • Verdict Scoring: Tallies matched-step ratio against a configurable tolerance threshold (default 0.85) and writes the verdict to findings.md.
  • Use Case: After a frontend deploy, replay a recorded checkout flow against the staging URL to confirm the UI flow still works, then chain into browser-screenshot-diff for visual comparison against the parent session.

Quick Start

Replay the recorded session with id abc123 against the staging URL and report whether at least 85 percent of steps matched.

Frequently Asked Questions about browser-replay

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I replay a recorded browser session?

Locate the session's RVF container, load its trajectory.ndjson file, open a fresh browser at the original or overridden URL, and dispatch each recorded step through the matching browser MCP tool. The skill records a new lineage-tracked trajectory for the replay run.

How does browser replay handle DOM changes after a deploy?

When a recorded selector no longer matches, the skill queries the browser-selectors memory namespace for an embedding-similar selector with the same host and intent, then retries the step once. Repeated recovery needs signal the site should be re-recorded.

Can I replay a browser session against a different URL?

Yes, pass a --url override to target a new URL such as a staging environment, or use --mutate with JSON to inject expected content variation. This supports comparing runs across environments and forking sessions before mutation.

Why does browser replay produce false-fail verdicts?

Network nondeterminism such as timing differences and content variation can cause steps to mismatch even when the flow works. Use --mutate to declare expected variation or pin the run to a fixture, and adjust the --tolerance threshold from its 0.85 default.

What are the limitations of session replay for browser testing?

Replay relies on selector-embedding recovery rather than rrweb session replay, so heavily drifted sites produce noise. Steps needing more than one recovery retry indicate the flow needs a fresh recording rather than another replay.