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
- Allocate session id and RVF container:
SID="$(date +%Y%m%d-%H%M%S)-${TASK_SLUG:-record}" npx -y ruvector@0.2.25 rvf create "$SID.rvf" --dimension 384 npx -y ruvector@0.2.25 hooks trajectory-begin --session-id "$SID" --task "$1" - Open the browser via
mcp__claude-flow__browser_openwith the URL. - Snapshot the initial state:
browser_snapshotfor the accessibility tree,browser_screenshotfor a baseline image. - For each interaction, record a trajectory step before and after:
npx -y ruvector@0.2.25 hooks trajectory-step \ --session-id "$SID" --action click --args '{"selector":"#login"}' --result ok - End cleanly:
npx -y ruvector@0.2.25 hooks trajectory-end --session-id "$SID" --verdict pass npx -y ruvector@0.2.25 rvf compact "$SID.rvf" - 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_recordMCP tool ships (ADR-0001 §7), this skill drives the lifecycle from inside its own bash steps. Do not callmcp__claude-flow__browser_opendirectly without these wrappers. - The session id format is fixed:
<YYYYMMDD-HHMMSS>-<task-slug>. Downstream/ruflo-browser lsparses this. --with-domis expensive (full HTML dump per nav). Off by default.- AIDefence gates apply at extraction time, not at navigation time.
browser-recordis a primitive; redaction is the responsibility of skills that read content (browser-extract,browser-test).