Chrome Devtools Axi
layer5io/sistent
Control a Chrome browser session through the chrome-devtools-axi CLI - navigate, snapshot, click, fill forms, run JavaScript, inspect console and network, take screenshots, audit performance.
Automate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take screenshots, and debug console or network…
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add mitsuhiko/agent-stuff --skill web-browser -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mitsuhiko/agent-stuff web-browser --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mitsuhiko/agent-stuff.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/web-browser .claude/skills/web-browser && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "web-browser" agent skill from https://github.com/mitsuhiko/agent-stuff/tree/main/skills/web-browser into .claude/skills/web-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-browser", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mitsuhiko/agent-stuff/tree/main/skills/web-browserType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mitsuhiko/agent-stuff --skill web-browser -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mitsuhiko/agent-stuff web-browser --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mitsuhiko/agent-stuff.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/web-browser .agents/skills/web-browser && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "web-browser" agent skill from https://github.com/mitsuhiko/agent-stuff/tree/main/skills/web-browser into .agents/skills/web-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-browser", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mitsuhiko/agent-stuff --skill web-browser -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mitsuhiko/agent-stuff web-browser --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mitsuhiko/agent-stuff.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/web-browser .cursor/skills/web-browser && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "web-browser" agent skill from https://github.com/mitsuhiko/agent-stuff/tree/main/skills/web-browser into .cursor/skills/web-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-browser", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mitsuhiko/agent-stuff.git --path skills/web-browser--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mitsuhiko/agent-stuff --skill web-browser -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mitsuhiko/agent-stuff web-browser --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mitsuhiko/agent-stuff.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/web-browser .gemini/skills/web-browser && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "web-browser" agent skill from https://github.com/mitsuhiko/agent-stuff/tree/main/skills/web-browser into .gemini/skills/web-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-browser", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mitsuhiko/agent-stuff web-browserInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mitsuhiko/agent-stuff --skill web-browser -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mitsuhiko/agent-stuff.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/web-browser .github/skills/web-browser && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "web-browser" agent skill from https://github.com/mitsuhiko/agent-stuff/tree/main/skills/web-browser into .github/skills/web-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-browser", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mitsuhiko/agent-stuff --skill web-browser -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mitsuhiko/agent-stuff web-browser --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mitsuhiko/agent-stuff.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/web-browser .opencode/skills/web-browser && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "web-browser" agent skill from https://github.com/mitsuhiko/agent-stuff/tree/main/skills/web-browser into .opencode/skills/web-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-browser", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
web-browserAutomate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take screenshots, and debug console or network…
Web Browser is an agent skill from mitsuhiko/agent-stuff. Automate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take screenshots, and debug console or network activity. Use when an agent needs a real browser. Prefer headless Chrome unless visible browser interaction is required.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files, including scripts (for example `scripts/browser-processes.js`, `scripts/browser-processes.test.js` and `scripts/cdp.js`).
It sits in Testing & QA, covering Browser testing and Forms and invoices. It works with Chrome DevTools. The repository describes itself as: These are commands I use with agents, mostly Claude. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 0865c84. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 18 files in scripts/ (JavaScript), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Web Browser loads about 1.5k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 410 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
profiles are stopped, not your regular Chrome. Shutdown preserves cookies and other cached state; it never force-killsAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from mitsuhiko/agent-stuff at commit 0865c84, republished under its Apache-2.0 licence (© mitsuhiko). 410 words, ~1,452 tokens.
.claude/skills/web-browser/SKILL.md (or your agent's skills folder). This skill also uses 18 other files; get the full folder from GitHub.Minimal CDP tools for collaborative site exploration.
./scripts/start.js --headless # Recommended: isolated reusable profile
./scripts/start.js --headless --profile # Headless with a copy of your profile
./scripts/start.js # Visible browser window when needed
./scripts/start.js --headless --reset-profile # Clear cached profile before launchStarts Chrome with remote debugging (default port :9222). Agents should use --headless by default because it is less disruptive and supports navigation, evaluation, screenshots, emulation, and logging. User extensions are disabled for headless launches; a copied profile still provides its cookies and other browser state, but extension-based features are unavailable. Headed launches continue to load extensions normally. Use headed mode only when a person needs to see or interact with the browser, such as for pick.js, manual authentication, or debugging a headless-specific difference.
The start script only reuses a running browser when its profile and launch settings match. Stop the running skill browser before switching between headless and headed mode. Changing the debugging port does not isolate the profile: startup refuses to modify a profile already used on another port and preserves Chrome's profile locks.
Profile behavior:
~/.cache/agent-web/browser/fresh-profile--profile mode uses: ~/.cache/agent-web/browser/profile-copy:9222 is already used by an unknown instance, start will fail instead of reusing itIf Chrome is installed in a non-standard location, set:
BROWSER_BIN=/path/to/chrome ./scripts/start.js --headlessOptional debug endpoint override:
BROWSER_DEBUG_PORT=9333 ./scripts/start.js --headless./scripts/stop.js # Stop skill Chrome on :9222
BROWSER_DEBUG_PORT=9333 ./scripts/stop.js # Stop skill Chrome on :9333
./scripts/stop.js --all # Stop all skill Chrome instancesWorks for headless and headed browsers. Only processes using the skill's cached profiles are stopped, not your regular Chrome. Shutdown preserves cookies and other cached state; it never force-kills Chrome. Stop before using --reset-profile.
To switch to a visible browser:
./scripts/stop.js
./scripts/start.js./scripts/nav.js https://example.com
./scripts/nav.js https://example.com --newNavigate current tab or open new tab.
./scripts/emulate.js --list
./scripts/emulate.js iphone-14
./scripts/emulate.js pixel-7 --landscape
./scripts/emulate.js --resetSet an active device emulation preference (viewport, DPR, touch, UA) for browser skill commands. Use --reset to clear.
Commands like nav.js, eval.js, pick.js, dismiss-cookies.js, and screenshot.js automatically apply the active preference.
./scripts/eval.js 'document.title'
./scripts/eval.js 'document.querySelectorAll("a").length'
./scripts/eval.js 'document.querySelector("button")?.click(); "clicked"'
./scripts/eval.js 'await Promise.resolve(document.title)'
./scripts/eval.js 'JSON.stringify(Array.from(document.querySelectorAll("a")).map(a => ({ text: a.textContent.trim(), href: a.href })).filter(link => !link.href.startsWith("https://")))'Execute JavaScript in the active tab. Input can be an expression or statement list; the console-style completion value is printed and promises/top-level await are awaited. Be careful with string escaping, best to use single quotes.
./scripts/screenshot.js
./scripts/screenshot.js --full-page
./scripts/screenshot.js --device iphone-14
./scripts/screenshot.js --device pixel-7 --full-pageTakes a screenshot and returns a temp file path.
--full-page: captures full document height--device <preset>: temporary mobile emulation for that screenshot only./scripts/pick.js "Click the submit button"Interactive element picker. Click to select, Cmd/Ctrl+Click for multi-select, Enter to finish. This requires headed Chrome; launch start.js without --headless.
./scripts/dismiss-cookies.js # Accept cookies
./scripts/dismiss-cookies.js --reject # Reject cookies (where possible)Automatically dismisses EU cookie consent dialogs.
Run after navigating to a page:
./scripts/nav.js https://example.com && ./scripts/dismiss-cookies.js./scripts/start.js --headless
./scripts/nav.js https://example.com
./scripts/emulate.js iphone-14
./scripts/nav.js https://example.com # reload with mobile UA
./scripts/dismiss-cookies.js
./scripts/screenshot.js --full-pageAutomatically started by start.js and writes JSONL logs to:
~/.cache/agent-web/logs/YYYY-MM-DD/<targetId>.jsonlManually start:
./scripts/watch.jsTail latest log:
./scripts/logs-tail.js # dump current log and exit
./scripts/logs-tail.js --follow # keep followingSummarize network responses:
./scripts/net-summary.js© mitsuhiko, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 18 other files (scripts) in skills/web-browser of mitsuhiko/agent-stuff.
Open the folder on GitHubat commit 0865c84
Web Browser next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Web Browser this skillmitsuhiko/agent-stuff | 3.2k | — | ~1.5k | Automated safety check: Warn | Apache-2.0 | |
| Chrome Devtools Axilayer5io/sistent | 138 | 2 repos | ~989 | Automated safety check: Pass | Apache-2.0 | |
| Browser NavigationFactory-AI/factory-plugins | 110 | — | ~2.7k | Automated safety check: Pass | None | |
| Playwright CLIsanity-io/sanity | 6.4k | 18 repos | ~1.9k | Automated safety check: Pass | MIT | |
| PlaywrightJetBrains/skills | 363 | 11 repos | ~986 | Automated safety check: Pass | Apache-2.0 | |
| Playwright6BNBN/FlowPilot | 134 | — | ~1k | Automated safety check: Pass | Apache-2.0 |
layer5io/sistent
Control a Chrome browser session through the chrome-devtools-axi CLI - navigate, snapshot, click, fill forms, run JavaScript, inspect console and network, take screenshots, audit performance.
Factory-AI/factory-plugins
Automate browser interactions for web testing, form filling, screenshots, and data extraction.
sanity-io/sanity
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
JetBrains/skills
A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…
6BNBN/FlowPilot
A skill your agent uses when the task requires automating a real browser from the terminal in Cursor, including navigation, form filling, snapshots, screenshots, data extraction, and UI-flow…
trailofbits/skills-curated
A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…
mitsuhiko/agent-stuff
Austrian public transport (VOR AnachB) for all of Austria. An agent skill from mitsuhiko/agent-stuff.
mitsuhiko/agent-stuff
Cache and refresh remote git repositories under ~/.cache/checkouts/<host/<org/<repo so future references can reuse a local copy.
mitsuhiko/agent-stuff
Access Google Workspace APIs (Drive, Docs, Calendar, Gmail, Sheets, Slides, Chat, People) via local helper scripts without MCP.
mitsuhiko/agent-stuff
Austrian rail travel planner (ÖBB Scotty). An agent skill from mitsuhiko/agent-stuff.
mitsuhiko/agent-stuff
Fetch and analyze Sentry issues, events, transactions, and logs.
mitsuhiko/agent-stuff
Trigger native web search. An agent skill from mitsuhiko/agent-stuff.
Works with
Categories
Automate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take screenshots, and debug console or network…. Web Browser is an agent skill from mitsuhiko/agent-stuff. Automate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take screenshots, and debug console or network activity.
Web Browser fits situations like: an agent needs a real browser; tasks that involve Browser testing; tasks that involve Forms and invoices.
Run `npx skills add mitsuhiko/agent-stuff --skill web-browser -a claude-code`. Or copy the skill folder (skills/web-browser in mitsuhiko/agent-stuff) into .claude/skills/web-browser in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mitsuhiko/agent-stuff --skill web-browser -a codex`. Or copy the skill folder (skills/web-browser in mitsuhiko/agent-stuff) into .agents/skills/web-browser in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mitsuhiko/agent-stuff --skill web-browser -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/web-browser, .gemini/skills/web-browser, .github/skills/web-browser and .opencode/skills/web-browser in your project.
Going by SKILL.md and its folder, Web Browser needs JavaScript for the scripts in its folder. Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Web Browser is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Web Browser: Chrome Devtools Axi (layer5io/sistent, 138 stars), Browser Navigation (Factory-AI/factory-plugins, 110 stars), Playwright CLI (sanity-io/sanity, 6.4k stars) and Playwright (JetBrains/skills, 363 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mitsuhiko (a GitHub user) maintains it in mitsuhiko/agent-stuff, which has 3,176 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on September 27, 2026.
Source: mitsuhiko/agent-stuff on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.