Dev Feedback Capture is a local-first Chromium extension that turns live pages, PDFs, and browser-visible surfaces into implementation-ready visual change specifications. It supports three workflows:
The source checkout contains the in-development v1.6 local MCP companion on top of the unreleased v1.5 Visual Edit work. The latest published download remains v1.2.0 until the deferred browser and agent-handoff gates are complete.
Elementmode injects a lightweight in-page UI so you can click DOM elements and save selectors, styles, and notes.Visualmode temporarily moves, resizes, rewrites, hides, reorders, or restyles one live DOM element, records original versus proposed intent, and restores the page after Save or Cancel.Regionmode captures the visible viewport and compiles a crop, vector annotations, best-effort DOM anchors, requested change, and acceptance checks into one visual change spec.
All feedback stays local in extension storage. Open History to review captures, use the legacy standalone exports, or download one AI Bundle with instructions, structured data, page context, and before/annotated images.
- Element capture with selector, text, styles, and note metadata
- Reversible Visual Edit previews with move, resize, leaf-text rewrite, hide, sibling reorder, curated style, match-style, alignment, undo, redo, and reset
- Original/proposed evidence plus explicit requested-mutation data; the live page is always restored
- Visual Change Spec editor with crop, arrow, rectangle, ellipse, pin, text, blur/redact, color, undo, and redo
- DOM-linked vector annotations with selector fallbacks, roles, surrounding text, geometry, and parent-layout context when the source DOM is available
- Optional acceptance checks plus browser, viewport, scroll, zoom, DPR, and source metadata
- Works on arbitrary sites through explicit user-triggered activation
- PDF-friendly screenshot workflow for local and hosted PDFs
- Extension-owned History page that works even when the source page cannot accept injected UI
- One downloadable AI Bundle ZIP plus standalone JSON and self-contained HTML reports
- Project-scoped local MCP companion over stdio; no cloud or localhost service
- Copyable Markdown and implementation-prompt exports
- Collapsed-by-default, draggable in-page capture list for quick review without covering the page
- Download the latest
dev-feedback-capture-v<version>.zipasset from GitHub Releases. - Unzip the file.
- Open
chrome://extensions/oredge://extensions/. - Enable Developer Mode.
- Click
Load unpackedand select the unzipped extension folder. - Optional for local PDFs: enable
Allow access to file URLson the extension details page.
Use this path when developing the extension or reviewing source changes:
- Clone or download this repository.
- Open
chrome://extensions/oredge://extensions/. - Enable Developer Mode.
- Click
Load unpackedand select thewebDevFeedbackExtfolder.
- Open the extension popup on any
http,https, orfilepage you want to inspect. - Leave the mode switch on
Element. - Click
Start Element Modeor useCtrl+Shift+F(Command+Shift+Fon macOS). - Hover and click a page element.
- Add your note in the modal and save it.
- Use + on the compact capture chip to expand the saved-item list and − to collapse it again.
- Open the target page or PDF in the browser.
- Open the extension popup and switch to
Region. - Click
Capture Region. - Use Crop to define the evidence area.
- Add arrows, shapes, numbered pins, text, or blur/redact marks. Undo and redo operate on the visual spec.
- Describe the requested change and optionally add one acceptance criterion per line.
- Save the spec to local history.
The cropped image, viewport rectangle, and source context are saved into the same local history as element captures. Open History from the popup to review captures from any supported source, including PDFs and pages where Element mode is unavailable.
- Open an injectable webpage and choose
Visualin the popup. - Start Visual Edit and select one element.
- Use the in-page inspector to preview curated mutations. Match Style and Align let you pick a second reference element without creating a multi-selection editor.
- Add the requested implementation change and optional acceptance criteria.
- Save the spec, or Cancel to discard it. Either path restores the original live page.
Visual Edit does not change source files, persist mutations into the page, or replay saved edits automatically. It records intent so a developer or coding agent can implement the change in the correct source layer.
Stored feedback items use a discriminated shape:
type: "element"items include selector, element info, and position.- v1.5 element items may also include a sanitized
changeRequest, original/proposed element state, and local evidence images. Older element items normalize as visual suggestions without invented mutations. type: "region"items include one evidence crop, vector annotations, DOM anchors when available, acceptance criteria, and page context. Annotated PNGs are rendered locally when the AI Bundle is built.
Older element-only captures are still loaded and normalized automatically.
-
Download AI Bundlecreatesprompt.md,feedback.json,page-context.json, before/proposed/annotated PNG evidence when available, andreport.htmlin one ZIP. The bundle is assembled locally. -
Download JSON for MCPincludes the full saved payload, including region image data URLs, for explicit local import. -
Download HTML Reportcreates a self-contained review with embedded region images. -
Copy Markdowncreates a readable text review for issues or docs. -
Copy AI Promptcreates numbered implementation instructions from the saved requirements, anchors, and acceptance checks. Download the AI Bundle when images are needed.
v1.6 includes a separate Node MCP server under mcp/. A local coding agent can import an explicit History JSON export into the target project's ignored .dev-feedback sidecar, then list/get feedback, read evidence resources, create agent-authored feedback, build an implementation brief, and record revision-checked status.
The companion does not read Chromium's internal storage, open a network port, control the browser, execute shell commands, or edit source code. The connected agent uses its normal browser and coding tools. Tool results and evidence are still delivered to that MCP client, so cloud-backed clients may transmit captured data under their provider policies. See docs/mcp-local-agent.md for setup and the trust boundary.
The extension requests:
storagefor local historyactiveTabfor temporary, user-invoked access to the current tabscriptingto inject the in-page capture UI and history panel only when requested
The extension does not use static host permissions, always-on content scripts, telemetry, or network sync. Region captures can include visible page content in screenshot data URLs; those crops stay in local extension storage until the user clears history or removes the extension.
- Hosted PDFs should work through Region mode because the capture flow is screenshot-based.
- Local
file://PDFs may require enablingAllow access to file URLs. - Region mode captures only the visible viewport in v1, not off-screen PDF pages.
manifest.json: Manifest V3 configurationbackground.js: runtime injection and region-capture session orchestrationcontent.js: in-page panel and element capturevisual-edit.js: dependency-free reversible mutation engine used by Visual Edit Modemcp/: project-scoped stdio MCP companion and filesystem sidecar storecapture.html/capture.js: screenshot region selection editorpopup.html/popup.js: mode switch, current-tab actions, and History entry pointhistory.html/history.js: extension-owned history review and export controlsai-bundle.js: local, dependency-free AI Bundle assembly and ZIP creationshared.js: shared helpers, normalization, and export formattingstyles.css: injected in-page UI stylesdocs/store-monetization-readiness.html: local store identity, listing, privacy, and future paid-product decision artifact
npm testnpm run checknpm run package
- Confirm
package.jsonandmanifest.jsonversions match. - Run
npm test,npm run check, andnpm run package.npm testcovers both extension and MCP contracts. - Complete the manual unpacked-extension and MCP handoff gates in
docs/manual-release-checklist.md, then create and push a matching tag such asv1.6.0. - The release workflow builds
dist/dev-feedback-capture-v<version>.zipand publishes it as a GitHub Release asset.
See CHANGELOG.md for release notes.
- Element mode depends on DOM/script injection and is not intended for browser-internal surfaces.
- Visual Edit is intentionally limited to one normal-page DOM target. It does not traverse cross-origin frames, mutate source code, or support arbitrary CSS, responsive breakpoints, animation, or reparenting.
- Region mode stores one crop plus vector metadata in local storage; very large capture histories will still increase storage usage.
- Blur/redact masks are applied to the saved crop before the transient viewport screenshot is discarded, so AI Bundle “before” evidence does not restore redacted pixels.
- DOM annotation anchors are best-effort and are unavailable for protected browser pages, PDFs without an accessible DOM, cross-origin frames, and pages that move after capture.
- Region mode captures the current viewport only, not full-page stitched screenshots.
- Cross-origin iframe DOM capture remains limited by browser security rules.
- Add verification against saved acceptance criteria
- Add full-page or multi-step PDF region capture
- Add user-triggered import back into extension History
- Add optional provider-specific AI handoff after the provider/auth shape is defined
This repository is source-visible for portfolio, review, and evaluation purposes only. All rights are reserved unless Monroe Stone grants written permission otherwise. See LICENSE.