Agent skill

Methodology

by ItamarZand88 in ItamarZand88/CLI-Anything-WEB

Analyzes captured HTTP traffic, designs the CLI architecture, and implements the Python CLI package (Phase 2): parse raw-traffic.json, identify the protocol, write api-spec.json, scaffold from…

MITAuto-check passedBackend & APIs

Install Methodology

skills CLI
$ npx skills add ItamarZand88/CLI-Anything-WEB --skill methodology -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ItamarZand88/CLI-Anything-WEB methodology --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ItamarZand88/CLI-Anything-WEB.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-anything-web-plugin/skills/methodology .claude/skills/methodology && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
methodology
GitHub stars
231
Token cost
~5.8k tokens
SKILL.md length
2,288 words
Files
11 (incl. references)
Skills in repo
42
Repo updated
First seen
Licence
MIT

At a glance

Analyzes captured HTTP traffic, designs the CLI architecture, and implements the Python CLI package (Phase 2): parse raw-traffic.json, identify the protocol, write api-spec.json, scaffold from…

  • Works in 9 steps: Read traffic-analysis.json first (if it… → Parse raw-traffic.json (for details the… → Group requests by base path (e.g.,… → …
  • Tasks that involve OpenAPI specifications
  • SKILL.md covers Prerequisites (Hard Gate), Step A: Analyze (API Discovery), Step B: Implement (Code… and Mandatory Smoke Check (Before…, plus 4 more sections
  • Runs Python scripts from its folder; calls python and pip

What it does

Methodology is an agent skill from ItamarZand88/CLI-Anything-WEB. Analyzes captured HTTP traffic, designs the CLI architecture, and implements the Python CLI package (Phase 2): parse raw-traffic.json, identify the protocol, write api-spec.json, scaffold from templates, and implement endpoint methods and Click command groups. Use after a capture completes and raw-traffic.json exists.

Its SKILL.md is about 5.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `references/auth-strategies.md`, `references/client-architecture-example.py` and `references/exception-hierarchy-example.py`).

It sits in Backend & APIs, covering OpenAPI specifications. It works with Python. The repository describes itself as: Claude Code plugin that generates production-grade Python CLIs for any web app. 20 CLIs and counting. The licence is MIT.

When your agent uses it

  • Tasks that involve OpenAPI specifications

Example prompts

  • “Use the methodology skill to analyz captured HTTP traffic, designs the CLI architecture, and implements the Python CLI package (Phase 2): parse…”
  • “/methodology”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Read traffic-analysis.json first (if it exists alongside raw-traffic.json).
  2. Parse raw-traffic.json (for details the analyzer couldn't extract)
  3. Group requests by base path (e.g., /api/v1/boards/, /api/v1/items/)
  4. For each endpoint group, identify
  5. Identify RPC protocol type -- classify the API transport
  6. Detect data model
  7. Detect auth pattern
  8. Write .md -- software-specific SOP document
  9. Write agent-harness/api-spec.json -- the machine-readable API spec.

What it can do on your machine

Read from SKILL.md and the folder at commit 931e201. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Methodology loads about 5.8k tokens when it runs, and up to ~26k if it reads all its reference files. Until then it costs about 83 tokens; SKILL.md has 2,288 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~5.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~26k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ItamarZand88/CLI-Anything-WEB at commit 931e201, republished under its MIT licence (© ItamarZand88). 2,288 words, ~5,800 tokens.

Download SKILL.mdSave it as .claude/skills/methodology/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
methodology
description
Analyzes captured HTTP traffic, designs the CLI architecture, and implements the Python CLI package (Phase 2): parse raw-traffic.json, identify the protocol, write api-spec.json, scaffold from templates, and implement endpoint methods and Click command groups. Use after a capture completes and raw-traffic.json exists.
version
0.3.0
when_to_use
Trigger phrases: "analyze traffic", "design CLI", "implement CLI", "build CLI from network traffic", "generate API wrapper", "reverse engineer web API"…

CLI-Anything-Web Methodology (Phase 2)

Analyze captured traffic, design the CLI command structure, and implement the complete Python CLI package. This skill owns the core transformation from raw HTTP traffic to a production-ready CLI.

Copy this checklist and check off items as you complete them:

Phase 2 Progress:
- [ ] Prerequisites: raw-traffic.json exists (+ auth state if the site needs auth)
- [ ] Step A: traffic analyzed, protocol identified, <APP>.md written
- [ ] Step A: api-spec.json written (every endpoint cites raw-traffic.json evidence)
       and passes `cli-web-devkit spec validate`
- [ ] Step B.0: scaffolded via scaffold-cli.py (.manifest.json present)
- [ ] Step B: client endpoint methods implemented from the spec
- [ ] Step B: command modules implemented + registered, REPL help in sync
- [ ] Smoke check passed (no protocol leaks), phase-state marked complete

Prerequisites (Hard Gate)

Do NOT start unless:

  • raw-traffic.json exists (with WRITE operations, or read-only GET-only traffic)
  • Auth state was captured during Phase 1 (if the site requires auth)

If raw-traffic.json is missing or has no WRITE operations, invoke the capture skill first. If Phase 1 state shows failed, follow skills/shared/RECOVERY.md §phase-state Check Failures before re-running.

Exception for read-only sites: If the site is genuinely read-only (search engine, dashboard, analytics viewer with no create/update/delete), the trace may contain only GET requests. In this case, note "read-only site — no write operations" in <APP>.md and proceed. The generated CLI will have read-only commands (list, get, search) but no create/update/delete commands. This is valid.

No-auth sites: If the target site requires no authentication (public API, no login needed), the "Auth state captured" prerequisite does not apply. Note "no-auth site" in <APP>.md and proceed.


Step A: Analyze (API Discovery)

Goal: Map raw traffic to a structured API model.

Process:

  1. Read traffic-analysis.json first (if it exists alongside raw-traffic.json). This file is auto-generated by parse-trace.py or mitmproxy-capture.py → analyze-traffic.py and contains pre-detected protocol type, auth pattern, endpoint grouping, GraphQL operations, batchexecute RPC IDs, and suggested CLI commands. Use it as a starting point — verify its findings and fill in anything marked "unknown" by reading raw-traffic.json manually.

    Enhanced analysis (present only when captured via mitmproxy): request_sequence (timeline-ordered requests with auth-flow detection), session_lifecycle (cookie inventory, auth-cookie identification, session pattern), and endpoint_sizes (response-size classification). If these are missing (has_timestamps: false), the capture came from the default trace path — rely on manual analysis for sequence/session detail.

    If traffic-analysis.json doesn't exist, run the analyzer:

    bash
    python ${CLAUDE_PLUGIN_ROOT}/scripts/analyze-traffic.py \
      <app>/traffic-capture/raw-traffic.json --summary
  2. Parse raw-traffic.json (for details the analyzer couldn't extract)

  3. Group requests by base path (e.g., /api/v1/boards/, /api/v1/items/)

  4. For each endpoint group, identify:

    • HTTP method (GET/POST/PUT/DELETE/PATCH)
    • URL pattern (extract path parameters like :id)
    • Query parameters and their types
    • Request body schema (JSON fields, types, required/optional)
    • Response body schema
    • Authentication method (Bearer token, cookie, API key)
    • Rate limiting signals (429 responses, retry-after headers)
  5. Identify RPC protocol type -- classify the API transport:

    ProtocolDetection SignalClient Pattern
    RESTResource URLs (/api/v1/boards/:id), standard HTTP methodsclient.py with method-per-endpoint
    GraphQLSingle /graphql endpoint, query/mutation in bodyclient.py with query templates
    gRPC-Webapplication/grpc-web content type, binary payloadsProto-based client
    Google batchexecutebatchexecute in URL, f.req= body, )]}'\n prefixrpc/ subpackage (see references/google-batchexecute.md)
    Custom RPCSingle endpoint, method name in body, proprietary encodingCustom codec module
    Public REST APIDocumented /api/ endpoints, OpenAPI spec, JSON responsesStandard client.py with httpx
    Plain HTML (no framework)No SPA root, no framework globals, data in <table>/<div>client.py with httpx + BeautifulSoup4

    This determines client architecture in Step B -- REST uses simple client.py, non-REST protocols need a dedicated rpc/ subpackage with encoder/decoder/types.

  6. Detect data model:

    • Entity types (boards, items, users, projects...)
    • Relationships (board has many items, item belongs to board)
    • ID formats (UUID, numeric, slug)
  7. Detect auth pattern:

    • Cookie-based sessions
    • Bearer/JWT tokens
    • OAuth refresh flow
    • API key headers
    • Browser-delegated auth: tokens embedded in page JavaScript (e.g., WIZ_global_data), not in HTTP headers. Requires CDP for initial cookies, HTTP for token extraction. See references/auth-strategies.md "Browser-Delegated Auth" section.
    • No auth / public access: fully public API, no login required. CLI may optionally support API key auth for write operations (e.g., dev.to).
  8. Write <APP>.md -- software-specific SOP document

  9. Write agent-harness/api-spec.json -- the machine-readable API spec. Every endpoint MUST carry an evidence field citing its captured traffic entry (raw-traffic.json#<index>) — never invent endpoints (this is the structural enforcement of the RPC-ID verification rule). Schema and validator:

    bash
    cli-web-devkit spec validate <app>/agent-harness/api-spec.json

    Downstream consumers: client method implementation (Step B), the gap-analyzer (cli-web-devkit gaps), and the traffic-fidelity review in Phase 4 (spec-vs-traffic becomes a deterministic diff).

Output: <APP>.md (human SOP) + api-spec.json (machine spec, validated).

References: traffic-patterns.md, google-batchexecute.md, ssr-patterns.md


Step B: Implement (Code Generation)

Study Existing CLIs First (Critical for Accuracy)

Before implementing, read an existing CLI that uses the same protocol as your target. These are battle-tested implementations that solved the same problems you'll face.

ProtocolReference CLIKey files to read
Google batchexecutenotebooklm/agent-harness/cli_web/notebooklm/core/rpc/encoder.py, core/rpc/decoder.py, core/client.py, core/auth.py
GraphQL + WAFbooking/agent-harness/cli_web/booking/core/client.py (curl_cffi + GraphQL), core/auth.py (WAF tokens)
HTML scrapingfutbin/agent-harness/cli_web/futbin/core/client.py (httpx + BS4), commands/players.py
Next.js RSCproducthunt/agent-harness/cli_web/producthunt/core/client.py (curl_cffi + __next_f flight parsing)
REST APIunsplash/agent-harness/cli_web/unsplash/core/client.py, commands/photos.py
Simple HTMLgh-trending/agent-harness/cli_web/gh_trending/Minimal structure example

How to use reference CLIs:

  1. Read the reference CLI's core/client.py — understand the request/response pattern
  2. Read core/auth.py — copy the login_browser() pattern exactly for Google apps
  3. Read core/rpc/ (for batchexecute) — understand encoder/decoder, DO NOT reinvent
  4. Read commands/ — see how Click commands are structured, how --json works
  5. Read utils/helpers.py — see handle_errors(), _resolve_cli(), repl patterns

For batchexecute apps specifically, the notebooklm CLI is your bible:

  • Copy the encoder/decoder architecture (don't reinvent the batchexecute wire format)
  • Copy the auth token extraction pattern (CSRF, session ID, build label)
  • Copy the cookie domain priority logic (critical for Israeli/international users)
  • Adapt the RPC method IDs and param structures to your target app

The agent implementing the CLI MUST read these files before writing code. Use the Agent tool to dispatch a research agent that reads the reference implementation while you design the command structure.

Design Before You Code

Before writing any code, note the command structure in <APP>.md (10 minutes max):

  • Map each API endpoint group to a Click command group:
    • /api/v1/boards/* → boards command group
    • /api/v1/items/* → items command group
  • Map CRUD operations to subcommands (GET list → list, GET single → get, POST → create, PUT/PATCH → update, DELETE → delete)
  • Note auth design: auth login, auth status, auth refresh; credentials at ~/.config/cli-web-<app>/auth.json
  • Note REPL design: bare command enters REPL, branded banner via repl_skin.py

Goal: Generate the complete Python CLI package.

Package Structure

See HARNESS.md "Generated CLI Structure" for the complete package template. Key points: cli_web/ namespace (NO __init__.py), <app>/ sub-package (HAS __init__.py), core/, commands/, utils/, tests/ directories.

Step B.0: Scaffold Core Modules

Run the scaffold generator script (v2 — Jinja2 templates, requires pip install jinja2) to create all boilerplate files:

bash
python ${CLAUDE_PLUGIN_ROOT}/scripts/scaffold-cli.py <app>/agent-harness \
  --app-name <app> \
  --protocol <rest|graphql|html-scraping|batchexecute> \
  --http-client <httpx|curl_cffi> \
  --auth-type <none|cookie|api-key|google-sso> \
  --resource <name> [--resource <name> ...] \
  [--has-polling] [--has-context] [--has-partial-ids]

This renders exceptions.py, client.py skeleton, the unified auth.py (google-sso handled via a template conditional), helpers.py, config.py, output.py, the CLI entry point with REPL, one commands/<resource>.py per --resource flag, setup.py, conftest.py, test_e2e.py skeleton, README/SKILL skeletons, repl_skin.py, and (for batchexecute) the rpc/ subpackage. It also writes .manifest.json (template version + profile) at the harness root — keep it; fleet tooling depends on it. See skills/boilerplate/SKILL.md for the template → output map and per-profile flag recipes.

Fallback: If the script is unavailable, follow skills/shared/RECOVERY.md §scaffold-cli.py Unavailable — adapt from the newest generated CLI (e.g., capitoltrades/agent-harness/), do NOT reconstruct boilerplate from memory.

After scaffolding, review the generated files and customize client.py with actual endpoint methods from <APP>.md.

Show full SKILL.md (1,168 more words)Show less
Implementation Rules

All rules below are DEFINED in skills/shared/CONVENTIONS.md — this section tells you when to apply them during implementation.

  • exceptions.py -- implement first. Required hierarchy and error-code mapping: CONVENTIONS.md §Exception Hierarchy. Complete code: references/exception-hierarchy-example.py.

  • client.py -- HTTP client with exception mapping and auth retry:

    • HTTP library choice:
      • httpx (default) — for most sites (REST, GraphQL, batchexecute)
      • curl_cffi — for Cloudflare-protected sites. Uses Chrome TLS fingerprint impersonation to bypass bot detection without cookies or auth:
        python
        from curl_cffi import requests as curl_requests
        resp = curl_requests.get(url, impersonate="chrome")
        Use curl_cffi when Phase 1 detects Cloudflare (cf-ray header, challenge page). Add curl_cffi, beautifulsoup4 to setup.py instead of httpx.
    • Centralized auth header/cookie injection
    • Automatic JSON parsing with response body verification
    • Status code → exception mapping: 401/403→AuthError, 404→NotFoundError, 429→RateLimitError, 5xx→ServerError (CONVENTIONS.md §Exception Hierarchy)
    • Auth retry (3-attempt auto-refresh): current cookies → reload auth.json → headless refresh, never more. The full table is CONVENTIONS.md §Auth Rules; the templates generate it by default.
    • Exponential backoff for rate limits (CONVENTIONS.md §Exponential Backoff & Polling; code in references/polling-backoff-example.py)
    • For apps with 3+ resource types: split into namespaced sub-clients (client.notebooks.list(), client.sources.add())
    • See references/client-architecture-example.py for the full pattern
  • auth.py -- handles token storage, refresh, expiry. Implementation depends on auth type:

    For no-auth sites: DO NOT create auth.py, session.py, or auth command groups. These files are dead code for public APIs and confuse users. The CLI should have NO auth-related files or commands. The only exception is if the site has optional auth (e.g., API key for write operations) — in that case, implement a minimal auth module.

    For browser-delegated auth (Google, Microsoft, etc.): Python sync_playwright() login flow with cookie domain priority for international users (CONVENTIONS.md §Auth Rules).

    Storage, env var, cookie priority, and dual-format handling are defined in CONVENTIONS.md §Auth Rules; implementation code for each pattern is in references/auth-strategies.md (read section-addressed).

  • Anti-bot resilient client construction (when detected in Phase 2):

    • Extract session tokens via CDP first (cookies), then HTTP GET + HTML parsing (CSRF, session IDs)
    • Never hardcode build labels (bl), session IDs (f.sid), or CSRF tokens -- extract dynamically at runtime
    • Replicate same-origin headers captured during Phase 1 traffic (e.g., x-same-domain: 1 for Google apps)
    • Implement auto-retry on 401/403: re-fetch homepage -> re-extract tokens -> retry once
    • See references/google-batchexecute.md for the complete Google pattern
  • RPC codec subpackage (for non-REST protocols like batchexecute): When the API uses a non-REST protocol, add core/rpc/ with:

    • types.py -- method ID enum, URL constants
    • encoder.py -- request encoding (protocol-specific format)
    • decoder.py -- response decoding (strip prefix, parse chunks, extract results) The client.py still exists but delegates encoding/decoding to rpc/.
  • Progress feedback -- Use rich>=13.0 spinners for operations >2s (suppress in --json mode). See references/rich-output-example.py.

  • JSON error output -- --json mode errors are JSON too, not plain text (CONVENTIONS.md §JSON Envelope). Implement via utils/output.py json_error().

  • All commands use handle_errors(json_mode) context manager — centralizes error handling, exit codes (1=user, 2=system, 130=interrupt), and JSON errors. See references/helpers-module-example.py.

  • Generation commands support --wait, --retry N, --output path — CONVENTIONS.md §Exponential Backoff & Polling; code in references/polling-backoff-example.py.

  • Windows UTF-8 fix — at the top of <app>_cli.py, reconfigure BOTH stdout AND stderr to UTF-8 before any import that prints (CONVENTIONS.md §Windows UTF-8 Fix has the exact snippet).

  • HTML table parsers MUST extract ALL visible columns — not just name/price, because missing fields in --json output make the CLI useless for filtering and analysis. If the site shows version, club, nation, stats, skills, weak foot — parse all of them. Empty fields in --json output = incomplete parser.

  • Entry point: cli-web-<app> via setup.py console_scripts (CONVENTIONS.md §Naming Conventions)

  • Namespace: cli_web.*

  • utils/repl_skin.py, utils/doctor.py, and utils/mcp_server.py are all vendored by scaffold-cli.py (canonical source: cli-web-core/cli_web_core/, synced via cli-web-devkit resync) — never hand-edit the per-CLI copies. The entry point registers the fleet-standard doctor and mcp-serve commands from the vendored adapters (register_doctor_command(cli, ...), register_mcp_command(cli, ...)); both derive from the Click tree, so no per-command wiring is needed.

  • utils/helpers.py -- shared CLI helpers (generate for every CLI):

    • resolve_partial_id(partial, items) — prefix-match UUIDs for get/rename/delete
    • handle_errors(json_mode) — context manager replacing try/except in all commands
    • require_notebook(notebook_arg) — gets notebook ID from arg or persistent context
    • sanitize_filename(name) — safe filenames from artifact titles
    • poll_until_complete(check_fn) — exponential backoff polling
    • get_context_value(key) / set_context_value(key, value) — persistent context.json See references/helpers-module-example.py for the complete module.

Not all helpers apply to every CLI. Include only what the CLI uses: handle_errors and print_json are always needed. resolve_partial_id only for UUID-based apps. require_notebook/context helpers only for apps with persistent context. poll_until_complete only for generation/async operations.

REPL Implementation Rules (Critical)

The four REPL rules are defined with code examples in CONVENTIONS.md §REPL Rules — apply them as you wire up <app>_cli.py:

  1. Parse REPL lines with shlex.split(line), never line.split().
  2. Propagate --json by PREPENDING it to the args list passed to cli.main(args=..., standalone_mode=False) — never **ctx.params.
  3. Help-sync: every commit that adds a command/option updates _print_repl_help() in the same commit.
  4. Required single values are @click.argument positionals, not @click.option(..., required=True).

These bugs appear in almost every generated REPL — read the §REPL Rules section before writing the entry point, not after the REPL breaks.

Parallel Implementation (dispatch independent modules as subagents)

When the CLI has 3+ command groups (e.g., notebooks, sources, chat, artifacts), dispatch parallel subagents -- one per command module. Each agent gets:

  • The <APP>.md API spec for its resource
  • The client.py and auth.py interfaces it depends on
  • Clear scope: "Implement commands/notebooks.py with list, get, create, delete"

Parallelization opportunities:

Independent from each otherDispatch in parallel
commands/notebooks.py, commands/sources.py, commands/chat.pyYes -- each command file only depends on client.py
rpc/encoder.py and rpc/decoder.pyYes -- encoder doesn't depend on decoder
auth.py and models.pyYes -- no shared logic
client.py and commands/*No -- commands depend on client
<app>_cli.py (entry point)Last -- imports all commands, write after they're done

Implementation order (with maximum parallelism):

Phase A (sequential): Write core foundation
  exceptions.py → client.py → auth.py (if needed) → models.py

Phase B (parallel): Dispatch ALL independent work simultaneously
  ┌─ Agent 1: commands/notebooks.py
  ├─ Agent 2: commands/sources.py
  ├─ Agent 3: commands/chat.py
  ├─ Agent 4: commands/artifacts.py
  ├─ Agent 5: rpc/encoder.py + rpc/decoder.py (if non-REST)
  └─ Agent 6 (background): test_core.py (unit tests for core modules)
  All run concurrently — each only depends on Phase A modules

Phase C (sequential): Wire everything together
  utils/helpers.py → <app>_cli.py → __main__.py → setup.py
  (repl_skin.py, doctor.py, mcp_server.py were already vendored by
   scaffold-cli.py in Step B.0; the entry point registers doctor + mcp-serve)

Key parallelism rules:

  • Dispatch independent command modules as parallel subagents (one per commands/*.py file)
  • Start unit test writing as a background agent during command implementation
  • Entry point (<app>_cli.py, setup.py) must come last (depends on all commands)

Mandatory Smoke Check (Before Testing Phase)

Before invoking testing, install (pip install -e .) and verify:

  1. cli-web-<app> --help loads
  2. cli-web-<app> auth status --json shows valid (if auth-required)
  3. cli-web-<app> <resource> list --json returns real data
  4. One WRITE command works (if applicable)

Red flags — fix before testing: the full table is CONVENTIONS.md §Protocol-Leak Smoke Check (wrb.fr/af.httprm leaks, empty []/null, parser index mismatches). One methodology-specific case: a null WRITE response may mean the operation is client-side — see references/google-batchexecute.md "Client-Side Operations".

Update phase state:

bash
python ${CLAUDE_PLUGIN_ROOT}/scripts/phase-state.py complete <app> \
  --phase methodology --output <app>/agent-harness/

Next Step

When implementation is complete and the smoke check passes, invoke the testing skill to plan and write tests.

Do NOT skip testing -- every CLI must have comprehensive tests before publishing.


Companion Skills

SkillWhen it activates
capturePhase 1 -- traffic recording (prerequisite for this skill)
testingPhase 3 -- test writing, documentation
standardsPhase 4 -- publish, verify, smoke test

Integration

RelationshipSkill
Preceded bycapture (Phase 1)
Followed bytesting (Phase 3)
Referencesskills/shared/CONVENTIONS.md (all rules), skills/shared/RECOVERY.md (gate failures), traffic-patterns.md, auth-strategies.md, google-batchexecute.md, ssr-patterns.md, exception-hierarchy-example.py, client-architecture-example.py, polling-backoff-example.py, rich-output-example.py

Reference Files

  • references/traffic-patterns.md -- Common API patterns (REST, GraphQL, RPC)
  • references/auth-strategies.md -- Auth implementation strategies
  • references/google-batchexecute.md -- Google batchexecute RPC protocol spec
  • references/ssr-patterns.md -- SSR framework patterns and data extraction strategies
  • references/exception-hierarchy-example.py -- Complete exception hierarchy with HTTP status mapping
  • references/client-architecture-example.py -- Namespaced sub-client pattern with auth retry
  • references/polling-backoff-example.py -- Exponential backoff polling and rate-limit retry
  • references/rich-output-example.py -- Rich progress bars, JSON error responses, table formatting

© ItamarZand88, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in cli-anything-web-plugin/skills/methodology of ItamarZand88/CLI-Anything-WEB.

  • SKILL.md
  • references/auth-strategies.md
  • references/client-architecture-example.py
  • references/exception-hierarchy-example.py
  • references/google-batchexecute.md
  • references/helpers-module-example.py
  • references/persistent-context-example.py
  • references/polling-backoff-example.py
  • references/rich-output-example.py
  • references/ssr-patterns.md
  • references/traffic-patterns.md

Open the folder on GitHubat commit 931e201

Compare with similar skills

Methodology next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Methodology compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Methodology this skillItamarZand88/CLI-Anything-WEB231—~5.8kAutomated safety check: PassMIT
Land TS MonoUKGovernmentBEIS/inspect_ai3k—~3kAutomated safety check: PassMIT
Assisted Service Dev Modeopenshift/assisted-service138—~1.3kAutomated safety check: PassApache-2.0
Kingdee MCP DevWaHaiLong/KingdeeMCP105—~853Automated safety check: PassMIT
API Documenteralirezarezvani/claude-code-tresor777—~1.5kAutomated safety check: PassMIT
Houndarr Architectureav1155/houndarr292—~2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Land TS Mono

    UKGovernmentBEIS/inspect_ai

    Land a PR that requires a coordinated ts-mono submodule change.

    3k GitHub stars~3k tokensUpdated today
    Backend & APIsAuto-check passed
  • Assisted Service Dev Mode

    openshift/assisted-service

    Build and code-generate assisted-service using skipper with podman.

    138 GitHub stars~1.3k tokensUpdated today
    Backend & APIsAuto-check passed
  • Kingdee MCP Dev

    WaHaiLong/KingdeeMCP

    Knowledge base for the Kingdee MCP Dev Squad. An agent skill from WaHaiLong/KingdeeMCP.

    105 GitHub stars~853 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • API Documenter

    alirezarezvani/claude-code-tresor

    Auto-generate API documentation from code and comments. An agent skill from alirezarezvani/claude-code-tresor.

    777 GitHub stars~1.5k tokensUpdated 3 mo ago
    Backend & APIsAuto-check passed
  • Houndarr Architecture

    av1155/houndarr

    Houndarr's source layout and architectural patterns at file granularity.

    292 GitHub stars~2k tokensUpdated 3 days ago
    Backend & APIsAuto-check passed
  • Ns API

    NethServer/nethsecurity

    Write or modify a NethSecurity Python RPCD API script or hook.

    191 GitHub stars~2.8k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from ItamarZand88/CLI-Anything-WEB

All 42 skills in this repo
  • Standards

    ItamarZand88/CLI-Anything-WEB

    Runs Phase 4 review/publish/verify for a cli-web- CLI: implementation review by 3 parallel agents, the tiered quality checklist (Tier 1 critical fail-fast, then comprehensive), pip install + smoke…

    231 GitHub stars~4.2k tokensUpdated 8 days ago
    Auto-check passed
  • Airbnb CLI

    ItamarZand88/CLI-Anything-WEB

    Searches Airbnb from the terminal via cli-web-airbnb — find stays by location, dates, and filters; get listing details, guest reviews, and availability calendars; autocomplete location names.

    231 GitHub stars~801 tokensUpdated 8 days ago
    Auto-check passed
  • Amazon CLI

    ItamarZand88/CLI-Anything-WEB

    Searches Amazon from the terminal via cli-web-amazon — product search, product details by ASIN, Best Sellers by category, and autocomplete suggestions.

    231 GitHub stars~570 tokensUpdated 8 days ago
    Auto-check passed
  • Booking CLI

    ItamarZand88/CLI-Anything-WEB

    Searches Booking.com from the terminal via cli-web-booking — find hotels, apartments, and hostels by destination, dates, and guests; get property details by slug; resolve destination names to IDs.

    231 GitHub stars~776 tokensUpdated 8 days ago
    Auto-check passed
  • Booking CLI

    ItamarZand88/CLI-Anything-WEB

    Use cli-web-booking to search Booking.com for hotels, apartments, hostels, and accommodations by destination, dates, and filters.

    231 GitHub stars~970 tokensUpdated 8 days ago
    Auto-check passed
  • Capitoltrades CLI

    ItamarZand88/CLI-Anything-WEB

    Queries US congressional stock trades (STOCK Act disclosures) on capitoltrades.com via the cli-web-capitoltrades command-line tool — trades with rich filters, politician profiles and leaderboards…

    231 GitHub stars~971 tokensUpdated 8 days ago
    Auto-check passed

Works with

Categories

Questions about Methodology

What does Methodology do?

Analyzes captured HTTP traffic, designs the CLI architecture, and implements the Python CLI package (Phase 2): parse raw-traffic.json, identify the protocol, write api-spec.json, scaffold from…. Methodology is an agent skill from ItamarZand88/CLI-Anything-WEB.json, scaffold from templates, and implement endpoint methods and Click command groups.

When should I use Methodology?

Methodology fits situations like: tasks that involve OpenAPI specifications.

How do I install Methodology in Claude Code?

Run `npx skills add ItamarZand88/CLI-Anything-WEB --skill methodology -a claude-code`. Or copy the skill folder (cli-anything-web-plugin/skills/methodology in ItamarZand88/CLI-Anything-WEB) into .claude/skills/methodology in your project. Claude Code loads it when a task matches its description.

How do I install Methodology in Codex?

Run `npx skills add ItamarZand88/CLI-Anything-WEB --skill methodology -a codex`. Or copy the skill folder (cli-anything-web-plugin/skills/methodology in ItamarZand88/CLI-Anything-WEB) into .agents/skills/methodology in your project. Codex loads it when a task matches its description.

Can I use Methodology in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ItamarZand88/CLI-Anything-WEB --skill methodology -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/methodology, .gemini/skills/methodology, .github/skills/methodology and .opencode/skills/methodology in your project.

What does Methodology need to run?

Going by SKILL.md and its folder, Methodology needs Python for the scripts in its folder and the command-line tools its instructions call (python and pip). Our summary lists: Python 3.

Does Methodology access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Methodology safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Methodology use?

Methodology is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Methodology use?

About 5.8k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 20k tokens, read only when the agent opens those files.

What are the alternatives to Methodology?

Skills that share tags, products or a category with Methodology: Land TS Mono (UKGovernmentBEIS/inspect_ai, 3k stars), Assisted Service Dev Mode (openshift/assisted-service, 138 stars), Kingdee MCP Dev (WaHaiLong/KingdeeMCP, 105 stars) and API Documenter (alirezarezvani/claude-code-tresor, 777 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Methodology?

ItamarZand88 (a GitHub user) maintains it in ItamarZand88/CLI-Anything-WEB, which has 231 GitHub stars. The repository holds 42 skills in this directory. The repository was last updated on October 1, 2026.

Source: ItamarZand88/CLI-Anything-WEB on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.