Extension Puppeteer Debugging
mengxi-ream/read-frog
Debug the built Read Frog extension in real Chrome. An agent skill from mengxi-ream/read-frog.
Use Chrome DevTools MCP from .NET agents and .NET-focused repos to inspect, debug, and automate Chrome through an MCP client.
$ npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install managedcode/dotnet-skills chrome-devtools-mcp --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/managedcode/dotnet-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp .claude/skills/chrome-devtools-mcp && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "chrome-devtools-mcp" agent skill from https://github.com/managedcode/dotnet-skills/tree/main/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp into .claude/skills/chrome-devtools-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-devtools-mcp", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/managedcode/dotnet-skills/tree/main/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcpType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install managedcode/dotnet-skills chrome-devtools-mcp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/managedcode/dotnet-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp .agents/skills/chrome-devtools-mcp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "chrome-devtools-mcp" agent skill from https://github.com/managedcode/dotnet-skills/tree/main/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp into .agents/skills/chrome-devtools-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-devtools-mcp", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install managedcode/dotnet-skills chrome-devtools-mcp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/managedcode/dotnet-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp .cursor/skills/chrome-devtools-mcp && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "chrome-devtools-mcp" agent skill from https://github.com/managedcode/dotnet-skills/tree/main/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp into .cursor/skills/chrome-devtools-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-devtools-mcp", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/managedcode/dotnet-skills.git --path catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install managedcode/dotnet-skills chrome-devtools-mcp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/managedcode/dotnet-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp .gemini/skills/chrome-devtools-mcp && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "chrome-devtools-mcp" agent skill from https://github.com/managedcode/dotnet-skills/tree/main/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp into .gemini/skills/chrome-devtools-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-devtools-mcp", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install managedcode/dotnet-skills chrome-devtools-mcpInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/managedcode/dotnet-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp .github/skills/chrome-devtools-mcp && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "chrome-devtools-mcp" agent skill from https://github.com/managedcode/dotnet-skills/tree/main/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp into .github/skills/chrome-devtools-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-devtools-mcp", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install managedcode/dotnet-skills chrome-devtools-mcp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/managedcode/dotnet-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp .opencode/skills/chrome-devtools-mcp && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "chrome-devtools-mcp" agent skill from https://github.com/managedcode/dotnet-skills/tree/main/catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp into .opencode/skills/chrome-devtools-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-devtools-mcp", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
chrome-devtools-mcpUse Chrome DevTools MCP from .NET agents and .NET-focused repos to inspect, debug, and automate Chrome through an MCP client.
Chrome Devtools MCP is an agent skill from managedcode/dotnet-skills. Use Chrome DevTools MCP from .NET agents and .NET-focused repos to inspect, debug, and automate Chrome through an MCP client. USE FOR: the repo needs browser-level debugging for ASP.NET Core, Blazor, WebAssembly, or any .NET app with a web UI; the user wants an MCP server that can inspect console. DO NOT USE FOR: pure .NET code analysis, unit testing, or NuGet/package management; static HTML linting alone. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or…
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `manifest.json`). Compatibility notes: Requires an MCP-capable .NET agent/app or repo with a browser-debugging workflow; Chrome DevTools MCP runs as an external Node-based server and needs Chrome…
It sits in Development, covering Browser testing, MCP servers and Linting and formatting. It works with Model Context Protocol, Chrome DevTools, .NET and ASP.NET Core. The repository describes itself as: Installable .NET skill catalog and CLI for Codex, Claude Code, GitHub Copilot, and Gemini. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 535dd55. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
codexnpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires an MCP-capable .NET agent/app or repo with a browser-debugging workflow; Chrome DevTools MCP runs as an external Node-based server and needs Chrome or Chrome for Testing.
From compatibility in the SKILL.md frontmatter.
Chrome Devtools MCP loads about 2.2k tokens when it runs. Until then it costs about 143 tokens; SKILL.md has 1,021 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from managedcode/dotnet-skills at commit 535dd55, republished under its MIT licence (© managedcode). 1,021 words, ~2,205 tokens.
.claude/skills/chrome-devtools-mcp/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.AGENTS.md--browserUrl or --wsEndpoint--autoConnect only when Chrome 144+ and remote debugging are already enabled--slim when you only need navigation, JavaScript execution, and screenshotsv1.8.0 adds PWA automation, query_heapsnapshot, richer heap-edge and native-context inspection, console stack traces, multi-file upload, and a stable-DOM bypass for evaluate_script. Enable memory-debugging tools explicitly and keep heap output bounded to the investigation.pageId by default. Update callers to select and pass the intended page instead of relying on ambient tab state. The release also fixes CLI default handling, remote-path validation, HiDPI screenshot bounds, slow-client root listing, and lifecycle regressions; reproduce the real browser path before adding client-side workarounds.allowedUrlPattern / blockedUrlPattern over relying only on prompt instructions.Use the same JSON MCP server block in whatever .NET agent/app host you use:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}Common variants:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
}
}
}{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--browserUrl", "http://127.0.0.1:9222"]
}
}
}For Codex CLI, the upstream repo documents:
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest--slim: three-tool surface for navigation, JavaScript execution, and screenshots only--headless: run without UI--browserUrl or --wsEndpoint: attach to an existing debuggable browser--wsHeaders: add custom WebSocket headers when --wsEndpoint is used--autoConnect: connect to a locally running Chrome 144+ instance instead of launching a new one--channel stable|beta|dev|canary: pick a Chrome channel--isolated: create and clean up a temporary profile--userDataDir: reuse a specific Chrome profile directory--no-usage-statistics: opt out of usage collection--no-performance-crux: stop sending performance trace URLs to CrUX--acceptInsecureCerts: only when the target environment uses self-signed or expired certs--allow-unrestricted-paths: opt out of filesystem path restrictions only for a trusted local workflow that genuinely needs arbitrary path access--logFile <path>: opt-in debug artifact for an unresolved bug; keep it size-bounded outside model context and inspect only exact bounded excerpts--experimentalScreencast: only when ffmpeg is available and you need video capture--browserUrl if the browser is already running, or let the server launch Chrome--headless --isolated--slim for quick smoke checks, not for performance work--browserUrl or --wsEndpoint--userDataDir--isolatedflowchart LR
A[".NET repo or app"] --> B["MCP-capable agent/app"]
B --> C["chrome-devtools-mcp config"]
C --> D["Chrome"]
D --> E["Console / network / screenshots / traces"]--slim lowers token and tool overhead, but it removes network, performance, and emulation workflows.--isolated is safer for disposable runs, but it discards existing browser state and logins.--autoConnect is convenient for local debugging, but it depends on Chrome 144+ and remote debugging being enabled.--no-usage-statistics and CrUX-backed performance traces may change what data leaves the machine; disable them when policy requires it.--headless is good for CI or scripted runs, but it can hide UI-specific failures.--chromeArg='--no-sandbox' or similar launch flags can be necessary in some container or root environments, but only use it when the environment really requires it.npx returns a permission denied error on macOS from _npx, clear ~/.npm/_npx and rerun.--channel, --executablePath, and whether Chrome is installed on the host.http://127.0.0.1:9222/json/version and the webSocketDebuggerUrl value.npx -y chrome-devtools-mcp@latest --help prints the expected flags on the current host--slim for quick browser checks, full mode for debugging and performance© managedcode, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp of managedcode/dotnet-skills.
Open the folder on GitHubat commit 535dd55
Chrome Devtools MCP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Chrome Devtools MCP this skillmanagedcode/dotnet-skills | 486 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Extension Puppeteer Debuggingmengxi-ream/read-frog | 10k | — | ~2k | Automated safety check: Notes | GPL-3.0 | |
| System Bridge Testing Workflowtimmo001/system-bridge | 356 | — | ~843 | Automated safety check: Pass | Apache-2.0 | |
| Vscode MCP Architecturetjx666/vscode-mcp | 106 | — | ~1.5k | Automated safety check: Pass | Custom licence | |
| Browser Testing With Devtoolsshashankswe2020-ux/whoop-mcp | 166 | — | ~3k | Automated safety check: Warn | MIT | |
| Dotnet Debuggingnovotnyllc/dotnet-artisan | 233 | — | ~2.1k | Automated safety check: Pass | MIT |
mengxi-ream/read-frog
Debug the built Read Frog extension in real Chrome. An agent skill from mengxi-ream/read-frog.
timmo001/system-bridge
How to test System Bridge - Go table-driven tests and commands, web-client quality checks (lint/typecheck/format, no unit tests), the Chrome DevTools MCP interactive test loop for UI and WebSocket…
tjx666/vscode-mcp
VSCode MCP Bridge project architecture — current monorepo layout, IPC/EventDispatcher flow, per-workspace socket discovery, MCP/CLI adapters, tool filtering, and VSCode extension services.
shashankswe2020-ux/whoop-mcp
Tests in real browsers. An agent skill from shashankswe2020-ux/whoop-mcp.
novotnyllc/dotnet-artisan
Debugs Windows and Linux/macOS applications (native, .NET/CLR, mixed-mode) with WinDbg MCP (crash dumps, !analyze, !syncblk, !dlk, !runaway, !dumpheap, !gcroot, BSOD), dotnet-dump, lldb with SOS…
jenissimo/bottleship
Drive and observe the BottleShip emulator to bring up a game, using the AI-agent harness (window.BS.harness + bun tools/harness.ts).
managedcode/dotnet-skills
Use a repo-root .editorconfig to configure free .NET analyzer and style rules.
managedcode/dotnet-skills
Use the open-source free ArchUnitNET library for architecture rules in .NET tests.
managedcode/dotnet-skills
Build, upgrade, and operate Aspire 13.5.x C or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults, integrations, dashboard, testing, MCP, and deployment patterns for…
managedcode/dotnet-skills
Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging, and deployment patterns on current .NET.
managedcode/dotnet-skills
Use the open-source free Asynkron.Profiler dotnet tool for CLI-first CPU, allocation, exception, contention, and heap profiling of .NET commands or existing trace artifacts.
managedcode/dotnet-skills
Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable Functions patterns.
Categories
Use Chrome DevTools MCP from .NET agents and .NET-focused repos to inspect, debug, and automate Chrome through an MCP client. Chrome Devtools MCP is an agent skill from managedcode/dotnet-skills.NET-focused repos to inspect, debug, and automate Chrome through an MCP client.
Chrome Devtools MCP fits situations like: : the repo needs browser-level debugging for ASP.NET Core; any .NET app with a web UI; the user wants an MCP server that can inspect console; : pure .NET code analysis.
Run `npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a claude-code`. Or copy the skill folder (catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp in managedcode/dotnet-skills) into .claude/skills/chrome-devtools-mcp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a codex`. Or copy the skill folder (catalog/Tools/Chrome-DevTools-MCP/skills/chrome-devtools-mcp in managedcode/dotnet-skills) into .agents/skills/chrome-devtools-mcp in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add managedcode/dotnet-skills --skill chrome-devtools-mcp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chrome-devtools-mcp, .gemini/skills/chrome-devtools-mcp, .github/skills/chrome-devtools-mcp and .opencode/skills/chrome-devtools-mcp in your project.
Going by SKILL.md and its folder, Chrome Devtools MCP needs the command-line tools its instructions call (codex and npx). Our summary lists: Node.js. Compatibility (from SKILL.md): Requires an MCP-capable .NET agent/app or repo with a browser-debugging workflow; Chrome DevTools MCP runs as an external Node-based server and needs Chrome or Chrome for Testing..
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Chrome Devtools MCP is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Chrome Devtools MCP: Extension Puppeteer Debugging (mengxi-ream/read-frog, 10k stars), System Bridge Testing Workflow (timmo001/system-bridge, 356 stars), Vscode MCP Architecture (tjx666/vscode-mcp, 106 stars) and Browser Testing With Devtools (shashankswe2020-ux/whoop-mcp, 166 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
managedcode (a GitHub organization) maintains it in managedcode/dotnet-skills, which has 486 GitHub stars. The repository holds 81 skills in this directory. The repository was last updated on October 7, 2026.
Source: managedcode/dotnet-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.