Loading...
Loading...
Frontend website debugging toolkit using Chrome DevTools Protocol with Playwright/WebKit fallbacks. Use this skill when: (1) Debugging CSS, HTML, or JavaScript issues on a webpage, (2) Taking screenshots to verify visual changes, (3) Inspecting DOM structure or console errors, (4) Testing responsive layouts, (5) Extracting selectors for automation, (6) Self-debugging frontend work Claude has created, (7) User says "debug this page", "check my site", "why doesn't this look right", or "fix the frontend". Supports Chrome (primary) and Safari/WebKit (via Playwright). Designed for agent-driven debugging loops.
npx skill4agent add anthemflynn/ccmp website-debug/debug-page <url>/screenshot/pick-element/test-responsive/verify-changes# Start browser
node scripts/browser-start.js
node scripts/browser-start.js --profile # Preserve logins
node scripts/browser-start.js --webkit # Safari/WebKit
# Navigate
node scripts/browser-nav.js https://localhost:3000
# Debug
node scripts/browser-screenshot.js
node scripts/browser-eval.js 'document.title'
node scripts/browser-pick.js "Select element"
node scripts/browser-console.js --errors
node scripts/browser-network.js --failures| Script | Purpose | Output |
|---|---|---|
| Launch Chrome/WebKit with debug port | Status message |
| Navigate to URL | Confirmation |
| Capture viewport | File path (PNG) |
| Run JS in page | Result or error |
| Interactive selector | CSS selectors |
| Get console output | Logs/errors |
| Network activity | Request/response data |
| Get DOM snapshot | HTML fragment |
| Close browser | Confirmation |
# After making CSS/HTML changes, verify visually
node scripts/browser-screenshot.js
# Claude reads the screenshot, identifies issues, iterates# Check for JavaScript errors after changes
node scripts/browser-console.js --errors
# Fix any errors found, re-verify# Test at different viewport sizes
node scripts/browser-resize.js 375 667 # iPhone SE
node scripts/browser-screenshot.js
node scripts/browser-resize.js 768 1024 # iPad
node scripts/browser-screenshot.js
node scripts/browser-resize.js 1920 1080 # Desktop
node scripts/browser-screenshot.js# When user reports "X looks wrong", have them select it
node scripts/browser-pick.js "Click on the element that looks wrong"
# Returns detailed info including computed styles--profilenode scripts/browser-start.js --webkit| Scenario | Engine |
|---|---|
| General debugging | Chrome |
| Safari layout issues | WebKit |
| Testing with logins | Chrome |
| Cross-browser comparison | Both |
| CI/headless testing | Chrome or WebKit |
# Capture multiple screenshots for comparison
node scripts/browser-screenshot.js --output=/tmp/before.png
# ... make changes ...
node scripts/browser-screenshot.js --output=/tmp/after.png
# Save DOM snapshot for analysis
node scripts/browser-dom.js "body" > /tmp/page-structure.html
# Export console log for review
node scripts/browser-console.js > /tmp/console-log.txt# Navigate and screenshot in one command
node scripts/browser-nav.js https://example.com && node scripts/browser-screenshot.js
# Full page audit
node scripts/browser-nav.js $URL && \
node scripts/browser-console.js --errors > /tmp/errors.txt && \
node scripts/browser-screenshot.jsnpm install -g playwright
npx playwright install webkitnpm install -g puppeteer-corenode scripts/browser-start.js # Restart browserchmod +x ./scripts/*.jskillall "Google Chrome" 2>/dev/null
node scripts/browser-start.jsnpx playwright install webkit