| name | browser-test |
| description | UI test recipe -- composes browser-record (capture) + browser-replay (verify) so every test produces a replayable RVF artifact, not an ephemeral run |
| argument-hint | <url> [--screenshot] [--against <prior-session-id>] |
| allowed-tools | mcp__claude-flow__browser_open mcp__claude-flow__browser_click mcp__claude-flow__browser_fill mcp__claude-flow__browser_type mcp__claude-flow__browser_press mcp__claude-flow__browser_check mcp__claude-flow__browser_uncheck mcp__claude-flow__browser_select mcp__claude-flow__browser_hover mcp__claude-flow__browser_wait mcp__claude-flow__browser_screenshot mcp__claude-flow__browser_snapshot mcp__claude-flow__browser_get-text mcp__claude-flow__browser_get-title mcp__claude-flow__browser_get-url mcp__claude-flow__browser_get-value mcp__claude-flow__browser_eval mcp__claude-flow__browser_close mcp__claude-flow__browser_session-list mcp__claude-flow__aidefence_is_safe Bash Read Write |
Browser Test
Automated UI testing. Now backed by a recorded RVF session container instead of an ephemeral run, so every test produces a replayable artifact.
When to use
- Verifying UI functionality, user flows, or that frontend changes work in a real browser.
- Producing a baseline session that future regressions can diff against.
- Re-running a stored test session when CI fails (no need to re-author the test).
Steps
- Record the test run by composing
browser-record:
- Allocates an RVF container with
--kind browser-session.
- Begins a ruvector trajectory.
- Drive interactions —
browser_open, browser_click, browser_fill, browser_type, browser_select. Each action emits a trajectory-step.
- Wait for elements / network idle via
browser_wait before assertions.
- Validate with
browser_get-text / browser_get-value / browser_get-title / browser_get-url. Validation outcomes go into findings.md inside the RVF container.
- Screenshot before / after key interactions for visual regression. Filenames follow
<step-id>.png.
- Snapshot the accessibility tree at navigation boundaries.
- End the session:
trajectory-end --verdict pass|fail, rvf compact, AgentDB index in browser-sessions.
- (Optional) Diff against
--against <prior-session-id>: invoke browser-screenshot-diff to compare the new run with a baseline.
Navigation
browser_back / browser_forward for history navigation
browser_reload to refresh the page
browser_scroll to scroll to elements or coordinates
What changed from v0.1.0
- The skill no longer ends with
browser_close alone — it ends with the session-end protocol.
- Selectors discovered during the test land in
browser-selectors (host:intent), so the next test can find them by embedding similarity.
- Validation outputs pass
aidefence_is_safe before any LLM-facing summary; injection-flagged content is quarantined to findings.md.
- The same skill, used in CI, now produces an artifact that
/ruflo-browser replay can re-drive.
Tips
- Use
browser_wait before assertions to handle async rendering.
- For visual regression, save the parent session id and pass
--against <id> on the next run.
- Use
browser_eval for custom JavaScript assertions — but redact any returned strings via the aidefence_is_safe gate before logging.