browser

Drives real web pages through deferred browser tools for navigation, form filling, and DOM inspection.

10|1|Updated Jul 7, 2026
One-click install
npx skills add https://github.com/catalystctl/catcode --skill browser-catalystctl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: browser
Source: https://github.com/catalystctl/catcode/tree/main/.catalyst-code/skills/browser
Command: npx skills add https://github.com/catalystctl/catcode --skill browser-catalystctl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Agents often need to interact with live web pages—navigating, clicking, filling forms, and reading the DOM—but lack clear rules for when and how to use native browser automation tools. This Skill provides the selection manual and core loop for the deferred browser_* tool group backed by WRY or Chromium CDP. ## Core Features & Use Cases - Structured Core Loop: Defines the canonical sequence of create, navigate, snapshot, interact, wait, and close for reliable page automation. - Selection Rules: Ten concrete rules covering snapshot timing, element refs over CSS/XPath, fill vs. type, wait vs. polling, and human takeover via browser_show for CAPTCHA or OAuth. - Honest Capability Status: Documents exactly which tools are wired (click, fill, screenshot on Linux/WebKitGTK) versus not wired (tabs, cookies, network observation), preventing false claims. - Use Case: An agent must log into a web dashboard and extract a report. It loads the browser tool group, follows the core loop, uses element refs from snapshots, and calls browser_show when a login CAPTCHA requires human takeover. ## Quick Start Ask the agent to load the browser tools and navigate to a page, take a snapshot, and fill in a login form.

Frequently Asked Questions about browser

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate web page interactions with the browser tools?

Load the deferred browser tool group, then follow the core loop: browser_create, browser_navigate with wait_until=dom_stable, browser_snapshot, then browser_fill or browser_click, browser_wait, and browser_close. Snapshot again after any meaningful DOM change.

What is the difference between browser_fill and browser_type?

Use browser_fill for full field replacement when you want to set an input's entire value at once. Use browser_type when individual keystrokes matter, such as triggering keydown handlers or autocomplete behavior.

Does the browser tool work on headless Linux servers?

Yes. When DISPLAY and WAYLAND_DISPLAY are unset, the runtime auto-starts a private Xvfb if the binary is on PATH, so screenshots and page paint work without xvfb-run. Otherwise browser_create fails with a clear install-xvfb error.

Which browser features are not wired yet?

Not wired: tabs, cookies and storage, console/errors/network observation, downloads, file upload, drag, extract, get_element, forward, and stop. Screenshot works only on Linux via WebKitGTK; Windows and macOS screenshot remain unsupported.

Why does browser automation fail with BROWSER_UNAVAILABLE?

The runtime needs host packages: Chromium or Chrome for CDP builds, or WebKitGTK plus GTK and Xvfb on Linux and WebView2 on Windows for WRY. Run the /browser preflight or Settings → Safety → Native browser to diagnose and install.