
Chrome Devtools
Automate Chrome with Puppeteer CLI scripts for screenshots, performance traces, network inspection, scraping, forms, and live JS debugging.
Overview
Chrome DevTools is an agent skill most often used in Build (also Ship testing) that runs Puppeteer CLI scripts for browser automation, debugging, and performance analysis with JSON output.
Install
npx skills add https://github.com/mrgoonie/claudekit-skills --skill chrome-devtoolsWhat is this skill?
- Puppeteer-based executable scripts with JSON stdout for agent parsing
- Linux/WSL system dependency installer (install-deps.sh) plus npm install for puppeteer stack
- Optional ImageMagick compression so screenshots stay under 5MB for vision models
- Covers automation, screenshots, performance analysis, network monitoring, scraping, and form filling
- Requires checking pwd before runs so scripts resolve from the skill scripts directory
- Optional ImageMagick path targets screenshots under 5MB
- install-deps.sh supports Ubuntu, Debian, Fedora, RHEL, CentOS, Arch, and Manjaro
Adoption & trust: 649 installs on skills.sh; 2.1k GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need reliable browser automation and captures from your coding agent without writing one-off Puppeteer glue every sprint.
Who is it for?
Indie builders debugging UI, validating flows, or harvesting page data from a local or staging site.
Skip if: Teams that only need static linting with no browser, or production scraping at scale without reviewing network and ToS constraints.
When should I use this skill?
Automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, or JavaScript debugging.
What do I get? / Deliverables
Installed scripts return structured JSON from real Chrome sessions—screenshots, traces, and navigations you can feed back into the agent for fixes or reviews.
- JSON command results (navigation, metrics, network summaries)
- Screenshot image files optionally compressed for model upload
- Performance or debug captures referenced in agent follow-up tasks
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Primary shelf is Build → frontend because the skill drives real browser sessions against pages you are building or integrating. Frontend subphase matches UI verification, automation, and client-side debugging rather than backend-only APIs.
Where it fits
Capture rendered UI and console errors while iterating on a React checkout flow.
Run performance and network captures against staging before release.
Screenshot landing variants for social or changelog assets from production-like URLs.
How it compares
Integration skill with bundled Puppeteer scripts, not an MCP browser server or hosted Playwright cloud.
Common Questions / FAQ
Who is chrome-devtools for?
Solo and indie developers using Claude Code or similar agents who want scripted Chrome automation from the claudekit-skills package.
When should I use chrome-devtools?
During Build frontend work for live page checks, Ship testing for repro screenshots and performance passes, and Launch distribution checks on staging URLs.
Is chrome-devtools safe to install?
Scripts use shell, network, and full browser control; review the Security Audits panel on this Prism page and avoid pointing automation at prod accounts with live secrets.
SKILL.md
READMESKILL.md - Chrome Devtools
.browser-endpoint --- name: chrome-devtools description: Browser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging. license: Apache-2.0 --- # Chrome DevTools Agent Skill Browser automation via executable Puppeteer scripts. All scripts output JSON for easy parsing. ## Quick Start **CRITICAL**: Always check `pwd` before running scripts. ### Installation #### Step 1: Install System Dependencies (Linux/WSL only) On Linux/WSL, Chrome requires system libraries. Install them first: ```bash pwd # Should show current working directory cd .claude/skills/chrome-devtools/scripts ./install-deps.sh # Auto-detects OS and installs required libs ``` Supports: Ubuntu, Debian, Fedora, RHEL, CentOS, Arch, Manjaro **macOS/Windows**: Skip this step (dependencies bundled with Chrome) #### Step 2: Install Node Dependencies ```bash npm install # Installs puppeteer, debug, yargs ``` #### Step 3: Install ImageMagick (Optional, Recommended) ImageMagick enables automatic screenshot compression to keep files under 5MB: **macOS:** ```bash brew install imagemagick ``` **Ubuntu/Debian/WSL:** ```bash sudo apt-get install imagemagick ``` **Verify:** ```bash magick -version # or: convert -version ``` Without ImageMagick, screenshots >5MB will not be compressed (may fail to load in Gemini/Claude). ### Test ```bash node navigate.js --url https://example.com # Output: {"success": true, "url": "https://example.com", "title": "Example Domain"} ``` ## Available Scripts All scripts are in `.claude/skills/chrome-devtools/scripts/` **CRITICAL**: Always check `pwd` before running scripts. ### Script Usage - `./scripts/README.md` ### Core Automation - `navigate.js` - Navigate to URLs - `screenshot.js` - Capture screenshots (full page or element) - `click.js` - Click elements - `fill.js` - Fill form fields - `evaluate.js` - Execute JavaScript in page context ### Analysis & Monitoring - `snapshot.js` - Extract interactive elements with metadata - `console.js` - Monitor console messages/errors - `network.js` - Track HTTP requests/responses - `performance.js` - Measure Core Web Vitals + record traces ## Usage Patterns ### Single Command ```bash pwd # Should show current working directory cd .claude/skills/chrome-devtools/scripts node screenshot.js --url https://example.com --output ./docs/screenshots/page.png ``` **Important**: Always save screenshots to `./docs/screenshots` directory. ### Automatic Image Compression Screenshots are **automatically compressed** if they exceed 5MB to ensure compatibility with Gemini API and Claude Code (which have 5MB limits). This uses ImageMagick internally: ```bash # Default: auto-compress if >5MB node screenshot.js --url https://example.com --output page.png # Custom size threshold (e.g., 3MB) node screenshot.js --url https://example.com --output page.png --max-size 3 # Disable compression node screenshot.js --url https://example.com --output page.png --no-compress ``` **Compression behavior:** - PNG: Resizes to 90% + quality 85 (or 75% + quality 70 if still too large) - JPEG: Quality 80 + progressive encoding (or quality 60 if still too large) - Other formats: Converted to JPEG with compression - Requires ImageMagick installed (see imagemagick skill) **Output includes compression info:** ```json { "success": true, "output": "/path/to/page.png", "compressed": true, "originalSize": 8388608, "size": 3145728, "compressionRatio": "62.50%", "url": "https://example.com" } ``` ### Chain Commands (reuse browser) ```bash # Keep browser open with --close false node navigate.js --url https://example.com/login --close false node fill.js --selector "#email" --value "user@example.com" --close false node fill.js --selector "#password" --value "secret" --close false node click.js --selector "button[type=submit]" ``` ### Pa