You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New Killer Features (visual precision + pair programming capabilities)
π― Core Value Proposition
"The Only Browser Tools Built for Human-AI Pair Programming"
While Puppeteer controls a separate browser, Browser Tools UI works in YOUR actual browser for true real-time collaboration with pixel-perfect precision.
π TOOL INVENTORY
π’ OUR CURRENT TOOLS (Extension-Based - 2/9 Working)
Note: Covers Core Web Vitals but NOT full Lighthouse (no accessibility/SEO/best-practices)
Network (2 tools)
get_network_request - Get specific request
list_network_requests - List all requests
Debugging (3 tools)
evaluate_script - Execute JavaScript
list_console_messages - Get console logs snapshot
take_screenshot - Capture screenshot
take_snapshot - Get page HTML
β NEW KILLER FEATURES (Proposed - High Value!)
Priority 1: Visual Precision Tools π―
Feature
Tool Name
Difficulty
Value
Description
Visual Diff Engine
browser_visual_diff
π’ Easy
βββββ
Pixel-level before/after comparison using pixelmatch library
Layout Measurement
browser_measure_layout
π’ Easy
βββββ
Precise alignment/spacing data via getBoundingClientRect()
Computed Styles
browser_analyze_styles
π‘ Medium
ββββ
Actual applied CSS + conflict detection
Accessibility Overlay
browser_accessibility_overlay
π‘ Medium
ββββ
Visual indicators for a11y issues on screenshots
Priority 2: Collaborative Debugging π€
Feature
Tool Name
Difficulty
Value
Description
Collaborative Debug
browser_collaborative_debug
π‘ Medium
βββββ
Real-time pair programming via chrome.debugger API
Service Worker Debug
browser_debug_service_worker
π‘ Medium
βββ
Debug SW in user's actual browser context
Live State Inspection
browser_get_application_state
π’ Easy
ββββ
localStorage, sessionStorage, cookies, etc.
π COMPARISON: Our Tools vs Google's MCP
Capability
Google's MCP
Our Tools
Total Tools
25
9 core + 7 new = 16
Architecture
Puppeteer (separate browser)
Extension (user's actual browser)
Use Case
Headless automation, CI/CD
Interactive pair programming
Visibility
Headless OR intrusive windows
Non-intrusive background tabs
Collaboration
β No (isolated automation)
β Yes (real-time in same browser)
Performance Analysis
Core Web Vitals only
Full Lighthouse (perf + a11y + SEO + best-practices)
Visual Precision
β None
β Pixel-diff, measurements, overlay
CSS Debugging
β None
β Computed styles + conflicts
Real Context Access
β Isolated
β User's actual SW, storage, network
Pair Programming
β No
β Breakpoints, shared console, live state
π‘ WHY THESE NEW FEATURES ARE KILLER
Problem Statement:
"Claude always thinks 'it's fixed!' when it isn't" - @user
AI agents can't accurately judge pixel-perfect visual results, leading to wasted iteration loops.
How We Solve It:
1. browser_visual_diff (Pixelmatch Integration)
What Claude Gets:
{
"pixelsChanged": 1247,
"percentChanged": 3.2,
"diffImageBase64": "...",
"verdict": "CHANGED - verify if intentional",
"analysis": {
"majorChanges": ["Header moved 15px down"],
"minorChanges": ["Button color shifted #ff0000 β #ff0033"]
}
}
Instead of: "Hmm, looks centered now!" β Claude says: "Modified 1,247 pixels (3.2%). Here's the visual diff showing the changes. Header moved 15px down - is this intentional?" β
Integration:
Library: pixelmatch (150 lines, zero dependencies, ISC license)
Before/after automatic snapshots
Runs in browser (no server needed)
2. browser_measure_layout (Precise Measurements)
What Claude Gets:
{
"selector": "#hero-button",
"measurements": {
"centerX": 447,
"centerY": 144,
"width": 200,
"height": 48
},
"viewport": {
"centerX": 700,
"centerY": 450
},
"analysis": {
"horizontalAlignment": "13px left of center β",
"verticalAlignment": "centered β ",
"recommendations": ["Add margin-left: 13px to center horizontally"]
}
}
Instead of: "Looks centered!" β Claude says: "Button is 13px left of horizontal center. Adding margin-left: 13px..." β
Instead of: "I set justify-content: center, should be centered!" β Claude says: "Found it! Another rule is setting justify-content: flex-start at styles.css:145. The inline style is overriding your background color. Fixing specificity..." β
// Claude sets breakpoint in USER'S browserawaitbrowser_set_breakpoint({file: "app.js",line: 42,condition: "user.role === 'admin'"});// Code runs β hits breakpoint β user's DevTools pauses// User: "Claude, look at this variable value!"// Claude sees it through console/screenshot// We debug TOGETHER in the same browser!
Key Capabilities:
β Access user's real service workers
β Debug with real localStorage/sessionStorage/cookies
β See actual network requests (with auth tokens, CORS issues)
β Set breakpoints collaboratively
β True pair programming (same browser, same context)
Integration:
chrome.debugger API
Chrome DevTools Protocol
Careful permission handling
π¨ UI IMPROVEMENTS
Rename Extension Panel Console
Issue: Confusing to have two "Console" tabs (extension panel + DevTools)
Proposal: Rename extension panel console to:
Option A: "Activity Log" (shows what Claude is doing)
Option B: "AI Console" (makes purpose clear)
Option C: "Session Log" (broader than just console)
Option D: "Pair Log" (emphasizes collaboration)
User preference?
Console Sync for Pair Programming
Current:
Claude gets console via browser_get_console tool
User sees console in DevTools
Not synchronized!
Proposal:
Extension panel shows SAME console errors/logs
Real-time updates as they happen
Color-coded by level (error=red, warn=yellow, etc.)
Click to jump to DevTools console for details
Claude and user literally "looking at same console"
Benefits:
β True pair programming experience
β User sees what Claude is seeing
β Faster debugging (no "did you check the console?" confusion)
π IMPLEMENTATION ROADMAP
Phase 1: Foundation (β Done)
Chrome extension + HTTP bridge + MCP server
browser_navigate working
browser_screenshot working (needs response flow fix)
π Complete Browser Tools Feature Roadmap
π Executive Summary
This issue documents our complete tool strategy combining:
π― Core Value Proposition
π TOOL INVENTORY
π’ OUR CURRENT TOOLS (Extension-Based - 2/9 Working)
browser_navigatebrowser_screenshotbrowser_clickbrowser_typebrowser_waitbrowser_evaluatebrowser_get_contentbrowser_auditbrowser_get_consoleCurrent Progress: 2-3/9 tools working
π΅ GOOGLE'S CHROME-DEVTOOLS-MCP TOOLS (Puppeteer - 25 Tools)
Users can install alongside our tools via:
{ "mcpServers": { "chrome-devtools": { "command": "npx", "args": ["-y", "chrome-devtools-mcp@latest"] }, "browser-tools-ui": { "command": "node", "args": ["path/to/our/server.mjs"] } } }Input Automation (7 tools)
click- Click elementsdrag- Drag and dropfill- Fill input fieldsfill_form- Fill multi-field formshandle_dialog- Handle alerts/confirmshover- Mouse hoverupload_file- File uploadsNavigation Automation (7 tools)
close_page- Close tabslist_pages- List all tabsnavigate_page- Navigate URLsnavigate_page_history- Back/forwardnew_page- Open new tabselect_page- Switch tabswait_for- Wait for conditionsEmulation (3 tools)
emulate_cpu- CPU throttlingemulate_network- Network conditionsresize_page- Viewport sizingPerformance (3 tools)
performance_start_trace- Start performance traceperformance_stop_trace- Stop traceperformance_analyze_insight- Analyze metrics (LCP, CLS, TBT)Note: Covers Core Web Vitals but NOT full Lighthouse (no accessibility/SEO/best-practices)
Network (2 tools)
get_network_request- Get specific requestlist_network_requests- List all requestsDebugging (3 tools)
evaluate_script- Execute JavaScriptlist_console_messages- Get console logs snapshottake_screenshot- Capture screenshottake_snapshot- Get page HTMLβ NEW KILLER FEATURES (Proposed - High Value!)
Priority 1: Visual Precision Tools π―
browser_visual_diffpixelmatchlibrarybrowser_measure_layoutgetBoundingClientRect()browser_analyze_stylesbrowser_accessibility_overlayPriority 2: Collaborative Debugging π€
browser_collaborative_debugchrome.debuggerAPIbrowser_debug_service_workerbrowser_get_application_stateπ COMPARISON: Our Tools vs Google's MCP
π‘ WHY THESE NEW FEATURES ARE KILLER
Problem Statement:
How We Solve It:
1. browser_visual_diff (Pixelmatch Integration)
What Claude Gets:
{ "pixelsChanged": 1247, "percentChanged": 3.2, "diffImageBase64": "...", "verdict": "CHANGED - verify if intentional", "analysis": { "majorChanges": ["Header moved 15px down"], "minorChanges": ["Button color shifted #ff0000 β #ff0033"] } }Instead of: "Hmm, looks centered now!" β
Claude says: "Modified 1,247 pixels (3.2%). Here's the visual diff showing the changes. Header moved 15px down - is this intentional?" β
Integration:
pixelmatch(150 lines, zero dependencies, ISC license)2. browser_measure_layout (Precise Measurements)
What Claude Gets:
{ "selector": "#hero-button", "measurements": { "centerX": 447, "centerY": 144, "width": 200, "height": 48 }, "viewport": { "centerX": 700, "centerY": 450 }, "analysis": { "horizontalAlignment": "13px left of center β", "verticalAlignment": "centered β ", "recommendations": ["Add margin-left: 13px to center horizontally"] } }Instead of: "Looks centered!" β
Claude says: "Button is 13px left of horizontal center. Adding margin-left: 13px..." β
Integration:
getBoundingClientRect()API3. browser_analyze_styles (Computed CSS + Conflicts)
What Claude Gets:
{ "selector": ".button", "computedStyles": { "display": "flex", "justifyContent": "flex-start", // AH! Not "center"! "backgroundColor": "#ff0000" }, "styleOrigins": { "justifyContent": "styles.css:145 (.button)", "backgroundColor": "inline style (overriding)" }, "conflicts": [ { "property": "backgroundColor", "declared": "#00ff00", "actual": "#ff0000", "reason": "Overridden by inline style (higher specificity)" } ] }Instead of: "I set justify-content: center, should be centered!" β
Claude says: "Found it! Another rule is setting justify-content: flex-start at styles.css:145. The inline style is overriding your background color. Fixing specificity..." β
Integration:
getComputedStyle()API4. browser_collaborative_debug (Real-Time Pair Programming)
Puppeteer CAN'T do this!
What This Enables:
Key Capabilities:
Integration:
chrome.debuggerAPIπ¨ UI IMPROVEMENTS
Rename Extension Panel Console
Issue: Confusing to have two "Console" tabs (extension panel + DevTools)
Proposal: Rename extension panel console to:
User preference?
Console Sync for Pair Programming
Current:
browser_get_consoletoolProposal:
Benefits:
π IMPLEMENTATION ROADMAP
Phase 1: Foundation (β Done)
browser_navigateworkingbrowser_screenshotworking (needs response flow fix)browser_get_consoleworkingPhase 2: Complete Core Tools (2 weeks)
browser_screenshotWebSocket response (πΈ Enhance Screenshot Directory UI and Fix File SavingΒ #64)browser_clickbrowser_typebrowser_waitbrowser_evaluatebrowser_get_contentbrowser_audit(Lighthouse)Phase 3: Visual Precision Tools (2 weeks) β KILLER FEATURES
browser_visual_diff(pixelmatch integration)browser_measure_layout(precise measurements)browser_analyze_styles(computed CSS)browser_accessibility_overlay(visual a11y indicators)Phase 4: Collaborative Features (2 weeks) π€
browser_collaborative_debug(chrome.debugger API)browser_get_application_state(live state inspection)Phase 5: Polish & Documentation (1 week)
π― SUCCESS METRICS
For Users:
For Claude:
π COMPETITIVE POSITIONING
Google's chrome-devtools-mcp:
Our browser-tools-ui:
Tagline:
π TECHNICAL REFERENCES
Libraries & APIs:
Research:
π€ DECISION POINTS
1. Extension Panel Console Naming
What should we rename the extension panel console to avoid confusion with DevTools console?
2. Priority Order for Phase 3 Features
Which visual precision tool should we build first?
3. Google MCP Integration Strategy
How should we position relative to Google's chrome-devtools-mcp?
π NEXT STEPS
π¬ DISCUSSION
Open for team discussion on priorities, naming, and implementation strategy!