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.
npx agentmods add skills/leeguooooo/chrome-use/testnpx skills add leeguooooo/chrome-use --skill testgit clone --depth 1 https://github.com/leeguooooo/chrome-useWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00078 | $0.01388 |
| Opus 5 | $0.00039 | $0.00694 |
| Sonnet 5 | $0.00016 | $0.00278 |
| Haiku 4.5 | $0.00008 | $0.00139 |
Grade A, and why
test 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 yesterday.
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.
How it starts
The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.
chrome-use test — browser test suites
Turn the repetitive "open it, click around, check it's right" work into a re-runnable suite, like unit tests for the frontend. Every time you find a regression, add a case — the suite gets more valuable the more you use it.
chrome-use test <suite.yaml> [--launch | --session <name>] [--json]
- Exit code 0 if all cases pass, 1 if any fail → drop it straight into CI.
- Default: launches a fresh isolated browser (deterministic, repeatable) in a
cu-testsession and closes it after. Pass--session <name>(including--session default) to run against an already-connected session instead — the suite then reuses that session's logins and is left open when the run ends.--browser/--as/--profileare forwarded to every step, so a suite can target one specific connected Chrome profile (e.g. the live Chrome viachrome-use extension connect). - Failed cases auto-save a screenshot to
cu-test-artifacts/<case>.png.
Suite format (YAML)
suite: chatgpt smoke # label (optional)
setup: # runs once before all cases (optional)
- account: chatgpt/huayue # inject a cookie-use stored login (optional)
- open: https://chatgpt.com/ # …or any normal step
cases:
- name: home loads logged in
steps: # steps reuse chrome-use's own commands
- open: https://chatgpt.com/
- wait: { load: networkidle }
assert: # all asserts must hold or the case fails
- url: { contains: chatgpt.com }
- visible: "#prompt-textarea"
- name: composer takes text
steps:
- fill: { sel: "#prompt-textarea", text: "hi" }
assert:
- text: { sel: "#prompt-textarea", contains: hi }
- eval: "!!window.__NEXT_DATA__"
Steps (the verbs)
Each step is a one-key mapping; the key is a chrome-use command:
| Step | Meaning |
|---|---|
open: <url> |
navigate |
click: <selector|@ref> |
click |
fill: { sel: <s>, text: <t> } |
clear + type |
type: { sel: <s>, text: <t> } |
type (no clear) |
press: <key> |
key press (e.g. Enter) |
wait: <ms> / wait: { load: networkidle } / wait: <selector> |
wait |
scroll: <up|down|...> or { dir: down, px: 500 } |
scroll |
eval: "<js>" |
run JS |
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.
- yesterday First seen · 127 lines · 78 tokens per session scan A ffb4cd084066
test is a skill published in the GitHub repository leeguooooo/chrome-use (156 stars, last pushed 2d ago), licensed Apache-2.0. It adds 78 tokens to every session and 1,388 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It comes from a forked repository.
Other skills, from other repositories
ultimate-playwright
Browser automation via ultimate-playwright-mcp. Use when the agent needs to control a shared Chrome browser — open tabs, navigate, click, type, fill forms, take snapshots. Handles multi-user tab group isolation so multiple sessions can share one browser without interference. Use for web browsing, scraping, form…
surf
Control Chrome browser via CLI for testing, automation, and debugging. Use when the user needs browser automation, screenshots, form filling, page inspection, network/CPU emulation, DevTools streaming, or AI queries via ChatGPT/Gemini/Perplexity/Grok/AI Studio.
deep-x-research
Deep, exhaustive research on a topic across X (Twitter) by driving Grok (x.com/i/grok) through surf. Use when the user wants comprehensive X research on a concept, technique, trend, tool, or creator scene; needs categorized findings with every claim traceable to post URLs; or when a single Grok query is not enough.
surf-codebase
Navigate and modify surf-cli codebase - Chrome extension + native host for AI browser automation. Use for surf-cli code work, architecture questions, implementing browser control/CDP/accessibility/network features.
Agent Browser Automation
Fast Rust-based headless browser automation CLI with Node.js fallback for AI agents, featuring navigation, clicking, typing, snapshots, and structured commands optimized for agent workflows.
build-plugin
Complete plugin development workflow: build, test, icon, troubleshoot, and setup. Use when the user wants to build a plugin, create a plugin, troubleshoot issues, add icons, or install/configure plugins. Triggers on: build plugin, create plugin, develop plugin, new plugin, plugin icon, troubleshoot, debug, setup…