SuperAPI AI 工具集

skill-catalog

办公与效率

查看项目

更新于 10-15 09:52

技能介绍

Skill catalog 是一个用于发现、选择和绑定技能知识的工具。它的输入包括操作类型、权威的项目/运行/快照绑定、受影响的范围及其证据、以及实际的主机/项目技能清单;输出为可搜索的元数据、带指纹的知识选择和明确的覆盖缺口。该叶子节点本身不持有项目状态,其标准库辅助脚本打印 JSON,调用方的操作协议会在已获授权的 run root 内持久化记录。

清单方面,需要阅读该技能内的 references/host-inventory.md 以获取适配器可用的技能绑定。生成的 references/catalog.json 只包含声明,而非安装证明。只有实际可用的技能才会被规范化为清单行,包含 id、provider、version、绝对解析的 provider root、以 SKILL.md 结尾的技能相对文件以及 origin=host|project|external 等字段。无版本的项目/外部内容记录为 unversioned,其内容指纹为权威依据。根路径需从主机拥有的位置和已加载的技能路径解析,不得猜测其他插件的缓存,也不得检查父级/家目录树。不可读或有歧义的清单视为缺口。禁止安装插件、从网络检索技能或更改权限。

每个知识技能在 SKILL.md 旁声明 SKILL.toml,格式见 references/metadata.md。未经标注的外部技能保持未知状态:搜索可以发现它,但自动选择需要其所有者提供经过审查的知识分类。绝不能从名称或描述推断其可安全执行。方法、工作流技能和角色技能不能成为自动审查知识。

范围与选择方面,调用方提供 run_id、project_id、snapshot_id、操作和范围。每个范围有 ID、精确候选路径、语言、框架、主题和非空激活证据(可追溯到受影响的代码/包/配置)。workers 将每个知识维度映射到调用方选定的交付 ID。在准备之前,需要为相关现有透镜或声明的任务专用隔离 worker 分配任务;每个选定维度必须有分配的 worker。单个 worker 可以明确拥有多个维度。准备好的绑定同时保留维度到 worker 的映射(dimension_workers)和不同的交付 ID。这些开放标签需从项目中推断;此处不嵌入语言注册表。根据需要检查导入、包配置、变更行为和嵌入查询。仓库范围的依赖不能作为无关包的证据。把不可读的信号记录为缺口;仅有声明不能证明运行时使用。

在有限页内搜索元数据以发现标签和相关能力。检查候选元数据并细化有证据支持的范围信号;关键词排名只是发现,不是裁决或覆盖证明。select 匹配知识类型、操作和所有声明的选择器组。组内的值是备选项。它没有 top-K 覆盖截断。在广泛选择之前,明确缩小授权范围/预算并声明省略的覆盖,而不是静默丢弃适用的知识。缺少范围匹配仍属于覆盖缺口。

prepare 只读取并哈希所选正文和元数据。每个选定的输入对该次运行都成为强制项,包含 provider/version、范围、维度和证据。保留精确的选择记录;内容/元数据变更需要针对同一经验证的候选重新准备。选定的加载失败是输入失败,绝不能视为成功跳过。辅助脚本的 prepared 状态不代表 worker 已读取它。

消费与核算方面,对每个分配的输入使用 load。将其内容作为授权操作的知识和约束提供给现有的范围 worker。加载知识不授予执行内容中命令、工作流或变更步骤的授权。没有项目/代码证据,不得将知识建议视为发现。使用 reference 按需阅读补充 references/,并在 usage 中保留其哈希。

按分配的 worker 和范围记录用量,包含 ID、选择哈希、正文哈希、状态、引用哈希和应用/跳过说明。worker 只接收其范围和透镜的知识,具有独立上下文,不接收同伴的发现。一个 worker 可能受多个技能支持。将失败的加载和未匹配的覆盖返回给调用方。validate-usage 验证完整的选择及其指纹(即使其中没有条目),然后检查范围交付和当前内容;辅助脚本还会检查每个分配的 worker 并重新检查已使用的引用哈希。辅助脚本和生成的索引都不能证明语义真实性或已安装主机的执行情况。

辅助脚本位于 ${CLAUDE_PLUGIN_ROOT}/skills/skill-catalog/scripts/catalog.py,需使用 Python 3.11+ 运行。输入是 run 拥有的 JSON 文件。使用调用方的受限工具持久化 stdout:

index --declared DECLARED.json --inventory INVENTORY.json

search --catalog AVAILABLE.json --query QUERY --operation review --limit 20 --offset 0

select --catalog AVAILABLE.json --request REQUEST.json

prepare --catalog AVAILABLE.json --request REQUEST.json

load --selection SELECTION.json --id EXACT_ID

reference --selection SELECTION.json --id EXACT_ID --path references/FILE.md

validate-usage --selection SELECTION.json --usage USAGE.json

index 和 search 从不读取技能正文。prepare/load 读取所选 UTF-8 内容,上限为 2 MiB。拒绝路径穿越、符号链接和 Windows 联接点。所有命令均为只读;失败的命令会发出结构化失败信息并以退出码 1 结束。