Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

opencli-browser — Claude Code skill: what it does, how to install

This skill drives Chrome through OpenCLI to inspect pages, use logged-in sites, capture API evidence, and manage native tabs and windows.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add jackwener/OpenCLI --skill opencli-browser -a claude-code
Open on GitHub

What opencli-browser does

opencli-browser gives an agent browser commands through OpenCLI. It can open pages, read interface state, locate elements, fill fields, click controls, select values, upload files, handle dialogs, and wait for XHR, selectors, text, or downloads. The same session name can be reused across a task.

Page work uses sessions, while a Chrome profile can be selected when needed. Results come back as JSON with data or error fields. The network commands expose captured request keys, response shapes, and raw bodies; static analysis adds API candidates from loaded scripts, with source locations and observed evidence. Those candidates still need checking. opencli doctor helps diagnose a connection problem.

Install it when an agent must inspect a live site or repeat actions in a logged-in Chrome session. It is a poor fit for tasks that do not involve Chrome or OpenCLI.

What it helps with

  • inspect a page in a logged-in Chrome session
  • locate a control and fill a form
  • capture API request keys and response bodies
  • take a screenshot after an interaction
  • create and group native Chrome tabs

Example prompts for the agent

  • Open the site with `opencli browser open`, reuse the `research` session, and inspect its state.
  • Find the Search button by role and name, click it, and wait for the XHR response.
  • List the page requests, then inspect one with `opencli browser network --detail`.

How to install opencli-browser

1Skills CLI (Vercel)

npx skills add jackwener/OpenCLI --skill opencli-browser -a claude-code

2Manually: put the files in place

~/.claude/skills/opencli-browser/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/opencli-browser/

From the same set3

The whole set →

Similar

browser-act BrowserAct A skill that hands your agent a browser CLI: navigate, wait for JavaScript, pull data, fill forms, take screenshots. Useful when plain fetch falls short. Claude Code CX Codex Cursor +1 108,300installs browser-act-skill-forge BrowserAct Explores a website through browser-act and forges a skill package with SKILL.md and Python scripts. Later runs skip the exploration step. Claude Code CX Codex Cursor +1 85,200installs watch bradautomates Analyzes a video from a URL or local path, collects frames and a transcript, then lets the agent answer questions about the footage. Useful for video review inside an IDE. Claude Code CX Codex Cursor +1 17,100installs anysearch anysearch-ai This skill gives an agent web search, domain-specific queries, parallel batch search, and page extraction. Use it when a task needs current information or a claim needs checking. Claude Code CX Codex Cursor +1 38,500installs agent-browser vercel-labs A CLI skill for browser control: it opens pages, fills forms, clicks buttons, and tests web apps. Use it when an agent needs to act inside a website. Claude Code CX Codex Cursor +1 1,200,000installs webapp-testing official anthropics This skill tests local web apps with Playwright, helping agents debug UI behavior, capture screenshots, and inspect browser logs. Claude Code Claude.ai 186,758installs computer-use stablyai This skill drives a visible app window through orca computer: accessibility tree, clicks, typing, screenshots. Reach for it when the job sits behind a GUI. Claude Code CX Codex Cursor +1 239,000installs browser-use browser-use Hands the agent a real Chrome over CDP: clicks, typing, screenshots, and pages that need JS or your logged-in session. Claude Code CX Codex Cursor +1 98,100installs

Questions about opencli-browser

How do I install opencli-browser in Claude Code?

Run npx skills add jackwener/OpenCLI --skill opencli-browser -a claude-code. The skill file is placed at ~/.claude/skills/opencli-browser/SKILL.md.

What does opencli-browser do?

It drives Chrome through OpenCLI, inspects pages, interacts with elements, captures network evidence, and manages tabs, groups, and windows.

Which platforms support opencli-browser?

The skill supports Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, and OpenCode.

Source text

SKILL.md · Apache-2.0
---
name: opencli-browser
description: Drive Chrome with OpenCLI to inspect pages, interact with logged-in sites, capture API evidence, and manage native tabs, groups and windows. For reusable adapters, see opencli-adapter-author.
allowed-tools: Bash(opencli:*), Read, Edit, Write
---

# Browser tools for agents

Use the capability that fits the task. Discover commands with `opencli list <query>`;
read exact arguments with `opencli browser <command> --help -f json`.
Run `opencli doctor` when diagnosing a connection problem.

## Scope and results

Page commands require `--session <name>`. Reuse that name across a task; different
sessions isolate page work. `--profile <name>` selects a Chrome profile when needed.
Options can follow command arguments:

```sh
opencli browser open https://example.com --session research
opencli browser state --session research
opencli browser click --role button --name Search --session research
opencli browser close --session research
```

Default output is one JSON value: `{ "ok": true, "data": ... }`.
Failures return `{ "ok": false, "error": { "code": "...", "message": "...", "hint": "..." } }`
and a nonzero exit code. Diagnostic logs go to stderr. `network --follow` and
`console --follow` stream one envelope per line. Help, version and shell completion
are inspection/export surfaces; structured help uses `--help -f json`.

Read the returned data and error fields. When `error.outcome` is `unknown`, inspect
the affected state before retrying a write.

## Page targets and interaction

- `state` returns URL and interactive element refs. `--diagnostics` also reports
  page title and available initial-state globals; `--source ax` selects the AX tree.
- `find` locates elements. Interaction targets accept a ref, CSS selector, or
  semantic flags such as `--role`, `--name`, `--label`, `--text`, `--testid`.
- Use `--nth` to resolve deliberate multiple matches. On stale refs, read fresh
  state or locate the element again; refs describe the observed page.
- `fill` replaces a field and verifies its value; `type` types text. Other actions
  include `click`, `select`, `check`, `upload`, `drag`, `keys` and `dialog`.
- `get text|value|attributes|html`, `extract`, `screenshot` and `eval` expose page data.
  `eval` executes JavaScript in the page and can mutate state.
- `wait xhr|selector|text|download` observes an expected condition. Consult help for
  timeouts and matching rules.
- `tab list|new|select|close` manages session tabs. `--tab` accepts the page identity
  returned by these commands; these are different from numeric native Chrome IDs.
- `frames` lists frame targets; `eval --frame` evaluates in a selected frame.

`bind --session research` attaches the current user tab. Bound sessions permit
navigation but block tab creation, selection and closure. `unbind` releases the
binding without closing the user tab. Owned sessions keep leased tabs until
`close` or idle expiry. `--window foreground|background` controls owned windows.

## Network and scripts

```sh
opencli browser network --session research
opencli browser network --detail RequestKey --session research
opencli browser network --static --session research
```

`network` returns captured request keys and response shapes. `--detail` reads a
cached request; `--filter` selects shapes; `--raw` exposes response bodies.
`--static` adds Acorn AST candidates from loaded scripts, with source locations,
methods, query/body parameter names and observed request evidence. `EXPR` means
an unresolved expression. Static candidates are not executed or proven APIs.
Check `analysisComplete`, script errors, omitted scripts and `networkSource`.
An empty live capture can reuse a recent cache; reported provenance distinguishes it.

## Native Chrome management

Native calls need no session and do not attach a page:

```sh
opencli browser chrome describe
opencli browser chrome describe tabs.group
opencli browser chrome call tabs.query '[{}]'
opencli browser chrome call tabs.group '[{"tabIds":[123,456],"createProperties":{"windowId":10}}]'
opencli browser chrome call tabGroups.update '[789,{"title":"Research","color":"blue"}]'
```

Use numeric IDs returned by Chrome, replacing the example IDs. `describe` lists
supported methods, signatures, live permissions and official documentation.
Native-created tabs/windows persist. Mutations touching active OpenCLI session
tabs or managed groups return `managed_resource_conflict`; ordinary groups can be
created, renamed, recolored, moved and dissolved with `tabs.ungroup`.

© jackwener · Apache-2.0 · jackwener/OpenCLI

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor