跳到主要内容
知仓学习社ZHICANG

capability-discovery

|

写文件严重 0 · 高危 1hashgraph-online/awesome-codex-plugins

它会碰到什么

扫了多少1 个文本文件,3 KB
它会碰到什么写文件
命中总数1 处
命中统计严重 0 · 高 1 · 中 0 · 低 0
逐条看命中(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.json in the project root and

~/.claude.json (user level).

  • Claude Code plugins: parsed from ~/.claude/plugins/installed_plugins.json.
  • Codex: presence of the codex CLI (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 拉。许可未声明的技能只给原始仓库链接,不打包。