Agent skill

Browser Replay

by ruvnet in ruvnet/ruflo

Replay a recorded session trajectory against the same URL or a mutated variant; uses browser-selectors embedding similarity to recover from DOM drift

MITAuto-check: notesAI & LLM Engineering

Install Browser Replay

skills CLI
$ npx skills add ruvnet/ruflo --skill browser-replay -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ruvnet/ruflo browser-replay --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ruvnet/ruflo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ruflo-browser/skills/browser-replay .claude/skills/browser-replay && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
browser-replay
GitHub stars
74k
Token cost
~856 tokens
SKILL.md length
299 words
Files
1
Skills in repo
264
Repo updated
First seen
Licence
MIT

At a glance

Replay a recorded session trajectory against the same URL or a mutated variant; uses browser-selectors embedding similarity to recover from DOM drift

  • Works in 7 steps: Locate the source session → Load the trajectory → Open a fresh browser via… → …
  • Tasks that involve Embeddings
  • SKILL.md covers When to use, Steps and Caveats
  • Calls npx

What it does

Browser Replay is an agent skill from ruvnet/ruflo. Replay a recorded session trajectory against the same URL or a mutated variant; uses browser-selectors embedding similarity to recover from DOM drift

Its SKILL.md is about 860 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering, covering Embeddings. The repository describes itself as: 🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory…. The licence is MIT.

When your agent uses it

  • Tasks that involve Embeddings

Example prompts

  • “/browser-replay”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): mcp__plugin_ruflo-core_ruflo__browser_open, mcp__plugin_ruflo-core_ruflo__browser_close, mcp__plugin_ruflo-core_ruflo__browser_click, mcp__plugin_ruflo-core_ruflo__browser_fill, mcp__plugin_ruflo-core_ruflo__browser_type, mcp__plugin_ruflo-core_ruflo__browser_press, mcp__plugin_ruflo-core_ruflo__browser_select, mcp__plugin_ruflo-core_ruflo__browser_check, mcp__plugin_ruflo-core_ruflo__browser_uncheck, mcp__plugin_ruflo-core_ruflo__browser_hover, mcp__plugin_ruflo-core_ruflo__browser_wait, mcp__plugin_ruflo-core_ruflo__browser_screenshot, mcp__plugin_ruflo-core_ruflo__browser_snapshot, mcp__plugin_ruflo-core_ruflo__browser_eval, Bash, Read

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Locate the source session
  2. Load the trajectory
  3. Open a fresh browser via mcpplugin_ruflo-core_ruflobrowser_open (target URL = original or --url override).
  4. For each trajectory step, dispatch the matching MCP tool (browser_click, browser_fill, browser_eval, etc.) with the recorded args.
  5. On selector miss, do not fail immediately — query the browser-selectors namespace for an embedding-similar selector for the same : and…
  6. Record a new trajectory for the replay run (allocate a fresh RVF container, lineage-tracked via rvf derive).
  7. Verdict: tally matched-step / total-step ratio. Default tolerance threshold is 0.85 (configurable via --tolerance). Verdict goes into…

What it can do on your machine

Read from SKILL.md and the folder at commit 58e0ae7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • mcp__plugin_ruflo-core_ruflo__browser_open
    • mcp__plugin_ruflo-core_ruflo__browser_close
    • mcp__plugin_ruflo-core_ruflo__browser_click
    • mcp__plugin_ruflo-core_ruflo__browser_fill
    • mcp__plugin_ruflo-core_ruflo__browser_type
    • mcp__plugin_ruflo-core_ruflo__browser_press
    • mcp__plugin_ruflo-core_ruflo__browser_select
    • mcp__plugin_ruflo-core_ruflo__browser_check
    • mcp__plugin_ruflo-core_ruflo__browser_uncheck
    • mcp__plugin_ruflo-core_ruflo__browser_hover

    …and 6 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Browser Replay loads about 856 tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 299 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~856

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: mcp__plugin_ruflo-core_ruflo__browser_open, mcp__plugin_ruflo-core_ruflo__browser_close, mcp__plugin

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ruvnet/ruflo at commit 58e0ae7, republished under its MIT licence (© ruvnet). 299 words, ~856 tokens.

Download SKILL.mdSave it as .claude/skills/browser-replay/SKILL.md (or your agent's skills folder).
name
browser-replay
description
Replay a recorded session trajectory against the same URL or a mutated variant; uses browser-selectors embedding similarity to recover from DOM drift
allowed-tools
mcp__plugin_ruflo-core_ruflo__browser_open, mcp__plugin_ruflo-core_ruflo__browser_close, mcp__plugin_ruflo-core_ruflo__browser_click, mcp__plugin_ruflo-core_ruflo__browser_fill, mcp__plugin_ruflo-core_ruflo__browser_type, mcp__plugin_ruflo-core_ruflo__browser_press, mcp__plugin_ruflo-core_ruflo__browser_select, mcp__plugin_ruflo-core_ruflo__browser_check, mcp__plugin_ruflo-core_ruflo__browser_uncheck, mcp__plugin_ruflo-core_ruflo__browser_hover, mcp__plugin_ruflo-core_ruflo__browser_wait, mcp__plugin_ruflo-core_ruflo__browser_screenshot, mcp__plugin_ruflo-core_ruflo__browser_snapshot, mcp__plugin_ruflo-core_ruflo__browser_eval, Bash, Read
argument-hint
<session-id> [--url <new-url>] [--mutate <json>] [--tolerance <0..1>]

Browser Replay

Re-drive a recorded session trajectory. Used for regression testing, deterministic re-runs, and as the verification path that browser-record plus browser-selectors actually produces something replayable.

This 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 → Accepted. If you find replay unreliable, capture the failure modes in findings.md and report them up the ADR.

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 (/ruflo-browser fork) and replaying the parent before mutating.

Steps

  1. Locate the source session:
    bash
    npx -y ruvector@0.2.25 rvf status <session-id>.rvf
  2. Load the trajectory:
    bash
    Read .../trajectory.ndjson
    Each line is {ts, action, args, selector, result}.
  3. Open a fresh browser via mcp__plugin_ruflo-core_ruflo__browser_open (target URL = original or --url override).
  4. For each trajectory step, dispatch the matching MCP tool (browser_click, browser_fill, browser_eval, etc.) with the recorded args.
  5. On selector miss, do not fail immediately — query the browser-selectors namespace for an embedding-similar selector for the same <host>:<intent> and retry once:
    bash
    npx -y @claude-flow/cli@latest memory search --namespace browser-selectors \
      --query "<host> <intent>" --limit 5
  6. Record a new trajectory for the replay run (allocate a fresh RVF container, lineage-tracked via rvf derive).
  7. Verdict: tally matched-step / total-step ratio. Default tolerance threshold is 0.85 (configurable via --tolerance). Verdict goes into 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 --mutate to inject expected variation or pin to a fixture.
  • For visual diff, chain into browser-screenshot-diff against the parent session id.
  • 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.

© ruvnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/ruflo-browser/skills/browser-replay of ruvnet/ruflo.

Open the folder on GitHubat commit 58e0ae7

Compare with similar skills

Browser Replay next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Browser Replay compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Browser Replay this skillruvnet/ruflo74k—~856Automated safety check: NotesMIT
Chroma Vector DatabaseOrchestra-Research/AI-Research-SKILLs13k7 repos~2.3kAutomated safety check: PassMIT
SageMaker Serving Image Selectionhuggingface/skills11k1 repos~4.6kAutomated safety check: PassApache-2.0
Codebase Managementgiancarloerra/SocratiCode3.3k1 repos~1.8kAutomated safety check: PassAGPL-3.0
CLIP Image-Text MatchingOrchestra-Research/AI-Research-SKILLs13k7 repos~1.7kAutomated safety check: PassMIT
Sentence-Transformers Training Routerhuggingface/skills11k1 repos~2.6kAutomated safety check: PassApache-2.0

Similar skills

  • Chroma Vector Database

    Orchestra-Research/AI-Research-SKILLs

    Shows how to store documents and embeddings in Chroma, query them by similarity with metadata filters, and persist them to disk for RAG and semantic search projects.

    13k GitHub starsUsed in 7 repos~2.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Official

    Chooses the right serving container and current image URI for deploying a Hugging Face model to a SageMaker endpoint, preferring Hugging Face images over generic ones.

    11k GitHub starsUsed in 1 repo~4.6k tokens
    AI & LLM EngineeringAuto-check passed
  • Codebase Management

    giancarloerra/SocratiCode

    Set up, index, and manage SocratiCode codebase indexing. An agent skill from giancarloerra/SocratiCode.

    3.3k GitHub starsUsed in 1 repo~1.8k tokens
    AI & LLM EngineeringAuto-check passed
  • CLIP Image-Text Matching

    Orchestra-Research/AI-Research-SKILLs

    Explains OpenAI's CLIP model for zero-shot image classification, image-text similarity, semantic image search and content moderation, with install steps and code patterns.

    13k GitHub starsUsed in 7 repos~1.7k tokens
    AI & LLM EngineeringAuto-check passed
  • Official

    Routes a sentence-transformers training task to the right model type and required reference docs and example scripts, covering bi-encoders, rerankers, sparse and multi-vector models.

    11k GitHub starsUsed in 1 repo~2.6k tokens
    AI & LLM EngineeringAuto-check passed
  • Mashup Mods

    rehan-remade/universal-modder

    Build cross-game mashups and total conversions, the "Minecraft inside Elden Ring" or "skateboarding in MW2" kind.

    5.8k GitHub stars~3.3k tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from ruvnet/ruflo

All 264 skills in this repo
  • Stores, searches, and retrieves successful patterns with HNSW-indexed semantic search so agents can reuse past solutions instead of relearning them.

    74k GitHub starsUsed in 2 repos~830 tokens
    Auto-check passed
  • Runs claude-flow CLI security scans for input validation, path traversal, SQL injection, XSS, hardcoded secrets and known CVEs, and writes an audit report.

    74k GitHub starsUsed in 2 repos~823 tokens
    Auto-check passed
  • Applies the SPARC method (specification, pseudocode, architecture, refinement, completion) with 17 specialized modes and multi-agent orchestration, from research to deployment.

    74k GitHub starsUsed in 2 repos~829 tokens
    Auto-check passed
  • Coordinates a hierarchical swarm of specialized agents through the claude-flow CLI for work that spans several files or modules at once.

    74k GitHub starsUsed in 2 repos~779 tokens
    Auto-check passed
  • Sets up and drives Ruflo, an npm-installed orchestration layer for multi-agent swarms, persistent memory, routing, hooks and its MCP tool catalog.

    74k GitHub starsUsed in 1 repo~975 tokens
    Auto-check passed
  • Agent Coordination

    ruvnet/ruflo

    Reference for spawning, listing, monitoring and stopping agents with claude-flow commands, with agent type families, routing codes and coordination tips.

    74k GitHub starsUsed in 2 repos~519 tokens
    Auto-check passed

Questions about Browser Replay

What does Browser Replay do?

Replay a recorded session trajectory against the same URL or a mutated variant; uses browser-selectors embedding similarity to recover from DOM drift. Browser Replay is an agent skill from ruvnet/ruflo.

When should I use Browser Replay?

Browser Replay fits situations like: tasks that involve Embeddings.

How do I install Browser Replay in Claude Code?

Run `npx skills add ruvnet/ruflo --skill browser-replay -a claude-code`. Or copy the skill folder (plugins/ruflo-browser/skills/browser-replay in ruvnet/ruflo) into .claude/skills/browser-replay in your project. Claude Code loads it when a task matches its description.

How do I install Browser Replay in Codex?

Run `npx skills add ruvnet/ruflo --skill browser-replay -a codex`. Or copy the skill folder (plugins/ruflo-browser/skills/browser-replay in ruvnet/ruflo) into .agents/skills/browser-replay in your project. Codex loads it when a task matches its description.

Can I use Browser Replay in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruvnet/ruflo --skill browser-replay -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/browser-replay, .gemini/skills/browser-replay, .github/skills/browser-replay and .opencode/skills/browser-replay in your project.

What does Browser Replay need to run?

Going by SKILL.md and its folder, Browser Replay needs the command-line tools its instructions call (npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: mcp__plugin_ruflo-core_ruflo__browser_open, mcp__plugin_ruflo-core_ruflo__browser_close, mcp__plugin_ruflo-core_ruflo__browser_click, mcp__plugin_ruflo-core_ruflo__browser_fill, mcp__plugin_ruflo-core_ruflo__browser_type, mcp__plugin_ruflo-core_ruflo__browser_press, mcp__plugin_ruflo-core_ruflo__browser_select, mcp__plugin_ruflo-core_ruflo__browser_check, mcp__plugin_ruflo-core_ruflo__browser_uncheck, mcp__plugin_ruflo-core_ruflo__browser_hover, mcp__plugin_ruflo-core_ruflo__browser_wait, mcp__plugin_ruflo-core_ruflo__browser_screenshot, mcp__plugin_ruflo-core_ruflo__browser_snapshot, mcp__plugin_ruflo-core_ruflo__browser_eval, Bash, Read.

Does Browser Replay access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Browser Replay safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Browser Replay use?

Browser Replay is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Browser Replay use?

About 856 tokens (SKILL.md is roughly 3.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Browser Replay?

Skills that share tags, products or a category with Browser Replay: Chroma Vector Database (Orchestra-Research/AI-Research-SKILLs, 13k stars), SageMaker Serving Image Selection (huggingface/skills, 11k stars), Codebase Management (giancarloerra/SocratiCode, 3.3k stars) and CLIP Image-Text Matching (Orchestra-Research/AI-Research-SKILLs, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Browser Replay?

ruvnet (a GitHub user) maintains it in ruvnet/ruflo, which has 74,159 GitHub stars. The repository holds 264 skills in this directory. The repository was last updated on October 9, 2026.

Source: ruvnet/ruflo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.