Skip to content

Browser feedback extension#14

Draft
sagalbot wants to merge 15 commits into
mainfrom
feature/browser-feedback-extension
Draft

Browser feedback extension#14
sagalbot wants to merge 15 commits into
mainfrom
feature/browser-feedback-extension

Conversation

@sagalbot
Copy link
Copy Markdown
Contributor

Summary

  • Adds a Chrome browser extension that captures screenshots and sends them to Claude running in a Docker sandbox
  • Implements a Laravel MCP server (get-developer-feedback tool) that reads captured screenshots and returns them as images
  • Adds native messaging host (Node.js) to bridge the extension to the project workspace
  • Adds developer-feedback skill that teaches Claude to check for screenshots on [feedback] trigger
  • Integrates setup into turbo:install (native host registration, MCP server config, deep link for extension)

Architecture

Browser Extension → Native Messaging Host → Workspace (mounted) → MCP Tool → Claude
  1. Developer clicks extension (or keyboard shortcut) to capture visible tab
  2. Native host writes PNG + JSON manifest to storage/app/agent-captures/feedback/
  3. Extension copies [feedback] trigger to clipboard
  4. Developer pastes trigger into terminal
  5. Claude calls get-developer-feedback MCP tool, sees the screenshot

Components

  • extension/ — Chrome Manifest V3 extension (popup, capture, native messaging, deep link handler)
  • resources/native-messaging/ — Node.js host script + Chrome manifest template
  • src/Mcp/FeedbackServer.php — Laravel MCP server
  • src/Mcp/Tools/GetDeveloperFeedback.php — Tool that reads feedback images
  • .ai/skills/developer-feedback/ — Skill for [feedback] trigger
  • src/Commands/InstallCommand.phpofferFeedbackSetup() integration

Test plan

  • Load extension unpacked in Chrome, verify it loads
  • Configure a project mapping via deep link
  • Capture a screenshot, verify PNG + JSON written to workspace
  • Verify [feedback] trigger copied to clipboard
  • Test MCP tool returns images correctly
  • Run composer test — all new tests pass
  • Run turbo:install — feedback setup step appears

🤖 Generated with Claude Code

sagalbot and others added 15 commits March 7, 2026 02:52
Design for a Chrome extension + native messaging host + Laravel MCP
server that enables developers to capture browser screenshots and
share them with Claude running inside a Docker sandbox.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
14-task plan covering Laravel MCP server, Chrome extension, native
messaging host, developer-feedback skill, and install integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Create FeedbackServer extending Laravel MCP Server base class,
registering the GetDeveloperFeedback tool for browser feedback integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reads PNG screenshots from storage/app/agent-captures/feedback/,
loads companion JSON manifests with metadata (url, annotation, viewport,
timestamp), and returns text + image Response pairs sorted chronologically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Teaches Claude to call the get-developer-feedback MCP tool when
the developer pastes a [feedback] trigger string.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Create Manifest V3 Chrome extension at extension/ that captures visible
tab screenshots, sends them to the com.springloaded.turbo_feedback native
messaging host, and copies a [feedback] trigger string to the clipboard.

Includes manifest, popup UI with annotation support, background service
worker for turbo-feedback:// deep link configuration, and icon placeholders.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Verify the MCP GetDeveloperFeedback tool correctly reads feedback images
and manifests written to the workspace using the real local Storage disk.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Solid blue PNGs so the extension loads without errors.
Replace with branded icons later.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
These files were created but not staged in the original commit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant