К основному содержанию
скилл CX Codex

browser-replay — скилл для Claude Code: повтор сессии в браузере

Прогоняет записанную сессию браузера заново — на том же адресе или на изменённом варианте. Пригодится для регресс-тестов после деплоя.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add ruvnet/ruflo --skill browser-replay -a claude-code
Открыть на GitHub

Что делает browser-replay

Скилл берёт записанную траекторию сессии и повторяет её шаг за шагом: открывает браузер, вызывает нужный MCP-инструмент (browser_click, browser_fill, browser_eval и другие) с теми же аргументами, что были записаны. Каждая строка траектории — это {ts, action, args, selector, result}.

Если селектор не находится, шаг не падает сразу. Скилл ищет похожий селектор по эмбеддингу в пространстве browser-selectors для той же пары <host>:<intent> и пробует ещё раз. Так он переживает изменения в DOM. Для запуска нужен npx и доступ к ruvector и @claude-flow/cli.

Вердикт считается как доля совпавших шагов; порог по умолчанию — 0.85, меняется флагом --tolerance. Сетевой разброс по времени и контенту даёт ложные провалы, поэтому ожидаемые отличия лучше вносить через --mutate или привязывать прогон к фикстуре. Если на шаг уходит больше одной повторной попытки, это признак, что сайт пора записать заново, а не воспроизводить.

Какие задачи решает

  • прогнать UI-сценарий после деплоя и увидеть, где он сломался
  • воспроизвести баг, пойманный в прошлой сессии
  • сравнить два прогона одного сценария через browser-screenshot-diff
  • проверить, что записанная сессия вообще воспроизводима
  • ответвить сессию и прогнать родительскую перед изменениями

Примеры запросов агенту

  • Повтори сессию checkout-2024.rvf на том же адресе и покажи, какие шаги не совпали
  • Прогони login-flow.rvf с --url на тестовый стенд и порогом --tolerance 0.9
  • Воспроизведи сессию signup.rvf с --mutate, чтобы учесть ожидаемые отличия в контенте

Как установить browser-replay

1Через Skills CLI (Vercel)

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

2Вручную: положить файлы

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

Папка скилла целиком; для одного проекта — .claude/skills/browser-replay/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о browser-replay

Как установить browser-replay в Claude Code?

Выполните npx skills add ruvnet/ruflo --skill browser-replay -a claude-code. Скилл появится в ~/.claude/skills/browser-replay/SKILL.md.

Что делает browser-replay?

Повторяет записанную траекторию сессии браузера: открывает браузер и по очереди вызывает MCP-инструменты с записанными аргументами. Если селектор не найден, подбирает похожий по эмбеддингу и пробует снова.

Почему повтор иногда даёт ложный провал?

Из-за сетевой недетерминированности: разное время отклика и меняющийся контент. Ожидаемые отличия вносите через --mutate или привязывайте прогон к фикстуре.

Исходный текст

SKILL.md · MIT
---
name: browser-replay
description: Replay a recorded session trajectory against the same URL or a mutated variant; uses browser-selectors embedding similarity to recover from DOM drift
argument-hint: "<session-id> [--url <new-url>] [--mutate <json>] [--tolerance <0..1>]"
allowed-tools: mcp__plugin_ruflo-core_ruflo__browser_open mcp__plugin_ruflo-core_ruflo__browser_close 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_select mcp__plugin_ruflo-core_ruflo__browser_check mcp__plugin_ruflo-core_ruflo__browser_uncheck 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_eval Bash Read
---

# Browser Replay

Re-drive a recorded session trajectory. Used for regression testing, deterministic re-runs, and as the verification path that `browser-record` plus `browser-selectors` actually produces something replayable.

> **This skill is the load-bearing assumption of the v0.2.0 architecture.** ADR-0001 Verification §4 requires ≥80% replay success across 10 distinct sites of varying drift profiles before the proposal moves from `Proposed` → `Accepted`. If you find replay unreliable, capture the failure modes in `findings.md` and report them up the ADR.

## When to use

- Regression-testing a UI flow after a deploy.
- Reproducing a bug captured in a prior session.
- Comparing two runs of the same flow for `browser-screenshot-diff`.
- Forking a session (`/ruflo-browser fork`) and replaying the parent before mutating.

## Steps

1. **Locate the source session**:
   ```bash
   npx -y [email protected] rvf status <session-id>.rvf
   ```
2. **Load the trajectory**:
   ```bash
   Read .../trajectory.ndjson
   ```
   Each line is `{ts, action, args, selector, result}`.
3. **Open a fresh browser** via `mcp__plugin_ruflo-core_ruflo__browser_open` (target URL = original or `--url` override).
4. **For each trajectory step**, dispatch the matching MCP tool (`browser_click`, `browser_fill`, `browser_eval`, etc.) with the recorded args.
5. **On selector miss**, do *not* fail immediately — query the `browser-selectors` namespace for an embedding-similar selector for the same `<host>:<intent>` and retry once:
   ```bash
   npx -y @claude-flow/cli@latest memory search --namespace browser-selectors \
     --query "<host> <intent>" --limit 5
   ```
6. **Record a new trajectory** for the replay run (allocate a fresh RVF container, lineage-tracked via `rvf derive`).
7. **Verdict**: tally matched-step / total-step ratio. Default tolerance threshold is 0.85 (configurable via `--tolerance`). Verdict goes into `findings.md`.

## Caveats

- Browserbase explicitly does not offer replay (rrweb session replay was deprecated). We're betting on selector-embedding recovery; expect noise on heavily drifted sites.
- Network nondeterminism (timing, content variation) can produce false-fail verdicts. Use `--mutate` to inject expected variation or pin to a fixture.
- For visual diff, chain into `browser-screenshot-diff` against the parent session id.
- If selector recovery requires more than one retry per step, log it. That's the signal that the site needs a re-record, not a replay.

© ruvnet · MIT · ruvnet/ruflo

Похожие скиллы

Все скиллы по теме «Браузер и парсинг» →
agent-browser vercel-labs Скилл управляет браузером через CLI: открывает страницы, заполняет формы, нажимает кнопки и проверяет веб-приложения. Подходит для задач, где агенту нужно действовать в интерфейсе. CX Codex +1 1 200 000установок webapp-testing официальный anthropics Скилл запускает проверки локальных веб-приложений через Playwright: помогает отлаживать UI, делать скриншоты и смотреть логи браузера. 186 758установок computer-use stablyai Скилл ведёт видимое окно приложения через orca computer: читает дерево доступности, кликает, печатает и снимает скриншоты. Нужен, когда задача упирается в интерфейс. CX Codex +1 239 400установок browser-use browser-use Даёт агенту живой Chrome через CDP: клики, ввод, скриншоты и страницы, которым нужен JS или ваша логин-сессия. CX Codex +1 98 200установок playwright-cli microsoft Скилл, который даёт агенту браузер: открыть страницу, кликнуть по элементу, снять снимок и разобрать тесты Playwright. CX Codex +1 195 700установок last30days mvanhorn Собирает посты и реакции по любой теме за последние 30 дней из Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub и веба. Пригодится, когда нужно понять, что реально говорят люди, а не что пишут в обзорах. CX Codex +1 53 000установок

Из того же набора146

kg-traverse Находит цепочки связей в графе знаний AgentDB, начиная с указанной сущности. Пригодится при анализе зависимостей в кодовой базе и оценке влияния правок. CX Codex +1 727установок cost-compact-context Скилл оборачивает getTokenOptimizer().getCompactContext() для анализа затрат на токены. Извлекает сжатый контекст из ReasoningBank, показывает, сколько токенов удалось сэкономить, и выясняет, доступен ли agent-booster. CX Codex +1 726установок market-ingest Загружает историю цен и объёмов, нормализует свечи в OHLCV-векторы и сохраняет их для поиска паттернов и сравнения. CX Codex +1 725установок vector-hyperbolic Кладёт иерархические данные в шар Пуанкаре: радиус узла из глубины дерева, направление из текстового эмбеддинга. Для деревьев зависимостей, онтологий и иерархий классов. CX Codex +1 724установок browser-record Открывает именованную браузерную сессию, заводит под неё контейнер RVF и пишет каждый шаг в траекторию ruvector. Пригодится, когда разбор сайта надо потом пересмотреть или повторить. CX Codex +1 718установок browser-form-fill Заполняет веб-формы по структурированной карте полей JSON и сохранённым шаблонам селекторов. Помогает автоматизировать ввод данных и отправку форм в браузере. CX Codex +1 717установок dossier-collect Собирает графовое досье по пользователю, файлу, символу, ADR, URL или понятию. Нужен, когда надо исследовать связанные сущности, а не получить один ответ. CX Codex +1 701установок browser-extract Скилл достаёт текст, таблицы и значения атрибутов с отрисованной страницы и отдаёт их структурой, но только после проверки на персональные данные и промпт-инъекции. CX Codex +1 697установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой