All skills
browserbase avatar

/ui-test

@b2ae728 official
by browserbasebrowserbase/skills3.7k stars
240

AI-powered adversarial UI testing via the browse CLI. Analyzes git diffs to test only what changed, or explores the full app to find bugs. Tests functional correctness, accessibility, responsive layout, and UX heuristics. Use when the user asks to test UI changes, QA a pull request, audit accessibility, or run exploratory testing. Supports local browser (localhost) and remote Browserbase (deployed sites).

Use this Skill: https://skilld.dev/gh/browserbase/skills/ui-test

This session only. Nothing lands on disk.

README.md

≈1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

ui-test — Agentic UI Testing Skill

Adversarial UI testing that catches what Playwright can't. Analyzes git diffs to test only what changed, or explores the full app to find bugs. Runs in a real browser via the browse CLI.

Install

npx skills add browserbase/ui-test

Quick Start

"Test the UI changes in my PR"         → diff-driven (Workflow A)
"Explore my app and find bugs"         → exploratory (Workflow B)
"QA the staging site in parallel"      → parallel Browserbase sessions (Workflow C)

How It Works

  1. Analyzes the diff (or explores the app) to decide what to test
  2. Opens a real browser — clean isolated local browser for localhost, Browserbase for deployed sites
  3. Tries to break things — adversarial inputs, rapid clicks, keyboard-only, empty states, XSS
  4. Runs deterministic checks — axe-core, console errors, broken images, form labels
  5. Reports structured results — STEP_PASS|id|evidence or STEP_FAIL|id|expected → actual
  6. Generates an HTML report — standalone file with embedded screenshots, shareable with reviewers

What It Tests

Category How What Playwright Misses
Accessibility axe-core + keyboard nav WCAG violations, focus rings, screen reader semantics
Visual Quality Screenshot + Claude judgment Layout balance, typography, spacing, empty states
Responsive Viewport sweep (375px, 768px, 1440px) Mobile overflow, touch targets, content reflow
Console Health browse eval injection Hydration errors, failed requests, runtime exceptions
Error States Navigate to empty/error states Missing empty states, broken error recovery
Adversarial XSS, empty submit, rapid click, long input Edge cases developers don't write tests for
Exploratory Navigate freely, try to break things Bugs you didn't think to test for

Browser Execution

which browse || npm install -g browse
  • Localhost → browse open <url> --local (no API key needed)
  • Need existing local login/cookies/state on localhost → browse open <url> --auto-connect (requires an existing debuggable local Chrome)
  • Need explicit local CDP attach → browse open <url> --cdp <port|url>
  • Deployed sites → browse open <url> --remote (uses Browserbase cloud browsers)
  • Parallel → BROWSE_SESSION=<name> for independent concurrent sessions

For default localhost QA, pass --local on the first browse open for clean, reproducible runs.

Project Structure

ui-test/
├── SKILL.md                              # Skill definition — workflows, assertion protocol, budget
├── EXAMPLES.md                           # 9 worked examples with exact commands
├── README.md
└── references/
    ├── adversarial-patterns.md           # Adversarial test patterns (forms, modals, nav, keyboard)
    ├── browser-recipes.md                # Copy-paste browse CLI recipes for deterministic checks
    ├── design-consistency.md             # Design consistency checking methodology
    ├── design-system.example.md          # Example design system template (copy to design-system.md)
    ├── exploratory-testing.md            # Guide for agent-driven exploratory QA
    ├── parallel-testing.md              # Parallel testing with named Browserbase sessions
    ├── report-template.html              # HTML report template with embedded screenshots
    └── ux-heuristics.md                  # 6 evaluation frameworks (Laws of UX, Nielsen's, etc.)

Philosophy

Traditional tests verify intentions. This skill finds blind spots.

No YAML files, no generated test suites, no artifacts. The agent reads the diff (or explores the app), opens a browser, tries to break things, and reports what it found. Like a human QA tester with perfect knowledge of every design principle.

Requirements

  • browse CLI (npm install -g browse)
  • For remote testing: BROWSERBASE_API_KEY environment variable
  • A running web app (localhost or deployed URL)

Source: SKILL.md on GitHub

1 warning16d4 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides automated user interface testing scripts and recipes using the `browse` CLI tool. The dependencies and remote script sources specified are well-known and reputable technology entities, and the operations described strictly relate to its core purpose of visual and functional interface verification.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: MEDIUM · 2 issues

  • ZeroLeaks5mo

    2 findings · Score: 80/100

Signed by skilld at b2ae728. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last month.

Activeupdated 5 months ago
metadata
{
  "author": "browserbase",
  "version": "0.4.0"
}
All 1 allowed tools
Bash Read Glob Grep Agent
Other metadata
compatibility
Requires the browse CLI (`npm install -g browse`). For remote testing: BROWSERBASE_API_KEY and cookie-sync skill.

README badge

README badge for browserbase/skills/ui-test