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
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.
About
Use cases: productivity
Reviews
Write a reviewNo 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
- 0.624score
heartbeat
lasertsole
Periodic wake-up service that checks HEARTBEAT.md for pending tasks and executes them automatically.
SkillAFreshness: A★ 5Claude Code +9 - 0.620score
code-wiki
lasertsole
Generate wiki docs + Mermaid diagrams for any codebase.
SkillAFreshness: A★ 5Claude Code +9 - 0.618score
cron
lasertsole
Schedule reminders and recurring tasks.
SkillAFreshness: A★ 5Claude Code +9 - 0.617score
multimodal_rag
lasertsole
Private knowledge base for indexing multimodal files or folders into a knowledge graph, supporting multi-hop graph retrieval
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
taskflow
lasertsole
Durable multi-step task flows with optimistic locking, detached subagent step dispatch, waiting and idempotent resume via the taskflow_* tool family
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
bugfix-contract
lasertsole
Synthesize a bug's behavior contract before patching: a behavior matrix from the issue, every visible assertion on the same behavior, conflicts resolved in…
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
todolist
lasertsole
Session-scoped task tracking with delegation routing and TaskFlow-backed DAG execution.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
ulw-execute
lasertsole
Orchestrator execution doctrine.
SkillAFreshness: A★ 5Claude Code +9 - 0.615score
image_to_text
lasertsole
Recognize and describe the content of an image.
SkillAFreshness: A★ 5Claude Code +9 - 0.612score
video_text_to_text
lasertsole
Describe/transcribe video content (such as .mp4, .mkv, .avi) into text.
SkillAFreshness: A★ 5Claude Code +9 - 0.612score
speech_to_text
lasertsole
Transcribe speech (such as .mp3, .wav, .ogg) into text.
SkillAFreshness: A★ 5Claude Code +9 - 0.611score
llm-wiki
lasertsole
Karpathy's LLM Wiki: build/query interlinked markdown KB.
SkillAFreshness: A★ 5Claude Code +9
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
- Repository
- github.com/lasertsole/sherry_agent
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lasertsole
- 0.624score
heartbeat
lasertsole
Periodic wake-up service that checks HEARTBEAT.md for pending tasks and executes them automatically.
SkillAFreshness: A★ 5Claude Code +9 - 0.620score
code-wiki
lasertsole
Generate wiki docs + Mermaid diagrams for any codebase.
SkillAFreshness: A★ 5Claude Code +9 - 0.618score
cron
lasertsole
Schedule reminders and recurring tasks.
SkillAFreshness: A★ 5Claude Code +9 - 0.617score
multimodal_rag
lasertsole
Private knowledge base for indexing multimodal files or folders into a knowledge graph, supporting multi-hop graph retrieval
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
bugfix-contract
lasertsole
Synthesize a bug's behavior contract before patching: a behavior matrix from the issue, every visible assertion on the same behavior, conflicts resolved in…
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
taskflow
lasertsole
Durable multi-step task flows with optimistic locking, detached subagent step dispatch, waiting and idempotent resume via the taskflow_* tool family
SkillAFreshness: A★ 5Claude Code +9
Cite this page
browser skill. Agent Mart. https://agentmart.dev/skills/lasertsole-browser (last updated 2026-10-24)