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
Ready-to-paste message
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-browserOr download just the file:
curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/skills/agent-browser/SKILL.md -o SKILL.mdTechnical 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:
- Confirm the target with
agent-browser get titleandagent-browser get url. - Capture
agent-browser snapshotbefore any extraction or click. - 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.
- 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.
- 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
Comments
- …
More skills from this repository
sample-plugin
Makes your agent create a metadata file for tests. It helps ensure code works correctly in different situations.
nexu-io/open-design
aster-atelier
Helps your agent create an artistic website with a classic look. It uses elegant imagery, blue skies, and serif fonts for a cinematic feel.
nexu-io/open-design
audio-jingle
Makes your agent generate audio like jingles and sound effects. It can create music and voices, saving the result as an audio file.
nexu-io/open-design
blog-post
Helps your agent write long articles or blog posts. It includes space for images, quotes, and author information.
nexu-io/open-design
Similar skills
cpp-testing
Makes your agent write and improve tests for C++ code. It helps set up testing tools and fix errors.
affaan-m/ECC
csharp-testing
Helps your agent create tests for C# and .NET code. It uses best practices to ensure tests are efficient and reliable.
affaan-m/ECC
django-tdd
Enables your agent to apply testing strategies for Django with pytest-django and TDD. It's useful for writing robust tests and ensuring code quality, especially for DRF APIs.
affaan-m/ECC