autoresearch
Autonomous experiment loop for optimization research. Use when the user wants to: - Optimize a metric through systematic…
Intercept and debug HTTP traffic from any CLI, service, or script using HTTP Toolkit. Use when you need to inspect LLM API calls, backend requests, auth flows, or debug network-level issues across any language or runtime.
$ npx -y skills add factory-ai/factory-plugins --skill http-toolkit-intercept --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/http-toolkit-interceptContext preview
The summary Claude sees to decide when to auto-load this skill.
Intercept and debug HTTP traffic from any CLI, service, or script using HTTP Toolkit. Use when you need to inspect LLM API calls, backend requests, auth flows, or debug network-level issues across any language or runtime.
name: http-toolkit-intercept description: Intercept and debug HTTP traffic from any CLI, service, or script using HTTP Toolkit. Use when you need to inspect LLM API calls, backend requests, auth flows, or debug network-level issues across any language or runtime.
Use this skill when you need authoritative evidence of what your program sent to a remote API and what it received back while verifying a code change. Works across any runtime — Node.js, Bun, Deno, Python, Go, Ruby, Java/JVM, .NET, PHP, Rust, shell scripts, etc. — as long as the process respects a proxy.
The reliable pattern is:
1. Start HTTP Toolkit correctly. 2. Run the program through the proxy in a mode that produces a machine-readable log (e.g. `--output-format json`, debug logging, or structured stdout). 3. Export outbound HTTP requests from HTTP Toolkit. 4. Pair the outbound HTTP export with the inbound program session log.
Do not rely on TUI screenshots alone when the question is about request payloads, auth headers, or wire-level behavior.
On Linux/headless environments, plain `httptoolkit` often fails due to sandbox/X11 issues. Prefer:
xvfb-run --auto-servernum httptoolkit --no-sandbox
If a stale server is already running on ports `45456/45457`, stop it first:
pkill -f "HTTP Toolkit Server|httptoolkit|xvfb-run --auto-servernum httptoolkit" || true
# HTTP Toolkit's admin API lives on port 45456/45457 by default.
# Treat 200/401/403 as "reachable"; only connection failure means the server is dead.
curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:45456/configThe canonical env vars most runtimes honor:
HTTP_PROXY="http://127.0.0.1:8000" \ HTTPS_PROXY="http://127.0.0.1:8000" \ ALL_PROXY="http://127.0.0.1:8000" \ NO_PROXY="" \ <your-program> <args>
Some runtimes require an extra env var or flag — see the "Runtime proxy matrix" below.
> If the HTTP Toolkit CA is not trusted by your runtime, TLS verification will fail. See "TLS Safety" below. Disabling TLS verification is appropriate only for controlled local debugging.
If your program supports a machine-readable output mode (e.g. `--output-format stream-json`, `--json`, `--log-level debug`, structured stdout, or writing to a file), pipe it to a file:
<your-program> exec --output-format stream-json "your input" \ > /tmp/session-stdout.log 2> /tmp/session-stderr.log
Either:
Together they answer: "what did we send?" and "what did we do with the response?"
The critical correct pathways that proved reliable were:
1. **Use a non-interactive / exec mode, not the TUI, when verifying payloads**
2. **Treat outbound and inbound as separate evidence sources**
3. **Set the proxy env vars your specific runtime honors**
4. **Disable TLS verification only for controlled local debugging when needed**
5. **Keep runs bounded**
| Runtime | Proxy env vars / flags | TLS bypass (local dev only) | |---------|------------------------|------------------------------| | **Node.js** | `HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY` (most libraries); some HTTP clients need `--proxy` flags or explicit `agent:` option | `NODE_TLS_REJECT_UNAUTHORIZED=0` or `NODE_EXTRA_CA_CERTS=/path/to/ca.pem` | | **Bun** | `BUN_CONFIG_PROXY` (mandatory — plain `HTTP_PROXY`/`HTTPS_PROXY` are silently ignored for Bun's own fetch) | `NODE_TLS_REJECT_UNAUTHORIZED=0` | | **Deno** | `HTTP_PROXY`, `HTTPS_PROXY` | `--unsafely-ignore-certificate-errors` | | **Python (`requests`, `httpx`)** | `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` | `REQUESTS_CA_BUNDLE` / `SSL_CERT_FILE` pointing at the HTTP Toolkit CA, or `verify=False` in code | | **Python (`urllib`)** | Same env vars | `SSL_CERT_FILE` or disable context verification | | **Go (`net/http`)** | `HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY` (honored via `http.ProxyFromEnvironment`) | `SSL_CERT_FI
Official Factory plugins marketplace containing curated skills, droids, and tools.
Autonomous experiment loop for optimization research. Use when the user wants to: - Optimize a metric through systematic…
Create a pull request with Conventional Commits formatting, a templated body, and local verification. Use when the user asks to…
Follow up on an existing PR by rebasing on the base branch, addressing reviewer comments, fixing CI issues, and pushing updates.…
Control terminal TUIs, browsers, and native desktop apps for testing, demos, QA, and computer-use tasks. Use when you need to…
Automate browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to: -…
Build good-looking web interfaces. Use when: - User asks you to build a web app, website, landing page, or HTML page - User asks…