/browser-record
Open a named, traced browser session into an RVF cognitive container with a ruvector trajectory recording every action
Claude Code
$ npx -y skills add ruvnet/ruflo --skill browser-record --agent claude-code
Codex
$ npx skills add ruvnet/ruflo --skill browser-record -a codex -y
Cursor
$ npx skills add ruvnet/ruflo --skill browser-record -a cursor -y
Gemini CLI
$ npx skills add ruvnet/ruflo --skill browser-record -a gemini-cli -y
GitHub Copilot
$ npx skills add ruvnet/ruflo --skill browser-record -a github-copilot -y
OpenCode
$ npx skills add ruvnet/ruflo --skill browser-record -a opencode -y
Windsurf
$ npx skills add ruvnet/ruflo --skill browser-record -a windsurf -y
SKILL.md
browser-record.SKILL.mdname: 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**:
SID="$(date +%Y%m%d-%H%M%S)-${TASK_SLUG:-record}"
npx -y ruvector@0.3.12 rvf create "$SID.rvf" --dimension 384
npx -y ruvector@0.3.12 hooks trajectory-begin --context "$SID: $1" --agent browser-session2. **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:
npx -y ruvector@0.3.12 hooks trajectory-step \
--action 'click {"selector":"#login"}' --result ok5. **End cleanly**:
npx -y ruvector@0.3.12 hooks trajectory-end --quality 1 --success
npx -y ruvector@0.3.12 rvf compact "$SID.rvf"
6. **Index in AgentDB** under `browser-sessions`:
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`).
Read more
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**:
SID="$(date +%Y%m%d-%H%M%S)-${TASK_SLUG:-record}"
npx -y ruvector@0.3.12 rvf create "$SID.rvf" --dimension 384
npx -y ruvector@0.3.12 hooks trajectory-begin --context "$SID: $1" --agent browser-session2. **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:
npx -y ruvector@0.3.12 hooks trajectory-step \
--action 'click {"selector":"#login"}' --result ok5. **End cleanly**:
npx -y ruvector@0.3.12 hooks trajectory-end --quality 1 --success npx -y ruvector@0.3.12 rvf compact "$SID.rvf"
6. **Index in AgentDB** under `browser-sessions`:
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`).
📖 RuFlo Explained — Build an AI Team That Plans, Remembers, Tests, and Improves A 14-chapter guide: from the basic idea to a first useful task, then memory, agent teams, plugins, cost and verification. Agent = Model + Harness.
Other skills on ruflo.
More skills from other plugins.
agentmail
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
bmad
Answers BMad questions and recommends the next skill from what is installed. Use when the user asks bmad for help, what to do…
Questions about browser-record.
- Which coding agents can use browser-record?
- browser-record installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

