From browser-data-capture
Capture network traffic via a local mitmproxy instance and emit a normalized capture file the rest of the plugin can analyze. Use when the user wants to capture traffic from a desktop app, mobile app on the same network, or a browser without using DevTools — anywhere a HAR export isn't practical. The plugin starts mitmdump in the background, walks the user through trusting the local CA, runs for a chosen duration or until stopped, then converts the flow file into the same normalized shape analyze-har produces.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin browser-data-captureThis skill uses the workspace's default tool permissions.
Use mitmproxy as the capture path when a HAR export from DevTools isn't workable — desktop apps, mobile apps proxied to the user's machine, browsers where DevTools won't stay open across navigations.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Share bugs, ideas, or general feedback.
Use mitmproxy as the capture path when a HAR export from DevTools isn't workable — desktop apps, mobile apps proxied to the user's machine, browsers where DevTools won't stay open across navigations.
This is bring-your-own-traffic: the user is capturing traffic on their own machine for their own integration work. The plugin runs the proxy and normalizes the output; it does not bypass anything.
mitmproxy installed locally (verified by setup).Write under ${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/browser-data-capture/data/<session-label-or-timestamp>/:
capture.flows — raw mitmproxy flow file (kept for replay/debug).endpoints.json + schemas/ + summary.md — same normalized shape analyze-har produces, so generate-openapi and create-domain-map consume it transparently.redactions.log — record of cookie/auth values that were stripped before writing the normalized outputs.mitmdump in the background, writing to capture.flows. Use --set confdir=$DATA_ROOT/state/mitmproxy so the local CA lives under the plugin's state dir, not in ~/.mitmproxy.http://mitm.it from the device whose traffic they're capturing and installing the CA. Do not attempt to install the CA into the system trust store automatically — that's a sudo-grade decision the user makes deliberately.google-chrome --proxy-server=http://localhost:<port> (fresh profile recommended).<port>. Stop the proxy as soon as the user is done — leaving a phone proxied through the workstation is not a default state.HTTP_PROXY / HTTPS_PROXY: those env vars.capture.flows into endpoints.json + schemas/ using the same logic as analyze-har. Apply secret redaction (cookies, bearer tokens, common API-key header names).summary.md and hand off — offer create-domain-map and/or generate-openapi.Same hard rule as the rest of the plugin: cookie values and bearer tokens are redacted from endpoints.json and schemas/. The raw capture.flows file may still contain them — if the user plans to share the run, tell them to share the normalized outputs, not the raw flow file, or to use mitmproxy's built-in flow-stripping first.