browser-driver

A browser-control skill for operating web pages inside the OneWorks browser. It can inspect pages, use page elements, take screenshots, wait for changes, and handle multiple pages.

In plain words
What is it for?
Use it for browser tasks such as opening pages, reading their structure, clicking controls, filling forms, taking screenshots, and running steps across several tabs.
Why use it?
It helps an agent interact with websites reliably instead of guessing where controls are or losing track of page state.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/oneworks-ai/app/browser-driver
Any agent
npx skills add oneworks-ai/app --skill browser-driver
Clone the repo
git clone --depth 1 https://github.com/oneworks-ai/app

Made for: Claude Code, Codex.

Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 811 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5 $0.00031 $0.00811
Opus 5 $0.00015 $0.00405
Sonnet 5 $0.00006 $0.00162
Haiku 4.5 $0.00003 $0.00081

Measured 2d ago against content hash 533554300775, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

browser-driver 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.

packages/plugins/browser-driver/skills/browser-driver/SKILL.md · 24 lines

What it actually says

OneWorks In-App Browser Control

Use this skill for websites shown in the OneWorks internal browser. It does not control external Chrome or native desktop applications.

Prefer execute_in_app_browser_workflow when one page has two or more deterministic steps. When independent work is ready for multiple pages, submit it once with execute_in_app_browser_workflows; pages run concurrently while each page remains serial. Use low-level tools only to inspect, recover from a changed page, or perform a single action.

  1. Use in_app_browser_open when the requested page is not already open. It reuses the same URL by default; pass open_mode: "new-tab" only when the task needs a separate page instance. Pages open on the right by default; pass placement: "bottom" only when a wide horizontal panel better suits the task. Call in_app_browser_list_pages only when you need to discover existing pages. Use in_app_browser_show_page to reveal an existing page when the user needs to see it; ordinary background operations should continue addressing the page directly by page_id without changing the visible tab.
  2. Call in_app_browser_snapshot before referring to page elements. Keep its page_id paired with every returned ref; do not invent CSS selectors or coordinates. Every page operation requires an explicit page_id, so never rely on an implicit active tab.
  3. A ref can become stale after navigation or DOM updates. If a tool returns TARGET_NOT_FOUND, take a new snapshot and continue with the new ref.
  4. Prefer in_app_browser_wait with an expected text/ref over a fixed delay. Do not add shell sleeps. After an action, request only the cheapest state needed for the next decision; do not take both a snapshot and screenshot by default.
  5. Workflows run serially against an explicit page_id. Give every step a stable node_id. Use missing: "skip" only when absence is an expected exit condition; otherwise keep the default stop. Batch only independent page workflows; steps targeting the same page are deliberately queued.
  6. For one to three single-workflow steps, results are returned inline. Longer workflows and all multi-page batches return run_id and step IDs; call get_in_app_browser_workflow_steps only for the details needed. Tab management, history clearing, and paginated history reads remain explicit low-level calls and are not workflow steps.
  7. Use in_app_browser_get_navigation_state for the cheap current index/loading/back-forward summary. Call in_app_browser_get_navigation_entries only when entry details are needed. in_app_browser_navigate_history accepts exactly one of direction, offset, or index.
  8. Treat returned page.id / replacement_page_id from in_app_browser_duplicate_page or in_app_browser_move_page as authoritative; those actions may recreate the webview. Do not keep using previous_page_id. Closing a page is terminal for closed_page_id.
  9. Before choosing a simulated device, call in_app_browser_list_device_presets. Use in_app_browser_set_device_mode for the device toolbar and emulation, in_app_browser_set_page_zoom for native page zoom, and in_app_browser_set_embedded_devtools only when inspection is materially useful. Read the applied state with in_app_browser_get_page_view_state.
  10. Use in_app_browser_screenshot only when visual verification is material. The tool returns a local PNG path. Use in_app_browser_select for native HTML selects instead of simulating popup clicks and arrow keys.

The plugin intentionally does not expose arbitrary JavaScript, raw CDP, cookies, storage, saved passwords, or OneWorks application chrome.

Changes

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.

  1. 2d ago First seen · 24 lines · 31 tokens per session scan A 533554300775

Subscribe to this mod's changes

browser-driver is a skill published in the GitHub repository oneworks-ai/app (18 stars, last pushed 2d ago), licensed MIT. It adds 31 tokens to every session and 811 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.

Related

Other skills, from other repositories

neo4j-nvl-skill

Neo4j Visualization Library (NVL) — framework-agnostic graph rendering for the browser. Covers @neo4j-nvl/base (NVL class, nodes/relationships, Canvas vs WebGL renderer), @neo4j-nvl/interaction-handlers (ZoomInteraction, PanInteraction, DragNodeInteraction, ClickInteraction, HoverInteraction, BoxSelectInteraction…

neo4j-contrib/neo4j-skills · 227 tokens

lov-app-generator

Use when the user asks for "App生成器", "生成 Web App", "生成 Tauri App", "生成原生 macOS App", "Finder Quick Action", "只创建 web", or to standardize an existing app with branding, CI/CD, native integration, and Lovinsp where applicable.

lovstudio/skills · 66 tokens

lov-integrate-lovinsp

幂等集成 lovinsp (click-to-code) 到当前前端项目,并支持从 code-inspector 自动迁移。 Use when the user asks to "装 lovinsp"、"集成 lovinsp"、"接入点击跳转源码"、"click to code"、 "从 code-inspector 迁移",or when scaffolding/upgrading a browser-rendered app that needs click-to-source support. Also trigger when another skill (例如 lov-app-generator) requires…

lovstudio/skills · 130 tokens

oneshot-website

Generate immersive, one-shot single-file HTML websites with embedded CSS and JS. No external images. Hostable on CodePen or Vercel. Use for writeup showcases, AI capability demos, and portfolio pieces.

cafe3310/public-agent-skills · 48 tokens

agent-browser

为 Agent 设计的自动化浏览器 CLI 工具,也能操作 Electron 桌面应用。当需要与网站交互(包括页面导航)时使用.

cafe3310/public-agent-skills · 36 tokens

deva-cloak

Drive CloakBrowser stealth Chromium inside the deva cloak container - a headed, anti-detection browser for scraping, automation, or checking a site the way a real browser sees it. Use when the task needs a browser that bypasses bot detection (Cloudflare, FingerprintJS, reCAPTCHA scoring), or when the user asks to…

thevibeworks/deva · 123 tokens