Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/wecode-ai/wegent/browsernpx skills add wecode-ai/Wegent --skill browsergit clone --depth 1 https://github.com/wecode-ai/WegentWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00032 | $0.00980 |
| Opus 5 | $0.00016 | $0.00490 |
| Sonnet 5 | $0.00006 | $0.00196 |
| Haiku 4.5 | $0.00003 | $0.00098 |
Grade A, and why
browser scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Browser Control Skill
Goal
Finish the user’s real task reliably.
Prioritize successful completion and correct results over aggressive call minimization.
Operating Rules
- Start with the intended action directly (
navigate/open/act/evaluate). Do not runstatusas a pre-check. - Use
snapshotonly when refs are required for interaction (click/type/select/drag/scrollIntoView). - Prefer
evaluatefor extraction. Return structured data in one comprehensive call when possible. - Use condition waits by default (
loadState/url→selector/text/textGone→fn). AvoidtimeMsunless explicitly needed. - Before clicking potentially off-screen elements, run
act.scrollIntoViewon the ref first. - Keep context stable: once
targetIdis known, pass it in follow-up calls when supported. - Avoid blind loops: every extra call must have a clear purpose.
Reliability and Recovery
- If
Ref not found, do not reuse stale refs. Take one freshsnapshot, retry once, then stop if still failing. - For repeated failures with the same cause, stop and explain the blocker clearly instead of retrying endlessly.
- Connection recovery is built into the tool. Allow auto-recovery once; if still disconnected, instruct user to install/connect extension.
Screenshot Policy
- Default: no screenshot.
- Use screenshots only when user asks, or when visual proof is required.
- Prefer element screenshots (
reforelement) over full-page screenshots. - Use full-page screenshots only for page-level evidence.
Recommended Flow
- Direct action first (
navigate/openor immediateact/evaluate). - If interaction needs refs, run
snapshot(interactive: truepreferred). - Wait for readiness using
act.waitwith explicit conditions. - Interact (
scrollIntoView→click/type/select/dragas needed). - Extract/verify with
evaluate(preferred) orsnapshot. - Provide screenshot evidence only when necessary.
Connection Handling
Connection recovery is built into the tool. On connection failure, let the tool auto-attach/launch/retry once. If still disconnected, stop and instruct the user to install/connect the extension.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 96 lines · 32 tokens per session scan A 13323cee9ddd
browser is a skill published in the GitHub repository wecode-ai/Wegent (747 stars, last pushed 2d ago), licensed Apache-2.0. It adds 32 tokens to every session and 980 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
canvas
Display, present, and render HTML content on connected Otto nodes (Mac app, iOS, Android). Show on device, preview on mobile, push to screen, or navigate to a URL on any connected node. Use for games, visualizations, dashboards, interactive demos, and live-reloading development previews. Supports presenting, hiding…
ha-browser
Hope Agent browser automation — the standard status → tabs → snapshot → act loop, stale-ref recovery rules, and what to do when login / 2FA / captcha / camera-prompt / dialog blocks progress. Load this skill whenever you reach for the browser tool. Trigger on: user asks the agent to open / control / click / scrape /…
web-access
复杂 web 任务的方法论与跨 session 站点经验库。Use when:抓取反爬或需登录态的平台(小红书、微信公众号、微博、推特、知乎等)、 目标站点结构未知需要边看边探索、多来源交叉核实信息、分析页面里的图片/视频内容、并行调研多个独立来源、 或 websearch/webfetch 拿不到目标内容需要升级到真实浏览器时。 简单的已知 URL 抓取或单步页面操作(无登录/反爬因素)不需要加载本 skill——直接用 webfetch / browser 工具即可。.
in-app-browser
Proma 内嵌受管浏览器使用指南。当用户要求打开、展示、访问、浏览或操作网页,或提到小红书、X/Twitter、LinkedIn、BOSS 直聘、登录后站内搜索、动态页面、截图或本地 HTML/React 预览时使用。对邮件、消息、文档、项目管理等已有匹配专用 MCP/API/CLI 的服务,必须优先使用专用工具;仅在没有匹配工具、工具无法完成当前能力、网络搜索工具不可用或无法取得足够好的结果、或用户明确要求网页时改用 Browser。浏览器工具出现在当前工具列表时,必须先阅读本 Skill 再进行网页操作;不要因为工具直接可见就跳过。.
playwright
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli or the bundled wrapper script.
agent-browser
使用此技能进行浏览器自动化操作,包括网页抓取、表单填写、UI 测试和任何 Web 交互任务。.