Help us improve
Share bugs, ideas, or general feedback.
From product-design
Captures browser console, network, and performance logs using Chrome DevTools MCP for debugging web apps, errors, and page behavior. Auto-activates on browser issues.
npx claudepluginhub jpoutrin/product-forge --plugin product-designHow this skill is triggered โ by the user, by Claude, or both
Slash command
/product-design:browser-debugThe summary Claude sees in its skill listing โ used to decide when to auto-load this skill
Comprehensive browser log capture for AI-led debugging using Chrome DevTools MCP.
Tests and debugs browser-rendered code via Chrome DevTools MCP. Inspects DOM, captures console errors, analyzes network requests, profiles performance, and verifies visual output with live runtime data.
Attaches a read-only CDP client to an active browser session to record DevTools traffic, screenshots, and DOM snapshots, then slices the output into per-page searchable buckets for debugging or agent feedback loops.
Launches and configures Chrome DevTools MCP server for visual access to live browser, enabling screenshots, DOM snapshots, console debugging, network inspection, Core Web Vitals measurement, Lighthouse audits, and automation of interactions on Windows/Linux/WSL2.
Share bugs, ideas, or general feedback.
Comprehensive browser log capture for AI-led debugging using Chrome DevTools MCP.
Works with any Chromium-based browser: Dia, Chrome, Edge, Brave, Opera, etc.
This skill auto-loads when:
โ Supported Browsers (Chromium-based):
Why Chromium? These browsers all use the Chrome DevTools Protocol, which provides consistent debugging APIs across platforms.
Create timestamped session directory for organized log storage:
~/browser-logs/sessions/YYYYMMDD-HHMMSS-{page-description}/~/browser-logs/latest/ points to most recent session~/.claude/forge/config/browser-capture.yamlUse Chrome DevTools MCP to capture all console messages with filtering:
Error messages (critical):
mcp__plugin_product-design_chrome-devtools__list_console_messages(
pageIdx=0,
pageSize=100,
types=["error"],
includePreservedMessages=True # Last 3 navigations
)
Warnings (important):
mcp__plugin_product-design_chrome-devtools__list_console_messages(
pageIdx=0,
pageSize=100,
types=["warn"],
includePreservedMessages=True
)
All logs (context):
mcp__plugin_product-design_chrome-devtools__list_console_messages(
pageIdx=0,
pageSize=100,
types=["error", "warn", "info", "log", "debug"],
includePreservedMessages=True
)
Output files:
console-error.log - Only errorsconsole-warn.log - Only warningsconsole-all.log - All console outputCapture network requests with filtering:
Failed requests (4xx, 5xx errors):
# List all requests first
mcp__plugin_product-design_chrome-devtools__list_network_requests(
pageIdx=0,
pageSize=100,
resourceTypes=["xhr", "fetch", "document"], # Exclude static assets
includePreservedRequests=False
)
# Then filter for failures (status >= 400)
XHR/Fetch API calls:
mcp__plugin_product-design_chrome-devtools__list_network_requests(
pageIdx=0,
pageSize=100,
resourceTypes=["xhr", "fetch"],
includePreservedRequests=False
)
Get detailed request data:
mcp__plugin_product-design_chrome-devtools__get_network_request(
reqid=67890,
responseFilePath="/path/to/session/response-67890.json",
requestFilePath="/path/to/session/request-67890.json"
)
Output files:
network-errors.log - Failed requests onlynetwork-all.log - All network activitynetwork-detail.json - Full request/response dataFor performance debugging, capture trace data:
# Start performance tracing
mcp__plugin_product-design_chrome-devtools__performance_start_trace(
reload=False, # Capture current session
autoStop=False
)
# ... perform operations ...
# Stop and save trace
mcp__plugin_product-design_chrome-devtools__performance_stop_trace(
filePath="/path/to/session/performance-trace.json.gz"
)
Output file:
performance-trace.json.gz - Chrome DevTools-compatible traceGenerate debugging report with findings and recommendations:
For automated capture, use the forge browser-capture command:
# Capture everything
forge browser-capture --page "Dashboard" --all
# Capture only console errors
forge browser-capture --console --errors-only
# Capture network requests (exclude static resources)
forge browser-capture --network --exclude-static
# Custom output directory
forge browser-capture --page "Login Flow" --output ./test-logs --all
Command options:
--page - Page description for session naming--console - Capture console messages only--network - Capture network requests only--performance - Capture performance trace only--all - Capture all logs (default)--output - Custom output directory--exclude-static - Exclude images, fonts, stylesheets--errors-only - Only capture errors and warningsThis skill complements other Product Forge debugging skills:
When to use: Deep analysis of console error messages
/console-debugging after capturing logsWhen to use: Detailed network request investigation
/network-inspection after capturing network logsWhen to use: Complex multi-layer debugging across frontend/backend
/debug-orchestrator to coordinate browser + backend debuggingConfig file: ~/.claude/forge/config/browser-capture.yaml
Auto-created on first run with sensible defaults:
output_dir: ~/browser-logs
console:
levels: [error, warn, info, log]
include_preserved: true # Last 3 navigations
network:
exclude_types: [image, font, stylesheet, media]
save_errors_separately: true
capture_bodies: false
performance:
enabled: false # Enable on-demand
duration_seconds: 10
filters:
exclude_urls:
- "*.map"
- "*analytics*"
- "*tracking*"
exclude_console_patterns:
- "Download the React DevTools"
output:
create_symlink: true # Create 'latest' symlink
max_sessions: 50 # Future: auto-cleanup
Customization:
~/.claude/forge/config/browser-capture.yamlforge browser-capture --console --errors-only
console-error.logforge browser-capture --network --exclude-static
network-errors.log for failed requestsnetwork-detail.json for request/response detailsforge browser-capture --page "Slow Page" --performance
performance-trace.json.gz)forge browser-capture --page "Full Debug Session" --all
--page "User Login Flow" not --page "page1"archive/ folder after investigationProblem: MCP tools timeout or return empty results
Solutions:
Problem: Sessions with thousands of messages are slow
Solutions:
--errors-only to capture critical messages--exclude-static for network logsProblem: Logs may contain tokens, passwords, PII
Solutions:
filters.exclude_console_patternscapture_bodies: false in config to exclude request/response bodiesProblem: pyyaml module not found
Solutions:
cd /Users/jeremiepoutrin/projects/github/jpoutrin/product-forge
uv pip install -e .
After running forge browser-capture --page "Dashboard" --all:
Capturing console logs...
Capturing network logs...
Capturing performance trace...
โ
Browser logs captured successfully!
๐ Session: /Users/jeremiepoutrin/browser-logs/sessions/20260218-143022-Dashboard/
โ console messages: 47
โ network requests: 23
โ performance trace saved
๐ก Use browser-debug skill for automated analysis
Session directory structure:
20260218-143022-Dashboard/
โโโ console-error.log # 3 errors
โโโ console-warn.log # 12 warnings
โโโ console-all.log # 47 total messages
โโโ network-errors.log # 2 failed requests
โโโ network-all.log # 23 requests
โโโ network-detail.json # Full request data
โโโ performance-trace.json.gz # Performance profile
Version: 1.0.0 Last Updated: 2026-02-18 Maintainer: Product Forge Team