Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Detect which MCP servers, Claude Code plugins, and CLI tools are available in the current environment, so kits and build sites can bind to real capabilities instead of imagined ones. Runs via /ck:init --tools-only or `cavekit-tools.cjs discover`. Writes .cavekit/capabilities.json. Trigger phrases: "what do we have available", "what's installed", "detect tools", "can we use X", "setup tools".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | -45% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -55% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -58% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -60% | 0% |
The pipeline should never invent tools. Before drafting a kit that references GitHub Actions, Supabase, Codex, or any other external dependency, check what actually exists.
gh, git, node, go, rustc, cargo,python3, pip, docker, vercel, supabase, firebase, wrangler, ffmpeg, playwright, codex, graphify.
.mcp.json in the project root and~/.claude.json (user level).
~/.claude/plugins/installed_plugins.json.codex CLI (enables peer-review commands).graphify-out/graph.json (enables thegraphify-integration skill).
bashnode "${CLAUDE_PLUGIN_ROOT}/scripts/cavekit-tools.cjs" discover
Writes .cavekit/capabilities.json:
json{ "discovered_at": "2026-04-17T14:22Z", "cli_tools": { "gh": true, "git": true, "node": true, "codex": false }, "mcp_servers": ["codex-reviewer", "graphify"], "plugins": [], "codex": { "available": false } }
/ck:sketch — reads capabilities before proposing integrations. If akit would need a missing tool, it either adds a "Setup" task to the build site or asks the user whether to proceed without it.
/ck:map — flags tasks that depend on missing capabilities asblocked: setup-required.
/ck:make — refuses to dispatch subagents that require a missing MCPserver.
/ck:check — includes a "Capability Coverage" section in the inspectreport.
/ck:init).The file is cheap to regenerate — always discover, never guess.
kits should record credentials as a separate concern (never committed).
assurances.
(package.json / go.mod / pyproject.toml); discovery only confirms executables exist.
Other measured skills in the registry, with their headline benchmark lift.