Control web pages: tabs, clicks, forms, downloads, screenshots; host or Docker browser.
65
82%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Use this skill after the compact browser tool prompt points you here. It is the progressive-disclosure workflow guide for rendered pages, multi-step browser work, logins, downloads, JavaScript-heavy sites, screenshots, host/container browser mode, and visual inspection. Prefer search_engine or document_query for plain text research.
For fragile forms, load browser-form-workflows with skills_tool:load before acting when selects, checkboxes, radios, file uploads, contenteditable fields, validation, or final submission state are central to the task.
open creates a browser tab and returns a browser_id.content returns readable markdown plus typed refs like [link 3], [button 6], [input text 8].click, type, submit, scroll, etc.; iframe/shadow targets may return frame-chain metadata in action results.navigate on an existing browser_id for serial browsing.list first, match by title or currentUrl, then use set_active or navigate on that browser_id instead of opening a new tab.When the user asks for "my browser", "host browser", "local browser", a local Chromium browser, or opening a URL in their host browser, use this browser tool. Do not substitute computer_use_remote, code_execution_remote, xdg-open, sensible-browser, or Python webbrowser.open. If setup fails and mentions remote debugging, tell the user to open the browser inspect page, such as chrome://inspect/#remote-debugging or opera://inspect/#remote-debugging, enable "Allow remote debugging for this browser instance", run /browser host on, and retry.
The same tool may run in Docker container mode or A0 CLI host-browser mode, depending on project/plugin settings.
In host mode, page content and screenshots may be blocked by host-content policy when remote models are active.
Screenshots are explicit only; the browser does not automatically load images into model context.
browser with action: "screenshot".vision_load with the returned vision_load.tool_args.paths value.Screenshot args include quality, full_page, and optional path. Without path, the screenshot is saved as a chat-scoped artifact and returned through vision_load.tool_args.paths; with path, PNG is used when path ends with .png, otherwise JPEG is used.
select_option works for native selects and detectable ARIA listbox/combobox controls; pass one choice via value or several via values.set_checked works for checkbox, radio, switch, and toggle-like refs; pass the desired state via checked.upload_file works for file input path or multiple paths, file input refs or associated labels; verify files exist in the active browser environment.skills_tool with action: "load" and skill_name: "browser-form-workflows", then follow that form-specific workflow before filling or submitting.ref from the latest content output; hover, double_click, right_click, and drag also accept viewport coordinates when no reliable ref exists.x/y position the pointer; drag adds destination to_x/to_y or destination target_ref; element-relative offsets use offset_x/offset_y and drag target_offset_x/target_offset_y.mouse sends raw pointer input with event_type (default click) plus x/y and button.click with modifiers (e.g. "Control") alters the click; focus_popup: true targets an auto-registered popup window.key_chord presses keys in order and releases in reverse; keyboard types text or presses a single key.content narrows extraction via selector or a list of selectors.evaluate runs JavaScript in the page via script and returns the evaluated result.list before retrying a closed tab. Host evaluation requires an updated connector; Safari rejects it because its backend cannot forcibly interrupt JavaScript.wheel scrolls by pixel deltas delta_x/delta_y at x/y.clipboard actions are copy, cut, or paste, chosen via clipboard_action; paste inserts text.set_viewport resizes the page viewport via width and height.navigate takes the destination url on an existing browser_id.list shows open tabs; pass include_content: true sparingly.set_active deliberately changes focus.multi is only a browser action, never a top-level tool. Use:
{
"tool_name": "browser",
"tool_args": {
"action": "multi",
"calls": [
{"action": "content", "browser_id": 1},
{"action": "screenshot", "browser_id": 2}
]
}
}Use browser action multi for parallel reads across tabs. Avoid mutating the same tab twice in one batch unless serial order is intended.
e3051fb
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.