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.
Want to see if ruvnet/browser-test would activate on your phrasing? Try it before you install — no LLM call, no signup.
Related skills
Other measured skills in the registry, with their headline benchmark lift.
Sign, verify, and track fix-marker regressions over time using a deterministic Ed25519 witness manifest. Works in any project — clone the toolkit, run init, register fixes, regen on each release.