itamarzand88/cli-anything-web/gap-analyzer
Claude Code and agent skill by itamarzand88/cli-anything-web
- community
Checking that the SKILL.md file is still in the repository.
Compares a CLI's implemented commands against its APP.md API map and traffic-analysis.json to find missing endpoints, incomplete CRUD, dead client methods, and priority gaps. Runs as the mandatory first step of /cli-anything-web:refine and as an optional pre-review scan in standards.
Install
npx vskill@latest install itamarzand88/cli-anything-web/gap-analyzerSKILL.md
CLI Gap Analyzer
Produce a structured gap report comparing a CLI's documented API surface against its implemented commands.
Where this skill runs:
- `/cli-anything-web:refine` — mandatory first step. The refine command
invokes this skill before reading or changing anything else; the gap report drives which endpoints get implemented.
- `standards` skill — optional pre-review scan (endpoint coverage there is
otherwise handled by the traffic-fidelity-reviewer agent).
- Standalone coverage analysis on request.
Evidence rule: the captured-vs-implemented diff must cite its sources — each reported gap references the endpoint entry in <APP>.md (the documented surface) and, when available, traffic-capture/traffic-analysis.json (the analyzer's detected endpoint inventory), plus raw-traffic.json hit counts for priority. A gap with no citation in either file is a guess, not a finding.
Inputs
You need the path to an existing CLI's agent-harness directory:
{APP_PATH}/agent-harness/— the CLI root{app}— the app name (e.g.,reddit,hackernews)
Evidence files (read all that exist):
{APP_PATH}/agent-harness/{APP_UPPER}.md— documented API map (required){APP_PATH}/traffic-capture/traffic-analysis.json— detected endpoints/protocol{APP_PATH}/traffic-capture/raw-traffic.json— hit counts for priority scoring
Step 0: Deterministic First Pass (devkit)
Run the mechanical layer diff first — it AST-parses the client and command modules and cross-references traffic-analysis.json, so you only spend judgment on what it can't decide:
The JSON report gives unimplemented_endpoints (captured but absent from client.py) and unexposed_methods (client methods no command calls). Treat these as candidate gaps to verify in Steps 1–3, not as final answers — the string-level endpoint matching is intentionally conservative.
Step 1: Parse Implemented Surface
Read all source files to build the set of implemented functionality:
1a. Extract Click commands
Read all files in {APP_PATH}/agent-harness/cli_web/{app}/commands/:
- For each file, find
@click.command()and@<group>.command()decorators - Extract: command group name, subcommand name, arguments, options
- Build list:
[(group, subcommand, [args], [options])]
1b. Extract client methods
Read {APP_PATH}/agent-harness/cli_web/{app}/core/client.py:
- Find all public methods (not starting with
_) - For each method, note: name, HTTP method used (GET/POST/etc), URL pattern
- Build list:
[(method_name, http_verb, url_pattern)]
1c. Map commands to client methods
For each Click command, trace which client method it calls:
- Read the command function body
- Find
client.method_name()calls - Build mapping:
{command: client_method}
Step 2: Parse Documented Surface
Read {APP_PATH}/agent-harness/{APP_UPPER}.md (the API map):
- Find the endpoint inventory section
- Extract each documented endpoint: resource group, HTTP method, URL, params, description
- Build list:
[(resource, http_verb, url, params, description)]
Cross-check against {APP_PATH}/traffic-capture/traffic-analysis.json (if it exists): endpoints the analyzer detected but <APP>.md never documented are themselves a gap (stale API map) — report them with the traffic-analysis.json entry as the citation.
Step 3: Diff
Compare implemented vs documented:
Missing Commands
Endpoints in <APP>.md that have no corresponding Click command:
Undocumented Commands
Click commands that call client methods not documented in <APP>.md:
Dead Client Methods
Client methods that no Click command calls:
Incomplete CRUD
For each resource group, check CRUD coverage:
Step 4: Priority Scoring (Optional)
If {APP_PATH}/traffic-capture/raw-traffic.json exists:
- Count how many times each endpoint URL appears in captured requests
- Assign priority: HIGH (5+ hits), MED (2-4 hits), LOW (1 hit)
- Note: traffic captures are incomplete — endpoints not exercised during
capture may be ranked LOW even if they are important to users
If raw-traffic.json doesn't exist, skip priority scoring and list all gaps alphabetically.
Step 5: Output Report
Present the gap report in this format:
If all endpoints are covered:
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingcli-anything-web-plugin/skills/gap-analyzer/SKILL.md
Popularity
- Repository stars
- 216
- Repository forks
- 45
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/itamarzand88/cli-anything-web/gap-analyzer)