Skip to content
cccskills
FreePublished on GitHub

opencli-browser

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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:

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

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:

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

The English summary is being prepared. Showing the original description.

mxyhi/ok-skills500Updated Oct 18, 2026

Build AI chat interfaces using ai-elements components — conversations, messages, tool displays, prompt inputs, and more. Use when the user wants to build a chatbot, AI assistant UI, or any AI-powered chat interface.

The English summary is being prepared. Showing the original description.

mxyhi/ok-skills500Updated Oct 18, 2026

Autonomous iteration loop: modify, verify, keep/discard against any metric

The English summary is being prepared. Showing the original description.

mxyhi/ok-skills500Updated Oct 18, 2026

ax

Free

Use the ax CLI instead of curl + throwaway parsing scripts whenever you fetch a URL, explore an unknown web page, or extract structured data from HTML. Trigger whenever you are about to write an inline script (python3 heredoc, node -e, regex over HTML) or a bare curl for one-off web fetching, scraping, or page exploration.

The English summary is being prepared. Showing the original description.

mxyhi/ok-skills500Updated Oct 18, 2026

Use when working with icons in any project. Provides CLI for searching 200+ icon libraries (Iconify) and retrieving SVGs. Commands: `better-icons search <query>` to find icons, `better-icons get <id>` to get SVG. Also available as MCP server for AI agents.

The English summary is being prepared. Showing the original description.

mxyhi/ok-skills500Updated Oct 18, 2026

Detect and recover text that was accidentally typed with the Taiwanese Bopomofo / Zhuyin (注音) keyboard while the input method (IME) was stuck in English/ASCII mode — what Taiwanese users call 注音亂碼 or 注音文 — producing meaningless-looking letter+digit sequences such as "su3cl3a8", "cl3", "g4", "2k7", "vu,4", or such garbled runs embedded in an otherwise normal request (e.g. "help me fix su3cl3a8", "看看這個 PR qk4ru.6", "幫我改 su3cl3a8xk7"). Use this skill whenever a user message contains short ASCII tokens that look like keyboard gibberish, do not form real English words, and cannot be understood normally — especially tokens with digits interspersed among letters (tone keys 3/4/6/7 or vowel keys 8/9/0), which are a strong sign of Mandarin phonetic keystrokes typed in the wrong input mode. Run scripts/decode_bopomofo.py to deterministically map the keystrokes back to 注音 symbols with a confidence score, then interpret the intended Traditional Chinese in context and continue the user's original request without making them retype. Do NOT trigger on genuine technical strings — code, file paths, URLs, git hashes, CLI flags, package names, version numbers — the script's exclusion rules and confidence tiers already filter these out. Especially valuable for Taiwanese developers who forget to switch input methods when prompting AI coding agents.

The English summary is being prepared. Showing the original description.

mxyhi/ok-skills500Updated Oct 18, 2026

See all skills by mxyhi

Report a problem with this skill