用途
Godot 技能发现(godot-skill-discovery)是 GDSkills 技能发现与索引系统的专家蓝图,目标是让 AI 智能体能够按主题 / 关键词找到相关技能。资料说明其用于「构建技能……」类场景,并围绕技能索引、元数据解析和搜索定义高效的技能库导航。
主要能力
- 技能索引:解析 SKILL.md 文件并生成可搜索的元数据。
- 元数据解析:从 SKILL.md 的 YAML frontmatter 中读取 name、description 等字段。
- 关键词提取:从 description 的「Keywords X, Y, Z」模式中提取关键词。
- 搜索与排序:按名称、描述、关键词计算相关性并排序返回结果。
- 提供脚本:skill_index_generator.gd(专家技能索引器,解析 SKILL.md 文件并生成可搜索元数据)。
使用方式
资料以 GDScript 代码示例展示索引与搜索模式,核心类为 SkillIndexer(extends RefCounted),主要方法包括:
- index_skills(skills_dir: String):遍历目录,查找各子目录下的 SKILL.md 并建立索引。
- index_skill(path: String):读取文件内容,解析 frontmatter,若含 name 则写入 skill_registry,包含 path、description 与提取出的 keywords。
- parse_frontmatter(content: String):以首行 --- 为起始,逐行解析 key: value,返回元数据字典。
- search_skills(query: String):对名称、描述、关键词分别计权(名称包含 +10.0;描述包含 +5.0;关键词完全匹配 +20.0,关键词包含 +3.0),最后按相关性降序排序。
- extract_keywords(description: String):按「Keywords」标记截取后续内容,以逗号分割并去除空白。
技能元数据格式示例:
name: skill-name description: Expert blueprint for X including [features]. Use when [scenarios]. Keywords topic, action, domain.
适用场景
适用于构建、维护和检索 GDSkills 技能库,让 AI 智能体按主题或关键词定位技能;也适用于需要索引 SKILL.md、提取元数据与关键词、并对搜索结果进行相关性排序的技能管理系统。
限制与注意事项
资料以「NEVER Do in Skill Discovery」列出禁止事项:
- 不得依赖文件名进行技能识别,应以 frontmatter 的 name 字段为准,而非文件名。
- 不得跳过关键词提取,应从 description 中提取或维护关键词列表,否则技能无法被搜索发现。
- 不得在无失效机制的情况下缓存,应在文件修改或版本变化时使缓存失效,避免陈旧结果。
- 不得使用无排序的全文搜索,应使用 TF-IDF 或关键词加权来保证相关性。
- 不得忘记处理缺失 frontmatter,解析前应校验 YAML frontmatter,避免缺少 --- 分隔符导致解析器崩溃。
最佳实践
- 版本化技能索引:在元数据中纳入技能版本,用于兼容性检查。
- 积极缓存:在构建索引时解析 SKILL.md,并缓存结果以实现快速搜索。
- 支持模糊匹配:允许搜索中的拼写错误(如 Levenshtein 距离)。
- 分类分组:按类别组织技能以便浏览(如 2D、3D、Genre 等)。
相关资料
关联技能:godot-project-foundations、godot-gdscript-mastery;主技能:godot-master。
关于收费、价格、平台与具体安装步骤,资料暂未提供。