Skip to main content
skill CX Codex

browser-record — Claude Code browser skill: traced sessions

Opens a named browser session, allocates an RVF container for it and records every action as a ruvector trajectory step. Useful when a browsing run has to be replayed or analysed later.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add ruvnet/ruflo --skill browser-record -a claude-code
Open on GitHub

What browser-record does

The skill creates a container with npx -y [email protected] rvf create at dimension 384 and starts a trajectory for the task at hand. From there each interaction — a click, a navigation, a snapshot or a screenshot — lands as its own step. At the end it writes a verdict, compacts the container with rvf compact and stores the run in AgentDB under browser-sessions.

Other browser skills in the plugin compose on top of this one: browser-extract, browser-form-fill, browser-test. Call browser_open on its own and you get no trace to replay. Session ids keep a fixed shape, <YYYYMMDD-HHMMSS>-<task-slug>, because /ruflo-browser ls parses them to find earlier runs.

You need npx and access to [email protected] and @claude-flow/cli; until a dedicated browser_session_record MCP tool ships, the skill drives the whole lifecycle from its own bash steps. --with-dom stays off unless a task demands it, since it dumps the full HTML on every navigation and makes the recording heavy. AIDefence PII checks fire when content is read rather than when you navigate, so redaction is down to the skills that parse pages.

What it helps with

  • record a walkthrough of a site step by step for later analysis
  • capture a baseline snapshot and screenshot around a single action
  • stand up a session that extraction and test skills can reuse
  • locate an earlier run by its name via /ruflo-browser ls
  • file the finished run in AgentDB alongside its verdict

Example prompts for the agent

  • Open a named session for the login-flow task, sign in and record every step
  • Take a baseline snapshot and screenshot, then click #login and log the step
  • Close the session with verdict pass, compact the RVF and store it in browser-sessions

How to install browser-record

1Skills CLI (Vercel)

npx skills add ruvnet/ruflo --skill browser-record -a claude-code

2Manually: put the files in place

~/.claude/skills/browser-record/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/browser-record/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about browser-record

How do I install browser-record in Claude Code?

Run npx skills add ruvnet/ruflo --skill browser-record -a claude-code. The skill lands at ~/.claude/skills/browser-record/SKILL.md.

What does browser-record do?

It opens a browser session under a given name, allocates an RVF container for it and binds each action to a ruvector trajectory step. When the run ends it records a verdict, compacts the container and indexes the session in AgentDB.

Why is --with-dom off by default?

It dumps the full HTML on every navigation, which bloats the recording. Turn it on for a task that genuinely needs the DOM, not by habit.

Source text

SKILL.md · MIT
---
name: browser-record
description: Open a named, traced browser session into an RVF cognitive container with a ruvector trajectory recording every action
argument-hint: "<url-or-task> [--with-dom] [--viewport WxH]"
allowed-tools: mcp__plugin_ruflo-core_ruflo__browser_open mcp__plugin_ruflo-core_ruflo__browser_close mcp__plugin_ruflo-core_ruflo__browser_session-list mcp__plugin_ruflo-core_ruflo__browser_screenshot mcp__plugin_ruflo-core_ruflo__browser_snapshot mcp__plugin_ruflo-core_ruflo__browser_wait mcp__plugin_ruflo-core_ruflo__aidefence_has_pii mcp__plugin_ruflo-core_ruflo__aidefence_scan Bash Read Write
---

# Browser Record

Primitive on which every other browser skill composes. Opens a named browser session, allocates an RVF container for it, and binds every action to a ruvector trajectory step. **You do not run a browser session in this plugin without invoking this skill (or one that wraps it).**

## When to use

- Starting any browser interaction that is not a one-off throwaway probe.
- Exploring a site interactively while preserving the trace for later replay or analysis.
- Establishing a reusable session that downstream skills (`browser-extract`, `browser-form-fill`, `browser-test`) will compose.

## Steps

1. **Allocate session id and RVF container**:
   ```bash
   SID="$(date +%Y%m%d-%H%M%S)-${TASK_SLUG:-record}"
   npx -y [email protected] rvf create "$SID.rvf" --dimension 384
   npx -y [email protected] hooks trajectory-begin --session-id "$SID" --task "$1"
   ```
2. **Open the browser** via `mcp__plugin_ruflo-core_ruflo__browser_open` with the URL.
3. **Snapshot the initial state**: `browser_snapshot` for the accessibility tree, `browser_screenshot` for a baseline image.
4. **For each interaction**, record a trajectory step before and after:
   ```bash
   npx -y [email protected] hooks trajectory-step \
     --session-id "$SID" --action click --args '{"selector":"#login"}' --result ok
   ```
5. **End cleanly**:
   ```bash
   npx -y [email protected] hooks trajectory-end --session-id "$SID" --verdict pass
   npx -y [email protected] rvf compact "$SID.rvf"
   ```
6. **Index in AgentDB** under `browser-sessions`:
   ```bash
   npx -y @claude-flow/cli@latest memory store --namespace browser-sessions \
     --key "$SID" --value "{rvf_id:$SID,host:...,task:...,verdict:pass}"
   ```

## Caveats

- Until the `browser_session_record` MCP tool ships (ADR-0001 §7), this skill drives the lifecycle from inside its own bash steps. Do not call `mcp__plugin_ruflo-core_ruflo__browser_open` directly without these wrappers.
- The session id format is fixed: `<YYYYMMDD-HHMMSS>-<task-slug>`. Downstream `/ruflo-browser ls` parses this.
- `--with-dom` is expensive (full HTML dump per nav). Off by default.
- AIDefence gates apply at extraction time, not at navigation time. `browser-record` is a primitive; redaction is the responsibility of skills that read content (`browser-extract`, `browser-test`).

© ruvnet · MIT · ruvnet/ruflo

Similar skills

All skills for Browser and scraping →

From the same set146

cost-compact-context A skill that wraps getTokenOptimizer().getCompactContext() for token cost analysis. Retrieves compacted context from ReasoningBank, reports tokens saved via bridge measurements, and exposes agent-booster availability. CX Codex +1 726installs market-ingest Fetches price and volume history, normalizes candles into OHLCV vectors, and stores them for pattern detection or comparison. CX Codex +1 725installs vector-hyperbolic Places hierarchical data in the Poincaré ball: radius from tree depth, direction from a text embedding. For dependency trees, ontologies, class hierarchies. CX Codex +1 724installs browser-replay Re-drives a recorded browser session against the same URL or a mutated variant. Handy for regression runs after a deploy. CX Codex +1 720installs browser-form-fill Fills web forms using a structured JSON field map and saved selector templates. It automates data entry and form submission directly in browser sessions. CX Codex +1 717installs dossier-collect Builds a graph-based dossier from a user, file, symbol, ADR, URL, or concept. Use it to trace connected entities instead of answering one narrow question. CX Codex +1 701installs browser-extract Pulls text, tables and attribute values off a rendered page as structured JSON, with PII and prompt-injection checks running before anything reaches the model. CX Codex +1 697installs browser-screenshot-diff Compares two recorded browser sessions by matching steps, screenshots, and accessibility snapshots. Use it for visual regression and replay checks. CX Codex +1 696installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor