capability-discovery
|
它会碰到什么
逐条看命中(1 条严重或高危)
- 高
SKILL.md:23identity-config-write- **MCP servers**: parsed from `.mcp.json` in the project root and
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Capability Discovery
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.
What we detect
- CLI tools on $PATH:
gh,git,node,go,rustc,cargo,
python3, pip, docker, vercel, supabase, firebase, wrangler,
ffmpeg, playwright, codex, graphify.
- MCP servers: parsed from
.mcp.jsonin the project root and
~/.claude.json (user level).
- Claude Code plugins: parsed from
~/.claude/plugins/installed_plugins.json. - Codex: presence of the
codexCLI (enables peer-review commands). - Knowledge graph: presence of
graphify-out/graph.json(enables the
graphify-integration skill).
Running discovery
node "${CLAUDE_PLUGIN_ROOT}/scripts/cavekit-tools.cjs" discover
Writes .cavekit/capabilities.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 }
}
How other commands use it
/ck:sketch— reads capabilities before proposing integrations. If a
kit 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 as
blocked: setup-required.
/ck:make— refuses to dispatch subagents that require a missing MCP
server.
/ck:check— includes a "Capability Coverage" section in the inspect
report.
When to re-run
- After installing a new CLI tool.
- After adding or removing an MCP server.
- At the start of every new project (via
/ck:init). - Whenever a task fails with "command not found".
The file is cheap to regenerate — always discover, never guess.
What we deliberately do not detect
- Network-accessible APIs behind credentials. Availability is not reachability;
kits should record credentials as a separate concern (never committed).
- IDE extensions. They are not scriptable from the loop and would create false
assurances.
- Language versions. Version-pinning is the project's responsibility
(package.json / go.mod / pyproject.toml); discovery only confirms
executables exist.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/JuliusBrussee/blueprint/skills/capability-discovery/SKILL.md