browser-record — скилл для Claude Code: запись браузерной сессии
Открывает именованную браузерную сессию, заводит под неё контейнер RVF и пишет каждый шаг в траекторию ruvector. Пригодится, когда разбор сайта надо потом пересмотреть или повторить.
npx skills add ruvnet/ruflo --skill browser-record -a claude-codeЧто делает browser-record
Скилл создаёт контейнер через npx -y [email protected] rvf create с размерностью 384 и начинает траекторию для конкретной задачи. Дальше каждое действие (клик, переход, снимок, скриншот) ложится отдельным шагом. В конце сессия закрывается с вердиктом, контейнер сжимается командой rvf compact, а запись уходит в AgentDB в пространство browser-sessions.
Это примитив, на котором собираются остальные браузерные скиллы плагина: browser-extract, browser-form-fill, browser-test. Если дёрнуть browser_open напрямую, минуя обёртки, траектории не будет. Имя сессии жёсткое: <YYYYMMDD-HHMMSS>-<task-slug>, потому что /ruflo-browser ls разбирает его, чтобы найти прошлые прогоны.
Нужен npx и доступ к пакетам [email protected] и @claude-flow/cli. Пока отдельный MCP-инструмент browser_session_record не вышел, скилл ведёт весь цикл своими bash-шагами. Флаг --with-dom выключен, и это к лучшему: он снимает полный HTML на каждом переходе, так что включайте его только под конкретную нужду. Проверка PII через AIDefence срабатывает в момент чтения контента, а не в момент навигации, поэтому за редакцию отвечает тот скилл, который читает страницу.
Какие задачи решает
- записать проход по сайту пошагово, чтобы потом разобрать его
- сохранить снимок страницы и скриншот до и после действия
- поднять сессию, на которую потом навесятся извлечение данных и тесты
- найти прошлый прогон по имени через
/ruflo-browser ls - сложить итог сессии в AgentDB вместе с вердиктом
Примеры запросов агенту
- Открой именованную сессию для задачи
login-flow, залогинься и запиши каждый шаг - Сними baseline-снимок и скриншот, потом кликни по
#loginи запиши шаг в траекторию - Закрой сессию с вердиктом
pass, сожми RVF и сохрани её вbrowser-sessions
Как установить browser-record
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill browser-record -a claude-code2Вручную: положить файлы
~/.claude/skills/browser-record/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/browser-record/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill browser-record -a codex2Вручную: положить файлы
.agents/skills/browser-record/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill browser-record -a cursor2Вручную: положить файлы
.cursor/skills/browser-record/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo browser-record2Вручную: положить файлы
.github/skills/browser-record/SKILL.md1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill browser-record -a gemini-cli2Командой платформы
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-browser/skills/browser-recordВручную: положить файлы
.devin/skills/browser-record/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill browser-record -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о browser-record
Как установить browser-record в Claude Code?
Выполните npx skills add ruvnet/ruflo --skill browser-record -a claude-code. Файл скилла окажется по пути ~/.claude/skills/browser-record/SKILL.md.
Что делает browser-record?
Открывает браузерную сессию под заданным именем, заводит под неё контейнер RVF и привязывает каждое действие к шагу траектории ruvector. По завершении ставит вердикт, сжимает контейнер и индексирует запись в AgentDB.
Зачем нужен флаг --with-dom и почему он выключен?
Он добавляет полный дамп HTML на каждый переход, поэтому запись раздувается. По умолчанию он отключён, включать стоит под конкретную задачу разбора.
Исходный текст
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