Agent skill

Browser Test

by ruvnet in ruvnet/ruflo

UI test recipe -- composes browser-record (capture) + browser-replay (verify) so every test produces a replayable RVF artifact, not an ephemeral run

MITAuto-check: notes

Install Browser Test

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

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

GitHub CLI
$ gh skill install ruvnet/ruflo browser-test --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-test .claude/skills/browser-test && 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-test
GitHub stars
74k
Token cost
~899 tokens
SKILL.md length
300 words
Files
1
Skills in repo
264
Repo updated
First seen
Licence
MIT

At a glance

UI test recipe -- composes browser-record (capture) + browser-replay (verify) so every test produces a replayable RVF artifact, not an ephemeral run

  • Works in 8 steps: Record the test run by composing… → Drive interactions — browser_open,… → Wait for elements / network idle via… → …
  • SKILL.md covers When to use, Steps, Navigation and What changed from v0.1.0, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Browser Test is an agent skill from ruvnet/ruflo. UI test recipe -- composes browser-record (capture) + browser-replay (verify) so every test produces a replayable RVF artifact, not an ephemeral run

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

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.

Example prompts

  • “/browser-test”

Requirements

  • Pre-approved tools (allowed-tools): mcp__plugin_ruflo-core_ruflo__browser_open, 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_check, mcp__plugin_ruflo-core_ruflo__browser_uncheck, mcp__plugin_ruflo-core_ruflo__browser_select, 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_get-text, mcp__plugin_ruflo-core_ruflo__browser_get-title, mcp__plugin_ruflo-core_ruflo__browser_get-url, mcp__plugin_ruflo-core_ruflo__browser_get-value, mcp__plugin_ruflo-core_ruflo__browser_eval, mcp__plugin_ruflo-core_ruflo__browser_close, mcp__plugin_ruflo-core_ruflo__browser_session-list, mcp__plugin_ruflo-core_ruflo__aidefence_is_safe, Bash, Read, Write

Workflow steps

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

  1. Record the test run by composing browser-record
  2. Drive interactions — browser_open, browser_click, browser_fill, browser_type, browser_select. Each action emits a trajectory-step.
  3. Wait for elements / network idle via browser_wait before assertions.
  4. Validate with browser_get-text / browser_get-value / browser_get-title / browser_get-url. Validation outcomes go into findings.md inside…
  5. Screenshot before / after key interactions for visual regression. Filenames follow .png.
  6. Snapshot the accessibility tree at navigation boundaries.
  7. End the session: trajectory-end --verdict pass|fail, rvf compact, AgentDB index in browser-sessions.
  8. (Optional) Diff against --against : invoke browser-screenshot-diff to compare the new run with a baseline.

What it can do on your machine

Read from SKILL.md and the folder at commit de590e1. 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_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_check
    • mcp__plugin_ruflo-core_ruflo__browser_uncheck
    • mcp__plugin_ruflo-core_ruflo__browser_select
    • mcp__plugin_ruflo-core_ruflo__browser_hover
    • mcp__plugin_ruflo-core_ruflo__browser_wait

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

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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 Test loads about 899 tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 300 words of instructions outside code blocks.

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

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_click, 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 de590e1, republished under its MIT licence (© ruvnet). 300 words, ~899 tokens.

Download SKILL.mdSave it as .claude/skills/browser-test/SKILL.md (or your agent's skills folder).
name
browser-test
description
UI test recipe -- composes browser-record (capture) + browser-replay (verify) so every test produces a replayable RVF artifact, not an ephemeral run
allowed-tools
mcp__plugin_ruflo-core_ruflo__browser_open, 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_check, mcp__plugin_ruflo-core_ruflo__browser_uncheck, mcp__plugin_ruflo-core_ruflo__browser_select, 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_get-text, mcp__plugin_ruflo-core_ruflo__browser_get-title, mcp__plugin_ruflo-core_ruflo__browser_get-url, mcp__plugin_ruflo-core_ruflo__browser_get-value, mcp__plugin_ruflo-core_ruflo__browser_eval, mcp__plugin_ruflo-core_ruflo__browser_close, mcp__plugin_ruflo-core_ruflo__browser_session-list, mcp__plugin_ruflo-core_ruflo__aidefence_is_safe, Bash, Read, Write
argument-hint
<url> [--screenshot] [--against <prior-session-id>]

Browser Test

Automated UI testing. Now backed by a recorded RVF session container instead of an ephemeral run, so every test produces a replayable artifact.

When to use

  • Verifying UI functionality, user flows, or that frontend changes work in a real browser.
  • Producing a baseline session that future regressions can diff against.
  • Re-running a stored test session when CI fails (no need to re-author the test).

Steps

  1. Record the test run by composing browser-record:
    • Allocates an RVF container with --kind browser-session.
    • Begins a ruvector trajectory.
  2. Drive interactions — browser_open, browser_click, browser_fill, browser_type, browser_select. Each action emits a trajectory-step.
  3. Wait for elements / network idle via browser_wait before assertions.
  4. Validate with browser_get-text / browser_get-value / browser_get-title / browser_get-url. Validation outcomes go into findings.md inside the RVF container.
  5. Screenshot before / after key interactions for visual regression. Filenames follow <step-id>.png.
  6. Snapshot the accessibility tree at navigation boundaries.
  7. End the session: trajectory-end --verdict pass|fail, rvf compact, AgentDB index in browser-sessions.
  8. (Optional) Diff against --against <prior-session-id>: invoke browser-screenshot-diff to compare the new run with a baseline.

Navigation

  • browser_back / browser_forward for history navigation
  • browser_reload to refresh the page
  • browser_scroll to scroll to elements or coordinates

What changed from v0.1.0

  • The skill no longer ends with browser_close alone — it ends with the session-end protocol.
  • Selectors discovered during the test land in browser-selectors (host:intent), so the next test can find them by embedding similarity.
  • Validation outputs pass aidefence_is_safe before any LLM-facing summary; injection-flagged content is quarantined to findings.md.
  • The same skill, used in CI, now produces an artifact that /ruflo-browser replay can re-drive.

Tips

  • Use browser_wait before assertions to handle async rendering.
  • For visual regression, save the parent session id and pass --against <id> on the next run.
  • Use browser_eval for custom JavaScript assertions — but redact any returned strings via the aidefence_is_safe gate before logging.

© 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-test of ruvnet/ruflo.

Open the folder on GitHubat commit de590e1

Compare with similar skills

Browser Test 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 Test compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Browser Test this skillruvnet/ruflo74k—~899Automated safety check: NotesMIT
Recordingcodewhale-hq/Codewhale41k—~540Automated safety check: PassMIT
Tutti Record Agent Session Replaytutti-os/tutti3.8k—~4kAutomated safety check: PassApache-2.0
Architecture Decision Recordsaffaan-m/ECC274k4 repos~1.8kAutomated safety check: PassMIT
Capturealirezarezvani/claude-skills28k1 repos~2.8kAutomated safety check: PassMIT
Architecture Decision Recordsdavila7/claude-code-templates32k11 repos~3.2kAutomated safety check: PassMIT

Similar skills

  • Recording

    codewhale-hq/Codewhale

    Capture screenshots on registered computers, record on macOS or HarmonyOS, and manage saved captures.

    41k GitHub stars~540 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • From a Tutti checkout, run, audit, freshly replay, publish, or diagnose Session Replay cassettes that are driven by case-repository scenario scripts (CDP), not by interactive UI recording.

    3.8k GitHub stars~4k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Capture architectural decisions as numbered ADR markdown files in docs/adr/ with context, alternatives considered, consequences, and an index README.

    274k GitHub starsUsed in 4 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Capture

    alirezarezvani/claude-skills

    Captures and organizes chaotic brain dumps into a structured, actionable system with zero information loss.

    28k GitHub starsUsed in 1 repo~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Architecture Decision Records

    davila7/claude-code-templates

    Comprehensive patterns for creating, maintaining, and managing Architecture Decision Records (ADRs) that capture the context and rationale behind significant technical decisions.

    32k GitHub starsUsed in 11 repos~3.2k tokens
    DevelopmentAuto-check passed
  • Ecc Recipes

    affaan-m/ECC

    Map a described workflow to the right ECC command group with run-order and stop condition, or browse all command-group recipe families read live from the commands directory.

    274k GitHub starsUsed in 1 repo~1.6k tokens
    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 Test

What does Browser Test do?

UI test recipe -- composes browser-record (capture) + browser-replay (verify) so every test produces a replayable RVF artifact, not an ephemeral run. Browser Test is an agent skill from ruvnet/ruflo.

How do I install Browser Test in Claude Code?

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

How do I install Browser Test in Codex?

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

Can I use Browser Test 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-test -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-test, .gemini/skills/browser-test, .github/skills/browser-test and .opencode/skills/browser-test in your project.

What does Browser Test need to run?

SKILL.md names no scripts, command-line tools or credentials: Browser Test is instructions for the agent only. Its frontmatter pre-approves these tools: mcp__plugin_ruflo-core_ruflo__browser_open, 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_check, mcp__plugin_ruflo-core_ruflo__browser_uncheck, mcp__plugin_ruflo-core_ruflo__browser_select, 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_get-text, mcp__plugin_ruflo-core_ruflo__browser_get-title, mcp__plugin_ruflo-core_ruflo__browser_get-url, mcp__plugin_ruflo-core_ruflo__browser_get-value, mcp__plugin_ruflo-core_ruflo__browser_eval, mcp__plugin_ruflo-core_ruflo__browser_close, mcp__plugin_ruflo-core_ruflo__browser_session-list, mcp__plugin_ruflo-core_ruflo__aidefence_is_safe, Bash, Read, Write.

Does Browser Test access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Browser Test 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 Test use?

Browser Test 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 Test use?

About 899 tokens (SKILL.md is roughly 3.6k 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 Test?

Skills that share tags, products or a category with Browser Test: Recording (codewhale-hq/Codewhale, 41k stars), Tutti Record Agent Session Replay (tutti-os/tutti, 3.8k stars), Architecture Decision Records (affaan-m/ECC, 274k stars) and Capture (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Browser Test?

ruvnet (a GitHub user) maintains it in ruvnet/ruflo, which has 74,012 GitHub stars. The repository holds 264 skills in this directory. The repository was last updated on October 7, 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.