test

A browser-testing skill for chrome-use that turns repeated frontend checks into re-runnable test suites. Frontend means the part of a website people see and use.

In plain words
What is it for?
It helps test page loading, logged-in states, visible elements, and user flows; failed cases can save screenshots for review.
Why use it?
It replaces repeated manual checks with fixed cases that can be run again after changes or in continuous integration.

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/leeguooooo/chrome-use/test
Any agent
npx skills add leeguooooo/chrome-use --skill test
Clone the repo
git clone --depth 1 https://github.com/leeguooooo/chrome-use

Made for: Claude Code, Codex.

Per session 78 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,388 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin fork From a forked repository.
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.00078 $0.01388
Opus 5 $0.00039 $0.00694
Sonnet 5 $0.00016 $0.00278
Haiku 4.5 $0.00008 $0.00139

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

Security

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.

skill-data/test/SKILL.md · 127 lines

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-test session 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 / --profile are forwarded to every step, so a suite can target one specific connected Chrome profile (e.g. the live Chrome via chrome-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

Read the full file on GitHub · 127 lines

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. yesterday First seen · 127 lines · 78 tokens per session scan A ffb4cd084066

Subscribe to this mod's changes

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.

Related

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…

pm990320/ultimate-playwright-mcp · 74 tokens

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.

nicobailon/surf-cli · 60 tokens

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.

nicobailon/surf-cli · 76 tokens

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.

nicobailon/surf-cli · 42 tokens

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.

PramodDutta/qaskills · 37 tokens

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…

opentabs-dev/opentabs · 74 tokens