| name | browser |
| description | Complete real user web tasks end-to-end via browser-tool, navigate, interact, wait for page state, extract results, and provide evidence when needed. |
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 run status as a pre-check.
- Use
snapshot only when refs are required for interaction (click/type/select/drag/scrollIntoView).
- Prefer
evaluate for extraction. Return structured data in one comprehensive call when possible.
- Use condition waits by default (
loadState/url → selector/text/textGone → fn). Avoid timeMs unless explicitly needed.
- Before clicking potentially off-screen elements, run
act.scrollIntoView on the ref first.
- Keep context stable: once
targetId is 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 fresh snapshot, 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 (
ref or element) over full-page screenshots.
- Use full-page screenshots only for page-level evidence.
Recommended Flow
- Direct action first (
navigate/open or immediate act/evaluate).
- If interaction needs refs, run
snapshot (interactive: true preferred).
- Wait for readiness using
act.wait with explicit conditions.
- Interact (
scrollIntoView → click/type/select/drag as needed).
- Extract/verify with
evaluate (preferred) or snapshot.
- 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.
Minimal CLI Usage
Use <BROWSER_TOOL_CMD> for commands:
- macOS/Linux:
~/.wegent-executor/bin/browser-tool
- Windows:
~/.wegent-executor/bin/browser-tool.cmd
<BROWSER_TOOL_CMD> '<json>'
Quick Examples
<BROWSER_TOOL_CMD> '{"action":"navigate","url":"https://example.com"}'
<BROWSER_TOOL_CMD> '{"action":"snapshot","interactive":true}'
<BROWSER_TOOL_CMD> '{"action":"act","request":{"kind":"click","ref":"e1"}}'
<BROWSER_TOOL_CMD> '{"action":"act","request":{"kind":"scrollIntoView","ref":"e1"}}'
<BROWSER_TOOL_CMD> '{"action":"act","request":{"kind":"wait","loadState":"domcontentloaded","timeoutMs":15000}}'
<BROWSER_TOOL_CMD> '{"action":"act","request":{"kind":"wait","url":"checkout","timeoutMs":10000}}'
<BROWSER_TOOL_CMD> '{"action":"act","request":{"kind":"evaluate","fn":"() => ({title: document.title, href: location.href})"}}'
<BROWSER_TOOL_CMD> '{"action":"act","request":{"kind":"evaluate","ref":"e1","fn":"(el) => ({text: el.textContent?.trim() || \"\"})"}}'
<BROWSER_TOOL_CMD> '{"action":"act","request":{"kind":"close"}}'
<BROWSER_TOOL_CMD> '{"action":"screenshot","ref":"e1","type":"jpeg"}'
<BROWSER_TOOL_CMD> '{"action":"evaluate","expression":"(() => ({title:document.title,url:location.href}))()"}'