SuperAPI AI 工具集

skill-discovery

智能体与模型

查看项目

更新于 10-16 22:43

技能介绍

用途

Skill Discovery 是 GDSkills 技能发现与索引系统的专家蓝图。其目标是让 AI 智能体能够按主题或关键词查找相关技能,同时定义技能库的索引、元数据解析与搜索导航方式。该资料以“技能索引、元数据解析和搜索”为核心,用于实现高效的技能库导航。

主要能力

资料提供的可用脚本为 skill_index_generator.gd。它被描述为一个专家级技能索引器,能够解析 SKILL.md 文件并生成可搜索的元数据。结合资料中的代码示例,索引器具备以下能力:

  • 扫描技能目录,识别其中的子目录,并查找每个技能目录下的 SKILL.md 文件。
  • 解析 SKILL.md 中的 YAML frontmatter,读取 name、description 等元数据字段。
  • 将技能注册到注册表(skill_registry),记录路径、描述与提取出的关键词。
  • 支持按查询字符串搜索技能,并基于名称匹配、描述匹配和关键词匹配计算相关性得分,再按相关性排序返回结果。
  • 从描述中按 “Keywords X, Y, Z” 模式提取关键词列表。

元数据格式

技能元数据使用 YAML frontmatter 形式,资料给出如下格式:

---
name: skill-name
description: Expert blueprint for X including [features]. Use when [scenarios]. Keywords topic, action, domain.
---

使用方式

资料给出索引与搜索的核心代码模式,包括 SkillIndexer 类、index_skills、index_skill、parse_frontmatter、search_skills 和 extract_keywords 等函数。整体流程为:打开技能目录并遍历子目录,定位每个技能目录下的 SKILL.md;读取文件内容并解析 frontmatter;若存在 name 字段则将该技能登记到技能注册表;搜索时对每个技能的名称、描述和关键词分别计算相关性,并累加得分后排序返回。

明确的约束与最佳实践

资料以“NEVER”形式列出若干必须避免的做法:

  • 绝不依赖文件名识别技能,应使用 frontmatter 的 name 字段作为唯一事实来源。
  • 绝不跳过关键词提取,否则技能无法通过搜索被发现;关键词须从描述中提取或维护关键词列表。
  • 绝不在没有失效机制的情况下缓存,技能索引被缓存而 SKILL.md 被更新时会产生过期结果;应在文件修改或版本变化时使缓存失效。
  • 绝不使用没有排序的全文搜索,否则搜索 “input” 这类词会返回全部技能;应使用 TF-IDF 或关键词权重来衡量相关性。
  • 绝不忽略缺失的 frontmatter,格式错误、缺少 --- 分隔符的 SKILL.md 会导致解析器崩溃;解析前应校验 YAML frontmatter。

资料还列出最佳实践:在元数据中包含技能版本以进行兼容性检查;在索引构建时解析 SKILL.md 并缓存结果以加快搜索;支持模糊匹配(例如 Levenshtein 距离);按类别对技能分组以便浏览(如 2D、3D、Genre 等)。

适用场景

该蓝图适用于构建技能库、实现技能索引与关键词检索、以及为 AI 智能体提供技能发现能力。资料提及的相关技能为 project-foundations 和 gdscript-mastery。

限制

资料未提供完整的安装命令、运行环境配置、支持的平台、收费方式、价格或实际使用效果等信息,这些内容暂未提供。