问题描述
首页 Skill 列表中,许多已安装的 skill 描述显示为「暂无描述」,但这些 skill 的 `SKILL.md` 实际上都有 `description` 字段。
如下截图所示(红框标注的 `find-skills` 以及 `gitnexus-cli`、`gitnexus-debugging` 等均受影响):

根本原因
`src-tauri/src/parser.rs` 中的 `extract_yaml_field` 函数使用了过于简单的正则,只能处理最基础的 YAML 单行值,无法处理以下三种 YAML 合法格式:
1. 双引号 + 内部转义(\")
# gitnexus-* 系列,约 6 个 skill
description: "Use when debugging. Examples: \"Why is X failing?\""
正则 [^\"'\n]+ 在遇到 \" 时立即截断,捕获为空。
2. Block Literal(|)多行格式
# ima-skill、teamskill-creator 等
description: |
统一的 IMA OpenAPI 技能,支持笔记管理和知识库操作。
当用户提到知识库...
正则无法处理多行,整个描述被忽略。
3. Block Folded(>)折叠格式
# report-html、youtube-summary 等
description: >
生成结构化 HTML 研究报告。当用户需要将多个来源...
同上,被忽略。
影响范围
以下类型的 skill 全部受影响(本地测试约 15+ 个):
| 类型 |
示例 |
双引号 + \" 转义 |
gitnexus-cli、gitnexus-debugging、gitnexus-exploring、gitnexus-refactoring、gitnexus-impact-analysis、gitnexus-guide |
Block Literal | |
ima-skill、teamskill-creator |
Block Folded > |
report-html、youtube-summary |
复现步骤
- 安装任意使用上述 YAML 格式的 skill
- 打开 SkillManager 首页
- 对应 skill 的描述显示为「暂无描述」
期望行为
正确解析所有标准 YAML scalar 格式,显示实际描述文字。
问题描述
首页 Skill 列表中,许多已安装的 skill 描述显示为「暂无描述」,但这些 skill 的 `SKILL.md` 实际上都有 `description` 字段。
如下截图所示(红框标注的 `find-skills` 以及 `gitnexus-cli`、`gitnexus-debugging` 等均受影响):
根本原因
`src-tauri/src/parser.rs` 中的 `extract_yaml_field` 函数使用了过于简单的正则,只能处理最基础的 YAML 单行值,无法处理以下三种 YAML 合法格式:
1. 双引号 + 内部转义(
\")正则
[^\"'\n]+在遇到\"时立即截断,捕获为空。2. Block Literal(
|)多行格式正则无法处理多行,整个描述被忽略。
3. Block Folded(
>)折叠格式同上,被忽略。
影响范围
以下类型的 skill 全部受影响(本地测试约 15+ 个):
\"转义gitnexus-cli、gitnexus-debugging、gitnexus-exploring、gitnexus-refactoring、gitnexus-impact-analysis、gitnexus-guide|ima-skill、teamskill-creator>report-html、youtube-summary复现步骤
期望行为
正确解析所有标准 YAML scalar 格式,显示实际描述文字。