gsd-build / gsd-browser
gsd-browser
Native Rust browser automation CLI for AI agents. Use when the user needs to interact with websites — navigating pages, filling forms, clicking buttons, taking screenshots, sharing a live browser view, narrating browser actions, extracting structured data, running assertions, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "show me the browser", "share the screen", "pause the browser", "step through this", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", "visual regression test", "check for prompt injection", or any task requiring programmatic web interaction.
Preview
Critical Rules
- The daemon auto-starts on browser commands.
daemon healthonly reports state; it does not start a session. Usedaemon startonly when you want to pre-warm or verify daemon lifecycle explicitly. - Always re-snapshot after page changes. Refs are versioned (
@v1:e1). After navigation, form submission, or dynamic content loading, old refs are stale. Rungsd-browser snapshotto get fresh refs. - Use
--jsonwhen parsing output. Use text mode when reading output yourself. Use--jsonwhen you need to extract values programmatically (e.g., checking assertion results, parsing snapshot refs). - Positional args have no flag prefix. Commands like
click,type,hovertake positional args — do NOT add--selector. See exact syntax in command reference below. - Use
batchfor atomic multi-step flows. Batch reduces round trips and keeps pass/fail checks in one call. Use separate commands when you need intermediate output (e.g., snapshot to discover refs). - Use
viewwhen the user wants to watch or direct the browser. The live viewer is an authenticated local workbench with Control, Annotate, Record, and Sensitive modes. Keep CLI
SKILL.md