用途
godot-skill-discovery 是一套用于 GDSkills 技能发现与索引系统的专家蓝图,目标是让 AI 智能体能够按主题或关键词找到相关技能。资料将其定位为技能索引、元数据解析与搜索,用于实现高效的技能库导航。
主要能力
- 技能索引:解析 SKILL.md 文件并生成可搜索的元数据。资料提供的脚本为 skill_index_generator.gd,被描述为“专家技能索引器”。
- 元数据解析:从 SKILL.md 的 YAML frontmatter 中读取 name、description 等字段。
- 关键词提取:从 description 中的“Keywords X, Y, Z”模式提取关键词。
- 搜索与排序:按名称、描述、关键词匹配计算相关度,并按相关度排序返回结果。
使用方式
资料给出的技能元数据格式为:
---
name: skill-name
description: Expert blueprint for X including [features]. Use when [scenarios]. Keywords topic, action, domain.
---
索引模式示例代码(skill_indexer.gd)包含以下函数:
- index_skills(skills_dir):遍历技能目录,对每个子目录中存在的 SKILL.md 调用 index_skill。
- index_skill(path):读取文件内容,解析 frontmatter,若存在 name 则写入 skill_registry,记录 path、description 与提取出的 keywords。
- parse_frontmatter(content):检查首行是否为 ---,收集 frontmatter 行并按冒号拆分键值。
- search_skills(query):对名称匹配加 10.0、描述匹配加 5.0、关键词精确匹配加 20.0、关键词包含匹配加 3.0,最后按相关度降序排序。
- extract_keywords(description):查找“Keywords ”标记,截取到句点前,再按逗号拆分并去除空白。
适用场景
资料说明其用于构建技能发现能力,使 AI 智能体能够通过主题或关键词检索技能库。相关技能包括 godot-project-foundations、godot-gdscript-mastery,主技能为 godot-master。
限制与禁止事项
资料明确列出技能发现中“绝不要”做的行为:
- 绝不要依赖文件名识别技能,应以 frontmatter 的 name 字段为准,而非文件名。
- 绝不要跳过关键词提取;没有关键词的技能无法通过搜索被发现,必须从 description 提取或维护关键词列表。
- 绝不要在无失效机制的情况下缓存;SKILL.md 更新后缓存会导致结果过期,应在文件修改或版本变化时使缓存失效。
- 绝不要使用无排序的全文本搜索;搜索 100 个技能中的“input”会返回全部结果,应使用 TF-IDF 或关键词加权来评估相关性。
- 绝不要忘记处理缺失 frontmatter;缺少 --- 分隔符的畸形 SKILL.md 会导致解析器崩溃,解析前应校验 YAML frontmatter。
最佳实践
资料给出的最佳实践包括:为技能索引添加版本号以便兼容性检查;在索引构建时解析 SKILL.md 并积极缓存结果以加速搜索;支持模糊匹配(如 Levenshtein 距离)以容忍拼写错误;按类别分组技能以便浏览(如 2D、3D、Genre 等)。
暂未提供的信息
资料未提供该技能的安装命令、收费或价格信息、支持的平台范围、实际效果数据以及具体的使用步骤说明。