Control Chrome browser: take screenshots, click buttons, fill forms, download images, inspect pages, capture network requests. Use when user says: 'screenshot this', 'click the button', 'fill the form', 'download that image', 'what page am I on', 'check the browser', 'look at my screen', 'interact with the website', 'capture the page', 'get the HTML', 'inspect element'. Provides MCP tool discovery for tabz_* browser automation tools.
/plugin marketplace add GGPrompts/TabzChrome/plugin install conductor@tabz-chromeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/workflows.mdControl Chrome browser programmatically via the Tabz MCP server. This skill dynamically discovers available tools (never goes stale) and provides workflow patterns for common browser automation tasks.
Always discover available tools dynamically - never assume which tools exist:
# List all available Tabz tools
mcp-cli tools tabz
# Get schema for a specific tool (REQUIRED before calling)
mcp-cli info tabz/<tool_name>
# Search for tools by keyword
mcp-cli grep "screenshot"
Mandatory workflow - always check schema before calling:
# Step 1: Check schema (REQUIRED)
mcp-cli info tabz/tabz_screenshot
# Step 2: Call with correct parameters
mcp-cli call tabz/tabz_screenshot '{"selector": "#main"}'
Discover tools by running mcp-cli tools tabz. Common categories include:
| Category | Tools Pattern | Purpose |
|---|---|---|
| Tab Management | tabz_list_tabs, tabz_switch_tab, tabz_rename_tab | Navigate between tabs |
| Tab Groups | tabz_list_groups, tabz_create_group, tabz_update_group, tabz_add_to_group, tabz_ungroup_tabs | Organize tabs into groups |
| Claude Group | tabz_claude_group_add, tabz_claude_group_remove, tabz_claude_group_status | Highlight tabs Claude is working with |
| Windows | tabz_list_windows, tabz_create_window, tabz_update_window, tabz_close_window | Manage browser windows |
| Displays | tabz_get_displays, tabz_tile_windows, tabz_popout_terminal | Multi-monitor layouts, terminal popouts |
| Audio | tabz_speak, tabz_list_voices, tabz_play_audio | TTS and audio file playback |
| Page Info | tabz_get_page_info, tabz_get_element | Inspect page content |
| Interaction | tabz_click, tabz_fill | Interact with elements |
| Screenshots | tabz_screenshot* | Capture page visuals |
| Downloads | tabz_download* | Download files/images |
| Network | tabz_enable_network_capture, tabz_get_network_requests, tabz_clear_network_requests | Monitor API calls |
| Scripting | tabz_execute_script, tabz_get_console_logs | Run JS, debug |
| History | tabz_history_search, tabz_history_visits, tabz_history_recent, tabz_history_delete_* | Search and manage browsing history |
| Sessions | tabz_sessions_recently_closed, tabz_sessions_restore, tabz_sessions_devices | Recover closed tabs, synced devices |
| Cookies | tabz_cookies_get, tabz_cookies_list, tabz_cookies_set, tabz_cookies_delete, tabz_cookies_audit | Debug auth, audit trackers |
| Emulation | tabz_emulate_device, tabz_emulate_geolocation, tabz_emulate_network, tabz_emulate_media, tabz_emulate_vision | Responsive testing, accessibility |
| Notifications | tabz_notification_show, tabz_notification_update, tabz_notification_clear, tabz_notification_list | Desktop alerts |
ALWAYS group related tabs when opening multiple tabs for a task. This keeps the user's browser organized and makes it clear which tabs are part of your workflow.
IMPORTANT: When multiple Claude workers run in parallel, they MUST each create their own named group to avoid conflicts. Never rely on a shared group that other workers might also be using.
# Create a group unique to your task (use issue ID or descriptive name)
mcp-cli call tabz/tabz_create_group '{"tabIds": [123, 456], "title": "TabzChrome-abc: Research", "color": "blue"}'
# Store the groupId from the response, then add more tabs as needed
mcp-cli call tabz/tabz_add_to_group '{"groupId": 12345, "tabIds": [789]}'
# When done, ungroup to clean up
mcp-cli call tabz/tabz_ungroup_tabs '{"tabIds": [123, 456, 789]}'
Use unique, descriptive names to avoid conflicts:
"TabzChrome-abc: API Docs" - Include issue ID"Worker-1: Research" - Include worker identifier"Feature-X: Testing" - Include feature nameThe Claude Active group (tabz_claude_group_add) is a shared purple group. Only use it when you're the ONLY Claude session running. For parallel work, create named groups instead.
# Only for single-worker scenarios
mcp-cli call tabz/tabz_claude_group_add '{"tabId": 1762556601}'
| Scenario | Action |
|---|---|
| Parallel workers | Create named group with issue ID |
| Single worker | Can use Claude Active group |
| Opening 2+ related tabs | Create a named group |
| Research task | Use "[IssueID]: Research" group |
| Comparing pages | Use "[IssueID]: Compare" group |
| Done with a task | Ungroup tabs |
Group colors: grey, blue, red, yellow, green, pink, purple, cyan
Take a screenshot:
mcp-cli call tabz/tabz_screenshot '{}'
Click a button:
mcp-cli call tabz/tabz_click '{"selector": "button.submit"}'
Fill a form field:
mcp-cli call tabz/tabz_fill '{"selector": "#email", "value": "test@example.com"}'
Switch to a specific tab:
# First list tabs to find the ID (returns Chrome tab IDs like 1762556601)
mcp-cli call tabz/tabz_list_tabs '{}'
# Then switch using the actual tabId from the list
mcp-cli call tabz/tabz_switch_tab '{"tabId": 1762556601}'
Download AI-generated image (ChatGPT/Copilot):
# Use specific selector to avoid matching avatars
mcp-cli call tabz/tabz_download_image '{"selector": "img[src*=\"oaiusercontent.com\"]"}'
Download full-res from expanded modal:
# When user clicks image to expand, find modal image URL then download
mcp-cli call tabz/tabz_execute_script '{"code": "document.querySelector(\"[role=dialog] img\").src"}'
mcp-cli call tabz/tabz_download_file '{"url": "<url-from-above>"}'
tabz_list_tabs uses Chrome Extension API - the active: true field shows the user's ACTUAL focused tab (not a guess)1762556601), not simple indices like 1, 2, 3tabz_switch_tab, all subsequent tools auto-target that tabtabz_screenshot, tabz_screenshot_full, tabz_click, tabz_fill accept optional tabId param to target background tabs without switchingtabz_enable_network_capture BEFORE the page makes requests#id, .class, button, input[type="text"]For detailed workflow examples and common automation patterns, see:
references/workflows.md - Step-by-step workflows for complex tasksCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.