Skip to content
Agentmart
Submit a tool

browser

Drive the session's real browser (the 工具箱·浏览器 panel) — open pages, read them as text, click and type, screenshot when layout matters.

Skill by lasertsole

IndexedMIT★ 5
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/lasertsole-browser

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Drive the session's real browser (the 工具箱·浏览器 panel) — open pages, read them as text, click and type, screenshot when layout matters. Use it for any task that needs a LIVE web page instead of web_search snippets.

Use cases: productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/browser

What's inside

Skill name
browser
Description
Drive the session's real browser (the 工具箱·浏览器 panel) — open pages, read them as text, click and type, screenshot when layout matters. Use it for any task that needs a LIVE web page instead of web_search snippets.
License
MIT
Instructions
59 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Browser

The session's browser is a real Chromium page, shown in the right sidebar's
工具箱·浏览器 panel. **The user sees the same page and can take over at any
moment** — your clicks and theirs land on the same tab. Treat it like a pair
programming session: act in small, verifiable steps.

The tool family: `browser(action="navigate"|"snapshot"|"click"|"type"|"press"|"scroll"|"screenshot")`
(+ `browser_evaluate`, a separate tool present only when the escape hatch is enabled).

## The loop that works: snapshot → act → verify

1. `browser(action="navigate", url=...)` — opens the page (the first call creates it).
2. `browser(action="snapshot")` — read the page: its text, plus interactive elements
   numbered `[e1] [e2] …`. **This is how you see the page.**
3. Act on a ref: `browser(action="click", ref="e5")`,
   `browser(action="type", text=…, ref="e3")`.
4. After any page-changing action, snapshot again before deciding the next
   step — do not act twice on one snapshot.

## Rules that save the most time

- **Refs die on navigation** (and often after a click that reloads or reroutes).
  An `unknown ref` error means exactly one thing: take a fresh snapshot.
- **Text beats screenshots.** The snapshot's text is the readable page content
  and its element list gives you the handles; screenshots cost far more tokens
  and are for layout/visual questions only ("does it overlap", "what does the
  icon look like"). When you do need to look at one, `browser(action="screenshot")`
  returns the image ITSELF when the serving model reads images natively — look
  at it directly, never route that through a skill; when the result is the
  saved PNG path instead (a model without native vision), view it with the
  `image_to_text` skill (run its script via the `terminal` tool).
- **Scroll, don't demand.** Long pages are truncated in the snapshot; scroll
  (`browser(action="scroll", delta_y=600)`) and snapshot again rather than
  retrying with a huge `max_elements`.
- **Search boxes**: `browser(action="type", text="…", ref="e2", submit=True)`
  presses Enter for you.
- **Forms**: type into refs in order, then click the submit ref and snapshot to
  confirm what happened (a validation error is a normal outcome).
- **Cookies/login walls are the user's calls.** When a page demands credentials
  or a CAPTCHA, stop and ask (the `question` tool) — the user can take the page
  over in the panel and log in themselves; their session persists in the
  browser profile.
- **Multi-step flows**: one snapshot, one action, one verify. If two actions
  need the same knowledge, you are missing a snapshot in between.

## Escape hatch (`browser_evaluate`, when enabled)

For what the typed tools cannot express: extracting a table as JSON, reading a
computed value, scrolling inside an inner container. It runs in the page and
can change it — same caution as clicking. Prefer a snapshot when it suffices.

## When this feature is off

The tools above simply do not exist (the feature is opt-in and off by default).
Do not pretend to browse: say the browser feature is disabled and that turning
it on is `SHERRY_BROWSER_AGENT_ENABLED=1` plus a server restart.

From lasertsole/sherry_agent, MIT.

More from lasertsole/sherry_agent

Signals

Stars
5
Forks
1
Open issues
0
Last commit (this folder)
Oct 18, 2026 (10 days ago)
Last release
Oct 18, 2026 (10 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from lasertsole

Cite this page

browser skill. Agent Mart. https://agentmart.dev/skills/lasertsole-browser (last updated 2026-10-24)