chrome-devtools · github — GitHub Copilot skill: install and use
Controls a live Chrome browser through Chrome DevTools MCP for page actions, debugging, and performance traces. Use it when an agent needs to inspect a web interface.
npx skills add github/awesome-copilot --skill chrome-devtoolsWhat chrome-devtools does
The skill controls Chrome tabs, navigates pages, clicks elements, fills forms, handles dialogs, and uploads files. It uses a text accessibility snapshot with uid values to locate targets; screenshots are intended for visual checks.
For debugging, it reads console messages, runs JavaScript in page context, and inspects network requests. It can resize the viewport, emulate CPU, network, or geolocation, then record and inspect a performance trace for LCP and layout shifts. It needs the chrome-devtools MCP server. Install it for teams testing a web UI in Chrome; skip it for work with no browser involved.
What it helps with
- navigate to a page and fill a form
- locate an element by
uidand click it - inspect JavaScript errors in the console
- find failed network requests
- record a trace and investigate LCP issues
Example prompts for the agent
- “Open the page, run `take_snapshot`, then click the submit button.”
- “Check `list_console_messages` and `list_network_requests` after the page loads.”
- “Start `performance_start_trace` with reload enabled and investigate the LCP issue.”
How to install chrome-devtools
1Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill chrome-devtools2GitHub CLI
gh skill install github/awesome-copilot chrome-devtools3Manually: put the files in place
.github/skills/chrome-devtools/SKILL.md1Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill chrome-devtools -a claude-code2Manually: put the files in place
~/.claude/skills/chrome-devtools/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/chrome-devtools/
Manually: put the files in place
.agents/skills/chrome-devtools/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/chrome-devtools/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
Platform CLI
gemini skills install https://github.com/github/awesome-copilot --path skills/chrome-devtoolsManually: put the files in place
.devin/skills/chrome-devtools/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set554
The whole set →Other versions of chrome-devtools
Similar
Questions about chrome-devtools
How do I install chrome-devtools in GitHub Copilot?
Run npx skills add github/awesome-copilot --skill chrome-devtools. You can also use gh skill install github/awesome-copilot chrome-devtools.
What does chrome-devtools do?
The skill connects an agent to a live Chrome browser through Chrome DevTools MCP. It automates browser actions, inspects console output and network requests, captures page state, and analyzes performance.
What does chrome-devtools need to work?
The skill uses the chrome-devtools MCP server to control and inspect Chrome. Take a fresh take_snapshot after navigation or DOM changes because element uid values can change.
Source text
SKILL.md · MIT
--- name: chrome-devtools description: '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.' license: MIT --- # Chrome DevTools Agent ## Overview 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. ## When to Use Use this skill when: - **Browser Automation**: Navigating pages, clicking elements, filling forms, and handling dialogs. - **Visual Inspection**: Taking screenshots or text snapshots of web pages. - **Debugging**: Inspecting console messages, evaluating JavaScript in the page context, and analyzing network requests. - **Performance Analysis**: Recording and analyzing performance traces to identify bottlenecks and Core Web Vital issues. - **Emulation**: Resizing the viewport or emulating network/CPU conditions. ## Tool Categories ### 1. Navigation & Page Management - `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. ### 2. Input & Interaction - `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. ### 3. Debugging & Inspection - `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. ### 4. Emulation & Performance - `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. ## Workflow Patterns ### Pattern A: Identifying Elements (Snapshot-First) Always prefer `take_snapshot` over `take_screenshot` for finding elements. The snapshot provides `uid` values which are required by interaction tools. ```markdown 1. `take_snapshot` to get the current page structure. 2. Find the `uid` of the target element. 3. Use `click(uid=...)` or `fill(uid=..., value=...)`. ``` ### Pattern B: Troubleshooting Errors When a page is failing, check both console logs and network requests. ```markdown 1. `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. ``` ### Pattern C: Performance Profiling Identify why a page is slow. ```markdown 1. `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. ``` ## Best Practices - **Context Awareness**: Always run `list_pages` and `select_page` if you are unsure which tab is currently active. - **Snapshots**: Take a new snapshot after any major navigation or DOM change, as `uid` values may change. - **Timeouts**: Use reasonable timeouts for `wait_for` to avoid hanging on slow-loading elements. - **Screenshots**: Use `take_screenshot` sparingly for visual verification, but rely on `take_snapshot` for logic.
© github · MIT · github/awesome-copilot