Personal browser automation using Claude's Chrome extension MCP tools. Operates in the user's actual browser session with full access to logged-in state, cookies, and extensions.
Parallel test execution (Chrome extension is single-session)
Headless browser operations
Performance/load testing
Core Principles
Single-session — one browser, one user, one context at a time
User's actual browser — leverages existing login state and cookies
Personal context — for tasks that require the user's authenticated session
Always capture evidence — use gif_creator or upload_image for visual records
Tab-aware — always call tabs_context_mcp at session start
Navigation + Reading
Tool
Purpose
navigate
Navigate to URL in current tab
read_page
Read full page content (structured)
get_page_text
Get plain text content
find
Search for text/elements on page
Interaction
Tool
Purpose
form_input
Fill form fields
computer
Mouse/keyboard simulation
javascript_tool
Execute JavaScript in page
Tab Management
Tool
Purpose
tabs_context_mcp
Get current tab info (CALL FIRST)
tabs_create_mcp
Open new tab
resize_window
Resize browser window
switch_browser
Switch between browser profiles
Visual Capture
Tool
Purpose
gif_creator
Record multi-step interaction as GIF
upload_image
Capture and upload screenshot
Console + Network
Tool
Purpose
read_console_messages
Read browser console (use pattern param to filter)
read_network_requests
Inspect network activity
Shortcuts
Tool
Purpose
shortcuts_list
List available keyboard shortcuts
shortcuts_execute
Execute a keyboard shortcut
Plan Management
Tool
Purpose
update_plan
Update task plan visible in Chrome extension
Session Startup Protocol
Call tabs_context_mcp to discover current tabs
Only reuse a tab if the user explicitly asks to work with it
Otherwise create a new tab with tabs_create_mcp
If tab errors occur, call tabs_context_mcp to refresh
Limitations
Single session: Cannot run parallel browser instances
Requires --chrome flag: Claude Code must be launched with Chrome integration
Not CI-suitable: Requires a visible browser with user interaction
Dialog risk: Avoid triggering alert(), confirm(), prompt() — they block the extension
Tab ID scope: Never reuse tab IDs from a previous session
GIF Recording Best Practices
Capture extra frames before and after actions for smooth playback
Name files descriptively: login_flow.gif, form_submission.gif
Record the full workflow, not just the end state
Anti-Patterns
Using Claude Chrome for CI/CD testing — use Playwright instead
Triggering JavaScript alerts — they block all further commands
Reusing stale tab IDs from prior sessions
Running without calling tabs_context_mcp first
Attempting parallel operations in a single-session tool
1---2name: claude-browser3description: >-4---567# Claude Browser — Chrome Extension Automation89Personal browser automation using Claude's Chrome extension MCP tools. Operates in the user's actual browser session with full access to logged-in state, cookies, and extensions.1011## When to Apply1213### Positive Triggers1415- Personal browser automation (logged-in sessions)16- Form filling in authenticated web apps17- Reading content from pages requiring login18- Interactive demonstrations and walkthroughs19- GIF recording of browser workflows20- Tab management and multi-page navigation2122### Negative Triggers (Do NOT Apply)2324- CI/CD pipeline testing (use `playwright-browser` skill)25- Parallel test execution (Chrome extension is single-session)26- Headless browser operations27- Performance/load testing2829## Core Principles30311. **Single-session** — one browser, one user, one context at a time322. **User's actual browser** — leverages existing login state and cookies333. **Personal context** — for tasks that require the user's authenticated session344. **Always capture evidence** — use `gif_creator` or `upload_image` for visual records355. **Tab-aware** — always call `tabs_context_mcp` at session start3637## Navigation + Reading3839| Tool | Purpose |40|------|---------|41| `navigate` | Navigate to URL in current tab |42| `read_page` | Read full page content (structured) |43| `get_page_text` | Get plain text content |44| `find` | Search for text/elements on page |4546## Interaction4748| Tool | Purpose |49|------|---------|50| `form_input` | Fill form fields |51| `computer` | Mouse/keyboard simulation |52| `javascript_tool` | Execute JavaScript in page |5354## Tab Management5556| Tool | Purpose |57|------|---------|58| `tabs_context_mcp` | Get current tab info (CALL FIRST) |59| `tabs_create_mcp` | Open new tab |60| `resize_window` | Resize browser window |61| `switch_browser` | Switch between browser profiles |6263## Visual Capture6465| Tool | Purpose |66|------|---------|67| `gif_creator` | Record multi-step interaction as GIF |68| `upload_image` | Capture and upload screenshot |6970## Console + Network7172| Tool | Purpose |73|------|---------|74| `read_console_messages` | Read browser console (use `pattern` param to filter) |75| `read_network_requests` | Inspect network activity |7677## Shortcuts7879| Tool | Purpose |80|------|---------|81| `shortcuts_list` | List available keyboard shortcuts |82| `shortcuts_execute` | Execute a keyboard shortcut |8384## Plan Management8586| Tool | Purpose |87|------|---------|88| `update_plan` | Update task plan visible in Chrome extension |8990## Session Startup Protocol91921. Call `tabs_context_mcp` to discover current tabs932. Only reuse a tab if the user explicitly asks to work with it943. Otherwise create a new tab with `tabs_create_mcp`954. If tab errors occur, call `tabs_context_mcp` to refresh9697## Limitations9899- **Single session**: Cannot run parallel browser instances100- **Requires `--chrome` flag**: Claude Code must be launched with Chrome integration101- **Not CI-suitable**: Requires a visible browser with user interaction102- **Dialog risk**: Avoid triggering `alert()`, `confirm()`, `prompt()` — they block the extension103- **Tab ID scope**: Never reuse tab IDs from a previous session104105## GIF Recording Best Practices106107- Capture extra frames before and after actions for smooth playback108- Name files descriptively: `login_flow.gif`, `form_submission.gif`109- Record the full workflow, not just the end state110111## Anti-Patterns112113- Using Claude Chrome for CI/CD testing — use Playwright instead114- Triggering JavaScript alerts — they block all further commands115- Reusing stale tab IDs from prior sessions116- Running without calling `tabs_context_mcp` first117- Attempting parallel operations in a single-session tool
Run npx skillmds@latest add cleanexpo/claude-browser in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
>- It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
cleanexpo (@cleanexpo) published this skill. Their other Agent Skills are listed on their SkillMD profile.