vulncheck-clilisted
Install: claude install-skill vulncheck-oss/agent-tools
# VulnCheck CLI <!-- skill-version: 1.0.0 -->
> **Binary is `vulncheck`** — not `vulncheck-cli`, not `vci`. Run commands directly, no `||` fallbacks or `echo` error strings. VulnCheck is a standalone CLI — it does not require a project directory.
Only authenticate if a command fails with exit `3` or `.error.code == "auth_required"` — run `vulncheck auth login` or set `VC_TOKEN`.
## The agentic contract
The CLI ships a stable wire contract designed for agents. Rely on it:
- **`--json` is a global flag.** Every command accepts it. Stdout carries only the JSON payload; info, progress, spinners, and warnings all route to stderr. `vulncheck <cmd> --json | jq` always works.
- **Exit codes are meaningful.** `0` success · `1` internal · `2` validation · `3` auth · `4` not_found · `5` rate_limited · `6` network · `130` cancelled (SIGINT). Dispatch on the code, not the message text.
- **Errors are structured.** In `--json` mode, failures emit `{"schema_version":1,"error":{"code":"...","message":"...","http_status":...}}` on stdout. Match on `.error.code` (one of `auth_required`, `auth_invalid`, `validation`, `not_found`, `rate_limited`, `network`, `bad_request`, `cancelled`, `internal`).
- **`--no-interactive` (or non-TTY / `CI=1`) refuses to block on prompts.** Interactive commands (`auth login`) fail fast with exit `2`; some degrade gracefully (see command-specific notes below).
- **`vulncheck commands` dumps the whole command tree as JSON** — probe capabilities without parsing