Skip to content
Skillpedia
Testing101k · #660

agent-browser

Makes your agent control the browser to test websites. It can fill forms, click buttons, and take screenshots.

What it does

This agent helps control your web browser. It can open pages, fill out forms, click buttons, and take screenshots to check if everything is working as expected.

When to use it

  • ✓Checking if a website is working correctly after an update.
  • ✓Testing if a form on a website fills in the right information.
  • ✓Capturing an image of a web page to show what it looks like.

Example of what to ask your AI

“Take a picture of this website's homepage and tell me its title.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/nexu-io/open-design/blob/main/skills/agent-browser/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/nexu-io/open-design/blob/main/skills/agent-browser/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

It works by connecting to your browser and giving it commands like 'click here' or 'type this'. It can even extract specific information from the page.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add nexu-io/open-design --skill agent-browser

Or download just the file:

curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/skills/agent-browser/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Agent Browser

Use agent-browser for local OpenDesign preview validation: inspect rendered state, click/type when requested, and capture one screenshot when visual evidence matters. Keep the browser local-first unless the user explicitly asks for external browsing.

When the run prompt contains selected workspace context, prefer the selected browser tab URL/title as the target. Treat user phrases like "this page", "the current browser", "right-side tab", "extract the logo", "get the palette", "take an element screenshot", or "check OG/a11y" as requests about that selected tab unless the user names another target.

Requirements

Verify the CLI before doing any browser work:

command -v agent-browser

If missing, stop and tell the user to install it:

npm i -g agent-browser
agent-browser install

Do not replace the CLI with ad hoc browser scripts.

Context Hygiene

Never print full upstream guides into chat or tool output. Save them to temp files and extract only task-relevant lines:

AGENT_BROWSER_CORE="${TMPDIR:-/tmp}/agent-browser-core.$$.md"
agent-browser skills get core > "$AGENT_BROWSER_CORE"
rg -n "cdp|connect|snapshot|screenshot|click|type|wait|get title|get url" "$AGENT_BROWSER_CORE"

Use agent-browser skills get core --full only when needed, and redirect it to a temp file the same way.

Browser Context Extraction

For selected OpenDesign browser tabs and browser-use/browser-harness-style tasks, collect the smallest useful evidence first:

  1. Confirm the target with agent-browser get title and agent-browser get url.
  2. Capture agent-browser snapshot before any extraction or click.
  3. For visual evidence, save a page screenshot and, when the core guide exposes an element-screenshot command, capture the specific element instead of a cropped full page.
  4. For logos, fonts, colors, images, motion code, OG metadata, page structure, and accessibility checks, prefer DOM/CSS/accessibility evidence from the attached browser over guessing from the rendered screenshot alone.
  5. If the selected OpenDesign context only provided a URL/title and no browser automation tool is attached, say that directly and do not invent page internals.

Save extracted design evidence as compact notes or assets in the project when the user is building from the reference. Do not paste full page HTML or large asset dumps into chat; summarize the relevant selectors, tokens, URLs, and screenshots.

CDP Startup Contract

agent-browser must attach to an existing CDP endpoint. Never run agent-browser open before agent-browser connect; doing so can make the CLI auto-launch Chrome and re-enter the crash path.

Do not run OpenDesign's own daemon CLI as a browser automation tool. Commands such as od browser snapshot, daemon-cli.mjs browser snapshot, or $OD_NODE_BIN $OD_BIN browser snapshot are not valid browser tools; they can be misinterpreted as daemon startup and open an internal 127.0.0.1:<port> service in the system browser. Use the external agent-browser CLI attached to CDP instead.

Use this sequence:

if ! curl -fsS http://127.0.0.1:9223/json/version | rg -q webSocketDebuggerUrl; then
  open -na "Google Chrome" --args \
    --remote-debugging-port=9223 \
    --user-data-dir=/tmp/od-agent-browser-chrome \
    --no-first-run \
    --no-default-browser-check

  for i in {1..20}; do
    if curl -fsS http://127.0.0.1:9223/json/version | rg -q webSocketDebuggerUrl; then
      break
    fi
    sleep 0.5
  done
fi

curl -fsS http://127.0.0.1:9223/json/version | rg webSocketDebuggerUrl
agent-browser connect http://127.0.0.1:9223

If CDP is still unavailable after polling, stop and ask the user to launch Chrome manually from Terminal:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --remote-debugging-port=9223 \
  --user-data-dir=/tmp/od-agent-browser-chrome \
  --no-first-run \
  --no-default-browser-check

If Chrome exits before CDP is ready or reports DevToolsActivePort, report: "Chrome crashed before CDP became available; start Chrome manually with --remote-debugging-port and retry attach."

Lightpanda is optional. Do not try --engine lightpanda unless command -v lightpanda succeeds.

OpenDesign Smoke Path

Use a temp home and stable session:

export HOME=/tmp/agent-browser-home
export AGENT_BROWSER_SESSION=od-local-preview

…

FAQ

Do I need to install anything?

Yes, you need to install 'agent-browser' on your computer. The agent can guide you through this process.

Can it open any website?

It's optimized for checking local design previews but can be used to interact with other websites as well.

What is CDP?

CDP stands for 'Chrome DevTools Protocol'. It's a way for the agent to communicate with and control the browser.

Details

Original description by the author

Browser automation CLI for AI agents. Use when the user needs to inspect, test, or automate browser behavior: navigating pages, filling forms, clicking buttons, taking screenshots, extracting page data, reading selected OpenDesign browser-tab context, testing web apps, dogfooding OpenDesign previews, QA, bug hunts, or reviewing app quality. Prefer local OpenDesign preview URLs unless the user expl

repo: nexu-io/open-design

Popularity

GitHub stars
101k
Ranking position
#660
License
Apache-2.0
Updated
10/16/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills