Skip to content
browser-automation-debugging logo

Browser Automation & Debugging

browser-automation-debugging

Use when debugging web applications or automating browser tasks. Leverage Chrome DevTools MCP for inspection, performance analysis, and automated testing.

SKILL.md

Full skill instructions

Browser Automation & Debugging

Core Principle

Interact with live browsers programmatically. Use Chrome DevTools MCP to control, inspect, and debug web applications through Claude Code without manual clicking.

Overview

Chrome DevTools MCP provides 26 tools for browser automation and debugging through Claude Code. Control real Chrome instances, capture screenshots, analyze network traffic, inspect performance, and automate testing workflows - all via natural language commands.

When to Use This Skill

  • Debugging web applications - Inspect live page state
  • Browser automation - Automate repetitive browser tasks
  • End-to-end testing - Test user flows automatically
  • Performance profiling - Record and analyze performance traces
  • Network analysis - Inspect API calls and responses
  • Visual regression testing - Capture screenshots for comparison
  • Form testing - Automate form filling and submission
  • Console debugging - Monitor JavaScript errors and logs
  • DOM inspection - Examine page structure and elements
  • Screenshot capture - Document bugs or features

Prerequisites

Required:

  • Chrome DevTools MCP server installed (see .mcp.json)
  • Chrome stable browser (latest version)
  • Node.js v20.19+ (or v22.12+/​v23+)

Verify MCP is available:

Ask Claude: "Can you open a browser and navigate to example.com?"

The Iron Laws

1. ALWAYS WAIT FOR OPERATIONS TO COMPLETE

Chrome DevTools MCP automatically waits for:

  • Navigation to finish loading
  • Elements to appear before clicking
  • Network requests to complete
  • JavaScript to execute

❌ NEVER:

  • Add arbitrary timeouts
  • Assume instant completion
  • Skip verification steps

✅ ALWAYS:

  • Trust automatic waiting
  • Verify results after operations
  • Check for errors in console

Authority: Puppeteer (underlying engine) handles timing automatically.

2. INSPECT BEFORE AUTOMATING

Before writing automation scripts:

1. Navigate to page manually via MCP
2. Inspect element selectors
3. Test interactions step-by-step
4. Verify expected behavior
5. Then script the automation

3. CAPTURE EVIDENCE

Always document findings:

  • Take screenshots of bugs
  • Save network traces for performance issues
  • Log console errors
  • Record steps to reproduce

Browser Automation Protocol

Step 1: Announce Usage

Template:

I'm using the browser-automation-debugging skill to [debug/​test/​automate] [task].

Starting Chrome browser automation...

Step 2: Basic Browser Control

Navigation:

Ask Claude:
"Navigate to https://example.com"
"Go to http://localhost:3000"
"Navigate back to previous page"
"Reload the current page"

Element Interaction:

Ask Claude:
"Click the login button"
"Fill the username field with '[email protected]'"
"Click the submit button and wait for response"
"Upload test-file.pdf to the file input"
"Drag the slider to position 50"

Screenshots:

Ask Claude:
"Take a screenshot of the current page"
"Capture a full-page screenshot"
"Take a screenshot of the login form"

Step 3: Debugging Workflows

Workflow 1: Bug Investigation
1. Navigate to page with bug
2. Capture screenshot (before state)
3. Open browser console
4. Perform action that triggers bug
5. Check console for errors
6. Capture screenshot (after state)
7. Inspect network requests (if API-related)
8. Document findings

Example:

Ask Claude:
1. "Navigate to https://myapp.com/​dashboard"
2. "Take a screenshot"
3. "Show me any console errors"
4. "Click the submit button"
5. "Check console for new errors"
6. "Take another screenshot"
7. "Show me the network requests to the API"
Workflow 2: Form Testing
1. Navigate to form page
2. Fill all required fields
3. Submit form
4. Verify success message appears
5. Check network request was successful
6. Verify data was saved (reload page)

Example:

Ask Claude:
1. "Navigate to http://localhost:3000/​signup"
2. "Fill email field with '[email protected]'"
3. "Fill password field with 'SecurePass123'"
4. "Click the signup button"
5. "Wait for success message"
6. "Take a screenshot of the result"
7. "Check if API request was successful (status 200)"
Workflow 3: Performance Analysis
1. Start performance recording
2. Navigate to page or trigger action
3. Stop recording
4. Analyze trace for bottlenecks
5. Identify slow operations
6. Document findings with metrics

Example:

Ask Claude:
1. "Start recording performance trace"
2. "Navigate to https://myapp.com/​slow-page"
3. "Stop recording"
4. "Show me the performance bottlenecks"
5. "Which operations took longest?"
6. "Show me network timing for all requests"
Workflow 4: Network Debugging
1. Navigate to page
2. Monitor network requests
3. Trigger action (form submit, API call)
4. Inspect request/​response
5. Check status codes
6. Verify response data
7. Identify failed requests

Example:

Ask Claude:
1. "Navigate to https://myapp.com/​api-test"
2. "Monitor network requests"
3. "Click the load data button"
4. "Show me all API requests made"
5. "Which requests failed?"
6. "Show me the response for the /​api/​users request"

Step 4: Advanced Automation

Multi-Step User Flows
Test complete user journey:
1. Navigate to homepage
2. Click login link
3. Fill credentials
4. Submit form
5. Verify dashboard loads
6. Navigate to profile
7. Update settings
8. Save changes
9. Verify success message
10. Logout
Visual Regression Testing
1. Navigate to page (baseline version)
2. Take screenshot → save as baseline.png
3. Deploy changes
4. Navigate to page (new version)
5. Take screenshot → save as current.png
6. Compare screenshots visually
7. Document differences
Automated Smoke Tests
Critical paths to test:
- Homepage loads
- Login works
- Main navigation functional
- Search returns results
- Checkout process completes
- Account settings save

Common Automation Patterns

Pattern 1: Login Automation

Ask Claude:
"Navigate to https://myapp.com/​login,
fill email with '[email protected]',
fill password with 'password123',
click login button,
wait for dashboard to load,
take a screenshot"

Pattern 2: E2E Shopping Cart Test

Ask Claude:
"Navigate to https://shop.example.com,
search for 'laptop',
click the first product,
click add to cart,
go to cart page,
verify item is in cart,
take screenshot,
proceed to checkout"

Pattern 3: Form Validation Testing

Ask Claude:
"Navigate to https://myapp.com/​signup,
leave all fields empty,
click submit,
capture error messages,
take screenshot,
now fill valid data,
submit again,
verify success"

Pattern 4: Responsive Design Testing

Ask Claude:
"Navigate to https://myapp.com,
take screenshot in desktop mode,
switch to mobile viewport (375x667),
take screenshot in mobile mode,
compare layouts"

Pattern 5: Console Error Monitoring

Ask Claude:
"Navigate to https://myapp.com,
monitor console messages,
perform user actions [specify actions],
show me any errors or warnings logged,
categorize by severity"

Debugging Workflows by Issue Type

JavaScript Errors

1. Navigate to page with error
2. Open console
3. Reproduce error
4. Capture error message and stack trace
5. Identify file and line number
6. Check network for failed resource loads
7. Take screenshot for documentation

Network/​API Issues

1. Navigate to page
2. Monitor network requests
3. Trigger API call
4. Check response status code
5. Inspect response body
6. Verify request headers
7. Check timing (slow requests)
8. Document failed endpoints

Performance Problems

1. Start performance recording
2. Load page or trigger slow operation
3. Stop recording
4. Analyze timeline:
   - Long tasks (>50ms)
   - Layout thrashing
   - Forced reflows
   - Excessive JavaScript execution
5. Identify bottleneck
6. Document with metrics

UI/​UX Issues

1. Navigate to page
2. Take baseline screenshot
3. Perform user action
4. Take result screenshot
5. Check for layout shifts (CLS)
6. Verify responsive behavior
7. Test keyboard navigation
8. Check focus indicators

Best Practices

1. Use Descriptive Selectors

❌ BAD:

"Click the button"  (too ambiguous)

✅ GOOD:

"Click the submit button"
"Click the button with text 'Sign Up'"
"Click the button with id 'submit-form'"

2. Verify Results

❌ BAD:

"Fill form and submit" (no verification)

✅ GOOD:

"Fill form, submit, and verify success message appears"
"Fill form, submit, and check if redirected to dashboard"

3. Handle Errors Gracefully

"Navigate to page,
if login required then login first,
then perform action"

"Click button,
check console for errors,
if errors exist document them"

4. Document Automation Steps

Test: User Registration Flow
Steps:
1. Navigate to /​signup
2. Fill email: [email protected]
3. Fill password: SecurePass123
4. Submit form
5. Verify success message
6. Check email confirmation sent
Results: ✅ PASS / ❌ FAIL
Screenshots: [link]

Troubleshooting

Chrome Not Found

Error: Chrome executable not found

Solution:

1. Install Chrome stable (latest)
2. Update Chrome to latest version
3. Restart Claude Code
4. Verify: chrome --version

Element Not Found

Error: Cannot find element

Solution:

1. Take screenshot to verify page loaded
2. Check element actually exists on page
3. Use more specific selector
4. Wait for dynamic content to load
5. Check for iframe (may need to switch context)

Timeout Errors

Error: Navigation timeout

Solution:

1. Check network connection
2. Verify URL is accessible
3. Check if page is very slow
4. Look for console errors blocking load
5. Disable problematic scripts temporarily

Node Version Error

Error: Unsupported Node.js version

Solution:

1. Update Node.js to v20.19+ or v22.12+/​v23+
2. Verify: node --version
3. Restart Claude Code

Integration with Other Skills

Before automation:

  • brainstorming - Plan automation strategy
  • writing-plans - Break automation into steps

During automation:

  • systematic-debugging - Debug issues found
  • test-driven-development - Write permanent tests

After automation:

  • verification-before-completion - Verify automation works
  • playwright-frontend-testing - Convert to permanent tests

Chrome DevTools MCP Capabilities

26 Tools Available:

Browser Control (8 tools):

  • Navigate pages
  • Click elements
  • Fill forms
  • Upload files
  • Drag objects
  • Press keys
  • Scroll page
  • Execute JavaScript

Performance (3 tools):

  • Start/​stop trace recording
  • Analyze performance
  • Get metrics

Network (2 tools):

  • Monitor requests
  • Analyze responses

Debugging (5 tools):

  • Capture screenshots
  • Read console
  • Inspect DOM
  • Get page info
  • Evaluate JavaScript

Emulation (2 tools):

  • Device emulation
  • Viewport control

Navigation (6 tools):

  • Go forward/​back
  • Reload page
  • Wait for conditions
  • Handle dialogs
  • Manage cookies
  • Get page source

Advanced Techniques

JavaScript Execution

Ask Claude:
"Execute JavaScript on the page:
document.querySelector('.username').textContent"

"Run this script to get all links:
Array.from(document.querySelectorAll('a')).map(a => a.href)"

Custom Wait Conditions

Ask Claude:
"Wait until the element with class 'loading' disappears"
"Wait until the API response appears in network tab"
"Wait for 3 seconds then take screenshot"

Cookie Management

Ask Claude:
"Set cookie: session_id=abc123"
"Clear all cookies"
"Get all cookies from current domain"

Viewport Testing

Ask Claude:
"Set viewport to 1920x1080 (desktop)"
"Set viewport to 375x667 (iPhone SE)"
"Set viewport to 768x1024 (iPad)"
"Test responsive breakpoints: mobile, tablet, desktop"

Remember

Browser automation is powerful but not a replacement for human testing.

Use it for:

  • ✅ Repetitive tasks
  • ✅ Quick smoke tests
  • ✅ Debugging assistance
  • ✅ Performance analysis
  • ✅ Screenshot capture

But still do:

  • 👤 Manual exploratory testing
  • 👤 UX validation
  • 👤 Accessibility testing with assistive tech
  • 👤 Cross-browser compatibility checks

Authority: Automation finds regressions, humans find usability issues.


Resources:

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View