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.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.