name: agent-cli-creator description: Use when the user wants to build a CLI tool to automate browser interactions on a specific website using kimi-webbridge. Invoke when user says "create a CLI for X site", "build a tool to automate X", or wants to control a website programmatically via an AI agent.
Agent CLI Creator
Guide an AI Coding Agent to build a website-automating CLI tool backed by the kimi-webbridge browser daemon.
Phase 1: Prerequisites
~/.kimi-webbridge/bin/kimi-webbridge status
| Result | Action |
|--------|--------|
| running: true + extension_connected: true | Proceed |
| Command not found | Tell user to visit https://www.kimi.com/features/webbridge (中文: https://www.kimi.com/zh-cn/features/webbridge) to install |
| running: false or extension_connected: false | Invoke the kimi-webbridge skill → references/operations.md |
Phase 2: Requirements Interview
Ask the user in one message, wait for reply:
- Target website URL (required)
- Programming language — Go (recommended;
references/go-layout.mdis the canonical template) / Python / Node.js / Other - Login required? — Yes / No / Unknown (can skip for now)
- First 1–3 features — pick from common categories:
- Read: home feed, search, profile page, post/item detail
- Write: create post, like/unlike, comment, bookmark/save
- Account: login-status, user info
Explain iterative development to the user:
"We'll start with 1–3 features to validate the approach end-to-end before adding more. Site exploration for features you don't need yet wastes time. You can always add features later by re-running from Phase 3."
Phase 3: Site Exploration (mandatory before writing any code)
This phase is non-negotiable. Do not write business logic until exploration is complete.
For each planned feature, run the full protocol in references/site-exploration.md.
The protocol yields: API endpoint, required headers, response shape, and a verified evaluate call that proves the API works inside the browser session.
Sanity-check every limitation before you write it down: would a human clicking through the same flow in their own browser hit it too? If not, the difference is in your automation setup — tab visibility, event timing, hydration — not in the site. A real one: "search caps out at 20 results", when a human scrolling that page gets 200 — see references/site-exploration.md → The Background Tab Trap.
Only proceed to Phase 4 when you have a working evaluate call for every planned feature.
Phase 4: Implement
Order matters — do not skip ahead:
- Project scaffold — see
references/go-layout.mdfor Go; adapt conventions for other languages login-statuscommand — if the site requires login; seereferences/login-handling.md- Read commands — no side effects; implement and test first
- Write commands — side effects (post, like, etc.); implement after reads work
After each command is implemented, immediately verify before moving on:
{platform}-cli {command} --help # --help must work
{platform}-cli {command} [args] # must return {"ok": true, "data": ...}
For write commands, also verify the error path (e.g., wrong ID, missing flag) returns {"ok": false, ...} with non-zero exit.
If verification fails, fix before implementing the next command.
Universal CLI contract (all languages):
--help/-hmust work on every command- All output:
{"ok": true, "data": ...}or{"ok": false, "error": {"code": "...", "message": "..."}} - Non-zero exit code on error
Go: 用 go mod init {platform}-cli 初始化独立 module,按 references/go-layout.md 的结构搭建,包含自己的轻量 browser client 和 output helper。
Phase 5: Write Companion Skill
After the CLI works, create ~/.claude/skills/{platform}-cli/SKILL.md using the template in references/companion-skill-template.md.
Purpose: tells a future AI agent how to use the CLI, not how to build it. The two skills serve different audiences at different times.
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.