Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
Reverse engineer any website into a typed API client. Works with Claude Code, Codex, Cursor and OpenCode.
翻訳待ち
Loading the full README.
Read the full README ↗Turn websites into APIs. Browse (or let an agent browse), and get a clean, typed client for the endpoints the site actually uses.
No more manually opening DevTools, copying cURL commands, and gluing together a client.
uv tool install reverse-api-engineer # or: pip install reverse-api-engineer
The secured cryptography dependency no longer supports Intel macOS or 32-bit Windows. Use Linux (including on Intel hardware), Apple Silicon macOS, or 64-bit Windows. Installing on the retired platforms may attempt an unsupported source build requiring Rust and OpenSSL development tools; this is not a supported installation path. Do not downgrade cryptography to restore old wheels. See the upstream platform changes.
Agent mode (the default) captures through npx-launched browser tooling —
browser MCP servers (Playwright or Chrome DevTools) or the Vercel agent-browser
CLI — and needs no extra Python packages. Manual mode drives a local
Playwright browser, which ships in the optional [manual] extra:
uv tool install "reverse-api-engineer[manual]" # or: pip install "reverse-api-engineer[manual]"
playwright install chromium
Install the skill so Claude Code, Codex, Cursor, OpenCode and other agents know how to drive the CLI:
npx skills add kalil0321/reverse-api-engineer
Then ask your agent for what you need, for example "get me a typed client for the job search on this careers page". The skill lives in skills/reverse-api-engineer.
reverse-api-engineer
> fetch all apple jobs from their careers page
# Browser opens. Navigate, interact, close when done.
# → ./scripts/apple_jobs_api/ (api_client.py, README.md, example_usage.py)
Cycle modes with Shift+Tab:
| Mode | What it does |
|---|---|
manual | You drive the browser; AI generates the client from captured traffic. |
agent | An AI agent drives capture autonomously (Playwright or Chrome MCP, or Vercel agent-browser CLI). |
engineer | Re-run generation on a previous capture (engineer <run_id>). Needs a HAR, so it works on auto, agent-browser and manual runs, not chrome-mcp runs. |
collector | Agent collects structured data (JSON/CSV) using web search + fetch. |
Agent mode providers:
config.json keeps its provider): drives your real Chrome so you keep existing sessions/cookies. Needs Node.js 20.19+; headed runs also need Chrome 146+ open with auto-connect enabled at chrome://inspect/#remote-debugging, and someone at the machine to accept Chrome's connection prompt when the run starts. For headed runs, rae checks before launching that Chrome's remote debugging port is reachable (not the Chrome or Node version) and stops with setup steps if it isn't; agent --dry-run shows the same check. Headless runs skip it. --headless starts a separate headless Chrome without your sessions. No HAR file is saved, so engineer <run_id> cannot regenerate these runs; run agent again instead.agent-browser is already on PATH, otherwise runs npm install -g <pin> (same pin as config / RAE_AGENT_BROWSER_PACKAGE), prints a yellow notice, validates with --help, and only then falls back to npx -y <pin> if npm cannot install. Prompts embed the resolved shell prefix alongside skills get core --full, skills list, HAR phases, cloud notes from agent_browser_notes. Tune with agent_browser_npx_package (optional), env RAE_AGENT_BROWSER_*. First Chromium fetch: agent-browser install (add --with-deps on trimmed Linux).Optional sanity checks:
agent-browser doctor --offline --quick || true
agent-browser skills list >/dev/null
Settings live in ~/.reverse-api/config.json and can be edited via /settings in the CLI:
{
"agent_provider": "chrome-mcp",
"agent_browser_npx_package": "agent-browser@0",
"agent_browser_notes": "",
"claude_code_model": "claude-sonnet-4-6",
"claude_setting_sources": [],
"collector_model": "claude-sonnet-4-6",
"ollama_auto_start": true,
"ollama_base_url": "http://127.0.0.1:11434",
"opencode_auto_start": true,
"opencode_base_url": "http://127.0.0.1:4096",
"opencode_model": "big-pickle",
"opencode_npx_package": "opencode-ai@latest",
"opencode_provider": "opencode",
"copilot_model": "gpt-5",
"cursor_model": "composer-2.5",
"output_dir": null,
"output_language": "python",
"real_time_sync": true,
"sdk": "claude"
}
This is the beginning of the README. Read the rest at the original. Read the full README ↗