Skip to content
Development
Command

/cli-anything-web

Generate a complete agent-native CLI for any web app by recording and analyzing network traffic via playwright-cli. Runs the full pipeline with site assessment, capture, implementation, testing, and verification.

From plugin
cli-anything-web
2396 skills4 agents6 commands1 MCP
> /plugin marketplace add ItamarZand88/CLI-Anything-WEB
> /plugin install cli-anything-web@cli-anything-web

Command definition

cli-anything-web.md
name: cli-anything-web
description: Generate a complete agent-native CLI for any web app by recording and analyzing network traffic via playwright-cli. Runs the full pipeline with site assessment, capture, implementation, testing, and verification.
argument-hint: <url> [--mitmproxy]
allowed-tools: Bash(*), Read, Write, Edit, mcp__chrome-devtools__*

CLI-Anything-Web: Full Pipeline

Read the methodology overview: @${CLAUDE_PLUGIN_ROOT}/HARNESS.md

Target URL and flags: $ARGUMENTS

Capture Mode Detection

Check if `--mitmproxy` flag is present in the arguments:

  • **With `--mitmproxy`**: Use mitmproxy-capture.py for traffic capture (no body truncation, real-time filtering, enhanced analysis). Requires `pip install mitmproxy` (Python 3.12+).
  • **Without `--mitmproxy`** (default): Use standard playwright-cli tracing (the original method).

Prerequisites Check

Step 1: Check playwright-cli availability

!`npx @playwright/cli@latest --version 2>&1 && echo "PLAYWRIGHT_OK" || echo "PLAYWRIGHT_FAIL"`

**If PLAYWRIGHT_OK** → use playwright-cli for all operations (primary path).

**If PLAYWRIGHT_FAIL** → If playwright-cli is not available, see HARNESS.md for the MCP fallback path.

Step 1b: If `--mitmproxy` flag was passed, also verify mitmproxy

!`python -c "import mitmproxy; print('MITMPROXY_OK')" 2>&1 || echo "MITMPROXY_FAIL"`

**If MITMPROXY_FAIL** → Tell user to `pip install mitmproxy` or drop the `--mitmproxy` flag.

NEVER use `mcp__claude-in-chrome__*` tools -- blocked, cannot capture request bodies.

Execution Plan

Run the full pipeline by invoking skills in sequence. **Each phase checks for prior completion and skips if already done.**

1. Check playwright-cli availability (see Prerequisites above) 2. **Check pipeline state:** `python ${CLAUDE_PLUGIN_ROOT}/scripts/phase-state.py status <app>`

  • If a phase is already `done` → skip it and proceed to the next
  • If a phase `failed` with `retryable` → retry automatically (once)
  • If a phase `failed` with `fatal` → report and ask user
  • Full decision tree (including corrupt/inconsistent state):

`${CLAUDE_PLUGIN_ROOT}/skills/shared/RECOVERY.md` §phase-state Check Failures 3. For each phase, check before running:

   python ${CLAUDE_PLUGIN_ROOT}/scripts/phase-state.py check <app> --phase <phase>
   # Exit 0 = skip (already done), Exit 1 = run

4. Invoke `capture` skill -- Phase 1 site assessment + traffic recording

  • Also check capture checkpoint: `python ${CLAUDE_PLUGIN_ROOT}/scripts/capture-checkpoint.py restore <app>`

5. Invoke `methodology` skill -- Phase 2 analyze/design/implement

  • Agent MUST read a reference CLI first (same protocol) — see methodology skill

6. Invoke `testing` skill -- Phase 3 test writing/documentation 7. Invoke `standards` skill -- Phase 4 publish and verify + generate Claude skill

After each phase completes, mark it:

python ${CLAUDE_PLUGIN_ROOT}/scripts/phase-state.py complete <app> --phase <phase> --output <output-path>

Each skill handles its phases completely and invokes the next when done. See HARNESS.md for the pipeline overview and critical rules.

Extract the app name from the URL (e.g., `monday.com` → `monday`, `notion.so` → `notion`).

Success Criteria

The command succeeds when: 1. All core modules are implemented and functional (`client.py`, `auth.py`, `session.py`, `models.py`) 2. CLI supports both one-shot commands and REPL mode 3. `--json` output mode works for all commands 4. All tests pass (100% pass rate) 5. Subprocess tests use `_resolve_cli()` and pass with `CLI_WEB_FORCE_INSTALLED=1` 6. TEST.md contains both plan (Part 1) and results (Part 2) 7. README.md documents installation and usage 8. `setup.py` is created and local installation works 9. CLI is available in PATH as `cli-web-<app>` 10. `.claude/skills/<app>-cli/SKILL.md` exists at the project root

Output Structure

<app-name>/
└── agent-harness/
    ├── <APP>.md               # API map, data model, auth scheme
    ├── setup.py               # PyPI config (find_namespace_packages)
    └── cli_web/               # Namespace package (NO __init__.py)
        └── <app>/             # Sub-package
            ├── __init__.py    # Required — marks as sub-package
            ├── README.md
            ├── <app>_cli.py   # Main CLI entry point
            ├── __main__.py
            ├── core/
            │   ├── client.py
            │   ├── auth.py
            │   ├── session.py
            │   └── models.py
            ├── utils/
            │   ├── repl_skin.py
            │   ├── output.py
            │   └── config.py
            └── tests/
                ├── TEST.md
                ├── test_core.py
                └── test_e2e.py

**No-auth sites:** Remove `core/auth.py`, `core/session.py`, and auth commands from the structure above. Only create what the CLI actually needs.

Progress Tracking

After each phase, report status in this format:

┌─────────┬────────┬────────────────────────────────────────────┐
│ Phase   │ Status │ Description                                │
├─────────┼────────┼────────────────────────────────────────────┤
│ Phase 1 │ ...    │ Capture — Traffic Capture + Auth           │
│ Phase 2 │ ...    │ Methodology — Analyze + Design + Implement │
│ Phase 3 │ ...    │ Test — Write Tests + Document Results      │
│ Phase 4 │ ...    │ Standards — Publish + Smoke Test + Skill   │
└─────────┴────────┴────────────────────────────────────────────┘
Read more
@itamarzand88
Ships withcli-anything-web

Claude Code plugin that generates production-grade Python CLIs for any web app. 20 CLIs and counting.

23927 skills4 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
239
Star history of ItamarZand88/CLI-Anything-WEB on GitHub, a chart by star-history.com

Other commands on cli-anything-web.

record

record

Command

Record network traffic from a web app without generating a CLI. Useful for initial exploration or adding more coverage data.

refine

refine

Command

Refine an existing cli-anything-web CLI by recording additional traffic and expanding command coverage. Invokes the gap-analyzer…

validate

validate

Command

Validate a cli-anything-web CLI against the tiered quality checklist (Tier 1 critical / Tier 2 comprehensive). Reports…

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command