web-browser
Automate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take…
Skill by chaochaoxiaochao
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/chaochaoxiaochao-web-browser
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/web-browser- Your home directory (~)
What's inside
- Skill name
web-browser- Description
- 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. Supports common macOS/Linux installs and Windows Chrome from WSL. Prefer headless Chrome unless visible browser interaction is required.
- License
- MIT
- Instructions
- 146 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (16)
- LICENSE
- NOTICE
- SKILL.md
- cdp.js · scripts/
- devices.js · scripts/
- dismiss-cookies.js · scripts/
- emulate.js · scripts/
- emulation-state.js · scripts/
- eval.js · scripts/
- logs-tail.js · scripts/
- nav.js · scripts/
- net-summary.js · scripts/
- pick.js · scripts/
- screenshot.js · scripts/
- start.js · scripts/
- watch.js · scripts/
SKILL.md (first lines)
# Web Browser Skill
Minimal CDP tools for collaborative site exploration.
## Start Chrome (Prefer Headless)
```bash
./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 a stopped cached profile before launch
```
Starts 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. Close the running skill browser before switching between headless and headed mode.
Profile behavior:
- Default mode uses: `~/.cache/agent-web/browser/fresh-profile`
- `--profile` mode uses: `~/.cache/agent-web/browser/profile-copy`
- The skill **does not attach to your live Chrome profile directly**
- If `:9222` is already used by an unknown instance, start will fail instead of reusing it
If Chrome is installed in a non-standard location, set:
```bash
BROWSER_BIN=/path/to/chrome ./scripts/start.js --headless
```
`--reset-profile` refuses to delete an active profile. Close Chrome first, including instances on another debugging port. Missing launcher state does not bypass native profile locks; an unverifiable lock fails closed. These checks also run before profile-copy and stale-lock cleanup.
The launcher auto-detects common macOS and Linux paths. Under WSL, it also detects Windows Chrome in the standard `Program Files` locations and launches it through PowerShell with an isolated Windows-local profile.
Optional debug endpoint override:
```bash
BROWSER_DEBUG_PORT=9333 ./scripts/start.js --headless
```
## Navigate
```bash
./scripts/nav.js https://example.com
./scripts/nav.js https://example.com --new
```
Navigate current tab or open new tab.
## Device Emulation (Mobile)
```bash
./scripts/emulate.js --list
./scripts/emulate.js iphone-14
./scripts/emulate.js pixel-7 --landscape
./scripts/emulate.js --reset
```
Set 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.
## Evaluate JavaScript
```bash
./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.
## Screenshot
```bash
./scripts/screenshot.js
./scripts/screenshot.js --full-page
./scripts/screenshot.js --device iphone-14
./scripts/screenshot.js --device pixel-7 --full-page
```
Takes a screenshot and returns a temp file path.
- Default: current viewport
- `--full-page`: captures full document height
- `--device <preset>`: temporary mobile emulation for that screenshot only
## Pick Elements
```bash
./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`.
## Dismiss Cookie Dialogs
```bash
./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:
```bash
./scripts/nav.js https://example.com && ./scripts/dismiss-cookies.js
```
## Quick Mobile Debug Flow
```bash
./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-pageFrom chaochaoxiaochao/pi-toolkit, MIT.
More from chaochaoxiaochao/pi-toolkit
- 0.598score
pi-worktree
chaochaoxiaochao
Create, enter, inspect, and clean up git worktrees through the enter_worktree tool, /worktree command, or pi-worktree CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
tapd
chaochaoxiaochao
通过 tapd CLI 查询和操作 TAPD 中的需求、缺陷、任务和 Wiki。用户提供 tapd.cn 链接,或要求分析、查询、创建、更新 TAPD 条目及其评论、变更、附件和关联提交时使用。
SkillAFreshness: A★ 2Claude Code +9 - 0.589score
agent-team
chaochaoxiaochao
多模型协作分析:按配置的模型和角色调度独立子代理,汇总结果并维护调查档案。
SkillAFreshness: A★ 2Claude Code +9 - 0.554score
html-artifact
chaochaoxiaochao
Create self-contained, responsive HTML artifacts for complex explanations that benefit from visual structure or interaction, including workflows, code/module…
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
pdlog
chaochaoxiaochao
解压和查看 .pdlog 日志文件。触发:.pdlog 文件、普渡日志/Pudu 日志、日志打开是乱码或二进制、ppmd 解压
SkillBFreshness: B★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 23, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/chaochaoxiaochao/pi-toolkit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from chaochaoxiaochao
- 0.598score
pi-worktree
chaochaoxiaochao
Create, enter, inspect, and clean up git worktrees through the enter_worktree tool, /worktree command, or pi-worktree CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
tapd
chaochaoxiaochao
通过 tapd CLI 查询和操作 TAPD 中的需求、缺陷、任务和 Wiki。用户提供 tapd.cn 链接,或要求分析、查询、创建、更新 TAPD 条目及其评论、变更、附件和关联提交时使用。
SkillAFreshness: A★ 2Claude Code +9 - 0.589score
agent-team
chaochaoxiaochao
多模型协作分析:按配置的模型和角色调度独立子代理,汇总结果并维护调查档案。
SkillAFreshness: A★ 2Claude Code +9 - 0.554score
html-artifact
chaochaoxiaochao
Create self-contained, responsive HTML artifacts for complex explanations that benefit from visual structure or interaction, including workflows, code/module…
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
pdlog
chaochaoxiaochao
解压和查看 .pdlog 日志文件。触发:.pdlog 文件、普渡日志/Pudu 日志、日志打开是乱码或二进制、ppmd 解压
SkillBFreshness: B★ 2Claude Code +9
Cite this page
web-browser skill. Agent Mart. https://agentmart.dev/skills/chaochaoxiaochao-web-browser (last updated 2026-10-24)