🌐 β†’ ⌘   A skill for Claude Code & 70+ agents

Turn any website into a beautiful CLI

Drive a browser once to learn a site's private API. Generate a fast, typed, pretty command-line client that calls those endpoints directly β€” no browser, fully scriptable, pipeable into jq.

$ npx skills add dennisonbertram/website-to-cli -a claude-code
crates β€” a CLI the skill built for crates.io
$ crates search serde serde 1,174,796,480 A generic serialization/deserialization framework serde_json 1,078,534,327 A JSON serialization file format serde_yml 19,747,695 DEPRECATED β€” serde_yml is unmaintained… clickhouse 9,973,056 Official Rust client for ClickHouse DB serde_valid 3,334,810 JSON Schema based validation tool using serde $ crates info tokio crate tokio 1.53.0 description An event-driven, non-blocking I/O platform for async apps. downloads 810,732,335 (190,888,616 recent) repository https://github.com/tokio-rs/tokio $ crates search serde --json | jq -r '.[0].name' "serde" # exact JSON, pipes anywhere
The method

How to turn an app into a CLI

Three phases. The browser is used only in the first β€” to learn the API. Everything after is direct HTTP, which is why the CLI is faster than driving a browser every time.

01β†’

Capture

An agent drives the site through the features you want and records all network traffic to a HAR file β€” requests, responses, and session.

capture.ts <url> --auto 5
02β†’

Analyze

Strip out analytics and static assets, then recover the real API: endpoints, path templates, params, request/response shapes, and auth headers.

analyze-har.ts site.har
03

Build

Fill a zero-dependency template pointed at those endpoints. Colored & aligned by default; exact JSON with --json.

cp templates/cli.ts app.ts
Why a client, not a browser

Learn once, run forever

An agent controlling a browser on every request is slow and brittle. A derived client is the efficient version β€” and it composes with the rest of your shell.

⚑ Fast

Direct HTTP to the endpoints the site already uses. No page loads, no waiting on a headless browser.

πŸ”Œ Composable

Pretty for humans; --json for machines. Pipe into jq, grep, or another script β€” exit codes and all.

🎨 Beautiful

Aligned tables, tasteful color, spinners β€” TTY-aware so it stays clean when piped. The output reads.

Get started

Install with skills.sh

One command installs the skill into your agent. Then just ask it: β€œmake a CLI for <site>.” Works with Claude Code, Codex, Cursor, OpenCode, and 70+ more.

$ npx skills add dennisonbertram/website-to-cli -a claude-code

Global install: add -g.  Β·  Prefer manual? Copy skills/website-to-cli/ into your agent's skills directory.