| name | browser-automation |
| description | This skill should be used when the user asks about browser automation, testing web pages, scraping content, filling forms, taking screenshots, or monitoring console/network activity. Activates for E2E testing, web scraping, form automation, or debugging web applications. |
When the user asks about browser automation, use Firefox DevTools MCP to control a real Firefox browser.
When to Use This Skill
Activate this skill when the user:
- Wants to automate browser interactions ("Fill out this form", "Click the login button")
- Needs E2E testing ("Test the checkout flow", "Verify the login works")
- Requests web scraping ("Extract prices from this page", "Get all links")
- Needs screenshots ("Screenshot this page", "Capture the error state")
- Wants to debug ("Check for JS errors", "Show failed network requests")
Core Workflow
Step 1: Navigate and Snapshot
navigate_page url="https://example.com"
take_snapshot
The snapshot returns a DOM representation with UIDs (e.g., e42) for each interactive element.
Step 2: Interact with Elements
Use UIDs from the snapshot:
fill_by_uid uid="e5" text="user@example.com"
click_by_uid uid="e8"
Step 3: Re-snapshot After Changes
DOM changes invalidate UIDs. Always re-snapshot after:
- Page navigation
- Form submissions
- Dynamic content loads
take_snapshot # Get fresh UIDs
Quick Reference
| Task | Tools |
|---|
| Navigate | navigate_page |
| See DOM | take_snapshot |
| Click | click_by_uid |
| Type | fill_by_uid, fill_form_by_uid |
| Screenshot | screenshot_page, screenshot_by_uid |
| Debug | list_console_messages, list_network_requests |
Guidelines
- Always snapshot first: UIDs only exist after
take_snapshot
- Re-snapshot after DOM changes: UIDs become stale after interactions
- Check for errors: Use
list_console_messages level="error" to catch JS issues
- Firefox only: This MCP controls Firefox, not Chrome or Safari