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/appautomaton/webmaton/chrome-devtools-clinpx skills add appautomaton/webmaton --skill chrome-devtools-cligit clone --depth 1 https://github.com/appautomaton/webmatonWhat 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.00082 | $0.00780 |
| Opus 5 | $0.00041 | $0.00390 |
| Sonnet 5 | $0.00016 | $0.00156 |
| Haiku 4.5 | $0.00008 | $0.00078 |
Grade A, and why
chrome-devtools-cli 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.
How it starts
The opening of the file, as written. The whole thing — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.
chrome-devtools-cli
The package is chrome-devtools-mcp, but the action CLI is chrome-devtools. Use chrome-devtools <tool> ... for this skill. Do not use npx chrome-devtools-mcp@latest unless you are configuring an MCP server outside this skill.
Core Workflow
chrome-devtools new_page "https://example.com"
chrome-devtools list_pages
chrome-devtools take_snapshot 0
chrome-devtools click 0 "1_3"
chrome-devtools fill 0 "1_5" "search text"
chrome-devtools press_key 0 "Enter"
Two identifiers drive everything. The page id is the first positional argument of nearly every command — read it from list_pages. The element uid comes from take_snapshot, which returns accessibility-tree entries such as 1_3.
Always act on uids from the latest snapshot. Re-snapshot after navigation, reloads, or major DOM updates.
Operating Rules
- Run tools directly; the background daemon starts implicitly on first real action and preserves browser state.
- Do not run
start,status, orstopbefore every action. Use them only for setup, custom launch flags, or troubleshooting. - Pass the page id as the first positional argument.
list_pagesandnew_pageare the exceptions that take none, andevaluate_scripttakes--pageIdas a flag instead. - Use
chrome-devtools <command> --helpfor exact syntax; this file tracks 1.8.0 and the command surface moves between minor releases. Output defaults to Markdown; add--output-format=jsonwhen structured output is useful. - This CLI drives its own
chrome-devtools-mcpdaemon. If the surrounding agent already has an MCP client connected to that same server, prefer one path or the other rather than mixing them in one session. - Prefer snapshots over screenshots for deciding what to click or fill. Use screenshots for visual proof, layout inspection, or reports.
- Use
evaluate_script, console, and network commands when debugging runtime behavior; use Lighthouse and performance tracing for page-quality/performance work.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 60 lines · 82 tokens per session scan A 16f4a5edcd80
chrome-devtools-cli is a skill published in the GitHub repository appautomaton/webmaton (19 stars, last pushed 7d ago), licensed MIT. It adds 82 tokens to every session and 780 once invoked, about $0.0004 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.
Other skills, from other repositories
opencli-sitemap-author
Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.
opencli-browser-sitemap
Use when driving a website with opencli browser and sitemap context is available, requested, or needed to avoid blind navigation. Guides agents to consume site sitemap files lazily, choose adapter/browser fallback paths, resume from state signatures, and mark stale sitemap entries without trusting them over live…
pinchtab-mcp
Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance. Covers navigation, element interaction, data extraction, form filling, multi-step flows, and session management via MCP tools.
pinchtab-stealth-score
Run the PinchTab stealth-score sweep against 15 bot-detection / fingerprint sites (sannysoft, rebrowser, deviceandbrowserinfo, iphey, whoer, browserscan, pixelscan, fingerprint-scan, incolumitas, fvision, amiunique, browserleaks, creepjs, coveryourtracks, fingerprint-demo). Starts a Docker PinchTab container per…
openbot-data-access
Governs how the OpenBot browser app reads and writes server data — every request goes through client in app/src/lib/client.ts, every read is a queryOptions factory in app/src/lib/ /queries.ts, every write is a mutationOptions factory in app/src/lib/ /mutations.ts, and components consume them through…
openbot-screen-layout
The default layout for every OpenBot configuration screen — PageShell and its prose/wide widths, PageSection and PageRows, Item row composition, the settings-row pattern where a summary and a chevron open a dialog, and the size and variant vocabulary. This is what a new screen looks like unless an instruction says…