browser-replay
Original:🇺🇸 English
Translated
Replay a recorded session trajectory against the same URL or a mutated variant; uses browser-selectors embedding similarity to recover from DOM drift
22installs
Sourceruvnet/ruflo
Added on
NPX Install
npx skill4agent add ruvnet/ruflo browser-replayTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Browser Replay
Re-drive a recorded session trajectory. Used for regression testing, deterministic re-runs, and as the verification path that plus actually produces something replayable.
browser-recordbrowser-selectorsThis skill is the load-bearing assumption of the v0.2.0 architecture. ADR-0001 Verification §4 requires ≥80% replay success across 10 distinct sites of varying drift profiles before the proposal moves from→Proposed. If you find replay unreliable, capture the failure modes inAcceptedand report them up the ADR.findings.md
When to use
- Regression-testing a UI flow after a deploy.
- Reproducing a bug captured in a prior session.
- Comparing two runs of the same flow for .
browser-screenshot-diff - Forking a session () and replaying the parent before mutating.
/ruflo-browser fork
Steps
- Locate the source session:
bash
npx -y ruvector@0.2.25 rvf status <session-id>.rvf - Load the trajectory:
Each line isbash
Read .../trajectory.ndjson.{ts, action, args, selector, result} - Open a fresh browser via (target URL = original or
mcp__claude-flow__browser_openoverride).--url - For each trajectory step, dispatch the matching MCP tool (,
browser_click,browser_fill, etc.) with the recorded args.browser_eval - On selector miss, do not fail immediately — query the namespace for an embedding-similar selector for the same
browser-selectorsand retry once:<host>:<intent>bashnpx -y @claude-flow/cli@latest memory search --namespace browser-selectors \ --query "<host> <intent>" --limit 5 - Record a new trajectory for the replay run (allocate a fresh RVF container, lineage-tracked via ).
rvf derive - Verdict: tally matched-step / total-step ratio. Default tolerance threshold is 0.85 (configurable via ). Verdict goes into
--tolerance.findings.md
Caveats
- Browserbase explicitly does not offer replay (rrweb session replay was deprecated). We're betting on selector-embedding recovery; expect noise on heavily drifted sites.
- Network nondeterminism (timing, content variation) can produce false-fail verdicts. Use to inject expected variation or pin to a fixture.
--mutate - For visual diff, chain into against the parent session id.
browser-screenshot-diff - If selector recovery requires more than one retry per step, log it. That's the signal that the site needs a re-record, not a replay.