Claude-skill-registry automating-browser
Controls Chrome browser: takes screenshots, clicks buttons, fills forms, downloads images, inspects pages, captures network requests, checks console errors, debugs API issues. Use when: 'screenshot', 'click', 'fill form', 'download image', 'check browser', 'look at screen', 'capture page', 'check for errors', 'debug network', 'API failing', 'console errors'. Provides MCP tool discovery for 70 tabz_* browser automation tools.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/automating-browser" ~/.claude/skills/majiayu000-claude-skill-registry-automating-browser && rm -rf "$T"
skills/data/automating-browser/SKILL.mdTabz MCP - Browser Automation
Overview
Control Chrome browser programmatically via the Tabz MCP server. 70 tools for screenshots, interaction, network debugging, and more.
Tool Discovery (MCP-CLI Mode)
# List all tabz tools mcp-cli tools tabz # Search for specific tools mcp-cli tools tabz | grep screenshot mcp-cli grep "network" # Get tool schema before calling (REQUIRED) mcp-cli info tabz/tabz_screenshot # Call tool mcp-cli call tabz/tabz_screenshot '{}'
Browser Debugging (Common Issues)
Check Console Errors
mcp-cli info tabz/tabz_get_console_logs mcp-cli call tabz/tabz_get_console_logs '{"level": "error"}'
Debug Network/API Issues
# 1. Enable capture BEFORE triggering the action mcp-cli info tabz/tabz_enable_network_capture mcp-cli call tabz/tabz_enable_network_capture '{}' # 2. Trigger the action (click button, navigate, etc.) # 3. Get failed requests (status >= 400) mcp-cli info tabz/tabz_get_network_requests mcp-cli call tabz/tabz_get_network_requests '{"statusMin": 400}' # Or filter by URL pattern mcp-cli call tabz/tabz_get_network_requests '{"urlPattern": "api/"}'
Screenshot for Visual QA
mcp-cli info tabz/tabz_screenshot mcp-cli call tabz/tabz_screenshot '{}' # Returns file path - use Read tool to view the image
Check Page State
mcp-cli info tabz/tabz_get_page_info mcp-cli call tabz/tabz_get_page_info '{}' # Returns URL, title, loading state mcp-cli info tabz/tabz_get_element mcp-cli call tabz/tabz_get_element '{"selector": "#error-message", "includeStyles": true}'
Performance Profiling
mcp-cli info tabz/tabz_profile_performance mcp-cli call tabz/tabz_profile_performance '{}' # Returns: DOM node count, JS heap size, event listeners, timing metrics
DOM Tree Inspection
mcp-cli info tabz/tabz_get_dom_tree mcp-cli call tabz/tabz_get_dom_tree '{"maxDepth": 3}' # Or focus on specific element mcp-cli call tabz/tabz_get_dom_tree '{"selector": "main", "maxDepth": 5}'
Code Coverage Analysis
mcp-cli info tabz/tabz_get_coverage mcp-cli call tabz/tabz_get_coverage '{"type": "js"}' # Shows used vs unused bytes per file
Tool Categories
| Category | Tools | Purpose |
|---|---|---|
| Tab Management | , , , | Navigate tabs |
| Tab Groups | , , | Organize tabs |
| Windows | , , | Window management |
| Audio | , , | TTS notifications |
| Page Info | , , | Inspect content |
| Interaction | , | Click/type |
| Screenshots | , | Capture visuals |
| Downloads | , | Save files |
| Network | , | Debug APIs |
| Console | , | Debug JS |
| Performance | , | Diagnose slowness |
| Emulation | , | Responsive testing |
Tab Groups (Parallel Workers)
When multiple Claude workers run in parallel, each MUST create their own named group:
# Create unique group for this worker mcp-cli info tabz/tabz_create_group mcp-cli call tabz/tabz_create_group '{"tabIds": [123, 456], "title": "ISSUE-ID: Research", "color": "blue"}' # Add more tabs later mcp-cli call tabz/tabz_add_to_group '{"groupId": 12345, "tabIds": [789]}' # Cleanup when done mcp-cli call tabz/tabz_ungroup_tabs '{"tabIds": [123, 456, 789]}'
Group colors: grey, blue, red, yellow, green, pink, purple, cyan
Quick Patterns
Screenshot:
mcp-cli call tabz/tabz_screenshot '{}'
Click:
mcp-cli call tabz/tabz_click '{"selector": "button.submit"}'
Fill form:
mcp-cli call tabz/tabz_fill '{"selector": "#email", "value": "test@example.com"}'
Switch tab:
mcp-cli call tabz/tabz_list_tabs '{}' # Get tab IDs (large integers like 1762556601) mcp-cli call tabz/tabz_switch_tab '{"tabId": 1762556601}'
TTS notification:
mcp-cli call tabz/tabz_speak '{"text": "Done!", "priority": "high"}'
Important Notes
- Always check schema first: Run
beforemcp-cli info tabz/<tool>mcp-cli call - Tab IDs: Chrome tab IDs are large integers (e.g.,
), not 1, 2, 31762556601 - Network capture: Enable BEFORE the page makes requests
- Screenshots: Return file paths - use Read tool to view
- Selectors: CSS selectors -
,#id
,.classbutton[type="submit"] - JSON quoting: Use single quotes around JSON, double quotes inside
Heredoc for Complex JSON
For complex nested JSON, use heredoc to avoid escaping issues:
mcp-cli call tabz/tabz_execute_script - <<'EOF' {"code": "document.querySelector('button').click()"} EOF
Resources
See
references/workflows.md for more patterns.