Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Expert-level browser automation, debugging, and performance analysis using Chrome DevTools MCP. Use for interacting with web pages, capturing screenshots, analyzing network traffic, and profiling performance.
.claude/skills/chrome-devtools/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-22 | ✗→✓ | ▲ Improved | — | — |
| case-07 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-20 | ✗→✓ | ▲ Improved | — | — |
| case-19 | ✗→✓ | ▲ Improved | — | — |
A specialized skill for controlling and inspecting a live Chrome browser. This skill leverages the chrome-devtools MCP server to perform a wide range of browser-related tasks, from simple navigation to complex performance profiling.
Use this skill when:
new_page: Open a new tab/page.navigate_page: Go to a specific URL, reload, or navigate history.select_page: Switch context between open pages.list_pages: See all open pages and their IDs.close_page: Close a specific page.wait_for: Wait for specific text to appear on the page.click: Click on an element (use uid from snapshot).fill / fill_form: Type text into inputs or fill multiple fields at once.hover: Move the mouse over an element.press_key: Send keyboard shortcuts or special keys (e.g., "Enter", "Control+C").drag: Drag and drop elements.handle_dialog: Accept or dismiss browser alerts/prompts.upload_file: Upload a file through a file input.take_snapshot: Get a text-based accessibility tree (best for identifying elements).take_screenshot: Capture a visual representation of the page or a specific element.list_console_messages / get_console_message: Inspect the page's console output.evaluate_script: Run custom JavaScript in the page context.list_network_requests / get_network_request: Analyze network traffic and request details.resize_page: Change the viewport dimensions.emulate: Throttling CPU/Network or emulating geolocation.performance_start_trace: Start recording a performance profile.performance_stop_trace: Stop recording and save the trace.performance_analyze_insight: Get detailed analysis from recorded performance data.Always prefer take_snapshot over take_screenshot for finding elements. The snapshot provides uid values which are required by interaction tools.
markdown1. `take_snapshot` to get the current page structure. 2. Find the `uid` of the target element. 3. Use `click(uid=...)` or `fill(uid=..., value=...)`.
When a page is failing, check both console logs and network requests.
markdown1. `list_console_messages` to check for JavaScript errors. 2. `list_network_requests` to identify failed (4xx/5xx) resources. 3. `evaluate_script` to check the value of specific DOM elements or global variables.
Identify why a page is slow.
markdown1. `performance_start_trace(reload=true, autoStop=true)` 2. Wait for the page to load/trace to finish. 3. `performance_analyze_insight` to find LCP issues or layout shifts.
list_pages and select_page if you are unsure which tab is currently active.uid values may change.wait_for to avoid hanging on slow-loading elements.take_screenshot sparingly for visual verification, but rely on take_snapshot for logic.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 20 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.