Skip to content

Guide · Agent skill

How to use the agent-browser agent skill: browse, click and extract

Updated · written with AI from the project's own documentation and checked against our catalogue data

The agent-browser skill teaches an AI agent to control a real web browser from the command line. Once it is installed, the agent can open a page, read its interactive elements, click, fill in forms, extract text, save screenshots or PDFs, and wait for pages to load. This guide explains what the skill does, how to install it, how to ask for it in plain language, and the safety limits to know before you use it.

Browser Automation with agent-browsernanocoai/nanoclaw · MIT

Quick start

  1. 1Get the skill file. Download the ZIP from this page and unzip it to get the skill folder containing SKILL.md.
  2. 2Place it in the skills folder. Copy the folder into ~/.claude/skills/, or into a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
  3. 3Make the command-line tool available. Install the agent-browser command-line tool on your system, since the skill's source does not say how to do this.
  4. 4Ask for a web task in plain language. Describe the site, the fields or data involved and the result you want.
  5. 5Let the agent open and snapshot the page. The agent runs open and snapshot -i to list elements with reference IDs such as @e1.
  6. 6Review actions and results. Check the snapshots, screenshots or extracted text the agent reports before relying on them.

What does the agent-browser skill let an agent do?

The skill gives an agent a set of browser commands it can run through a Bash shell. Its description says it is for researching topics, reading articles, interacting with web apps, filling forms, taking screenshots, extracting data and testing web pages. It is meant to be used whenever a browser would help the task, not only when you explicitly ask for one.

The skill works in a loop: open a URL, take a snapshot that lists interactive elements with reference IDs such as @e1 and @e2, act on those references, then take a new snapshot after the page changes.

  • Navigate: open, back, forward, reload and close pages
  • Read the page: snapshot, get text, get attr, get title, get url
  • Interact: click, fill, type, press, select, check, scroll and upload files
  • Capture: screenshots and PDF output
  • Wait: for an element, text, URL pattern, or network idle

How do you install the agent-browser skill?

Download the ZIP file from this page and unzip it. For a personal setup, place the unzipped skill folder in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder. Alternatively, in the Claude apps, open Settings, then Capabilities, then Skills, and upload the skill there.

The skill ships as a single file, SKILL.md. The skill itself does not install the underlying tool. Its source does not say how to install the agent-browser command-line tool, so you must make sure that tool is available on your system before the agent can use the skill.

  • Option A: unzip into ~/.claude/skills/ for all your projects
  • Option B: unzip into a project's .claude/skills/ folder for that project only
  • Option C: upload through Settings → Capabilities → Skills in the Claude apps

How do you trigger the skill with a natural request?

You do not need special syntax. Describe the web task in ordinary language, and the agent can choose this skill when a browser is useful. Be specific about the site and the result you want, for example the page to open, the fields to fill, or the data to collect.

Because the description says to use the skill whenever a browser would be useful, a request to check a page or pull information from a site is a good trigger even if you never mention a browser.

  • Check my staging page at the given URL and tell me whether the signup form submits without errors.
  • Open this product listing and extract the title and link of each item into a list.
  • Fill in this registration form using the details I provide, then take a screenshot of the confirmation page.
  • Research what this article says about pricing and summarise the key points.

What does a typical browser session look like?

The basic pattern is open, snapshot, interact, then re-snapshot. The snapshot step is important because the reference IDs come from the current page, so after navigation or a large change in the page you should take a new snapshot before acting again. The skill's example below shows a form submission from start to finish.

  • Use snapshot -i to get only interactive elements (the source calls this recommended)
  • Use snapshot -s with a CSS selector to limit output to one section of the page
  • Use find with role, text, label or placeholder when you prefer semantic locators to refs
agent-browser open https://example.com/form agent-browser snapshot -i # Output shows: textbox "Email" [ref=e1], textbox "Password" [ref=e2], button "Submit" [ref=e3] agent-browser fill @e1 "user@example.com" agent-browser fill @e2 "password123" agent-browser click @e3 agent-browser wait --load networkidle agent-browser snapshot -i # Check result

How do you extract data or wait for a page safely?

For data extraction, open the page, snapshot it, then use get commands on the references you found. You can also save a screenshot for a record. For waiting, prefer the built-in wait subcommands. Only fall back to polling with eval when you must wait on a custom JavaScript condition, and always bound that loop with a timeout and a maximum number of attempts.

The skill warns that an unbounded wait loop can hang an agent turn indefinitely. If a wait times out, take a snapshot or screenshot to see the actual page state rather than retrying the same wait.

  • Built-in waits: wait @e1, wait 2000, wait --text "Success", wait --url "**/dashboard", wait --load networkidle
  • If you need a custom condition, cap it with both a timeout and a loop counter
agent-browser open https://example.com/products agent-browser snapshot -i agent-browser get text @e1 # Get product title agent-browser get attr @e2 href # Get link URL agent-browser screenshot products.png

What are the safety limits?

This skill runs scripts and uses the network, and it controls a real browser that can click, submit forms and upload files. Treat it accordingly. It is not a sandboxed or read-only research tool.

The skill can save login state to a file named auth.json and can fill in passwords. That creates a credential exposure risk, so do not use it for sensitive logins or banking tasks. Keep the agent away from environments where it should not reach the internet, since the skill browses live websites.

  • Do not use it for banking or other sensitive logins
  • Saved session state (auth.json) can contain login credentials; protect that file
  • Only point it at sites you are allowed to access and automate
  • Review what an agent is about to submit or upload before it acts

What people use it for

  • Test a web app you are building by filling its form and checking the result page
  • Pull product titles and links from a listing page into a list
  • Read an article and gather the facts you need for research
  • Complete a repetitive web form using details you supply
  • Save screenshots or a PDF of a page as a record

Frequently asked questions

How do I install the agent-browser skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills. The skill's source does not explain how to install the underlying agent-browser command-line tool, so that needs to be set up separately.

What does the agent-browser skill require?

It needs the agent-browser command-line tool available on the system and Bash shell access, as set by allowed-tools: Bash(agent-browser:*). The skill runs scripts and uses the network.

Is the agent-browser skill free?

The skill is listed under the MIT licence. The source does not mention pricing, so check the licence terms in the source repository for details on use and redistribution.

Is agent-browser safe to use for logging into accounts?

Use caution. The skill can save session state to auth.json and fill in passwords, which creates a credential exposure risk. It is not recommended for sensitive logins or banking tasks.

Why does the agent need to take a snapshot again?

Element reference IDs such as @e1 come from the current page. After navigation or a significant change in the page structure, the skill's workflow says to take a new snapshot before interacting again.

What should I do if a wait times out?

Do not retry the same wait. Take a snapshot or screenshot to see the actual page state, report what you found, and decide the next step. The skill warns that unbounded wait loops can hang an agent turn.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits developers who want an agent to check a web app they are building, researchers who need data pulled from websites, and people with repetitive web form work. It is a poor choice for sensitive logins or banking, for environments that must stay offline, or for anyone who needs a sandboxed read-only research tool, because the browser can click, submit and upload.

Download the skill

Find exactly what
you're looking for