Skip to content

Bug: Skill 描述解析失败导致大量 skill 显示「暂无描述」 #1

@cooker-code

Description

@cooker-code

问题描述

首页 Skill 列表中,许多已安装的 skill 描述显示为「暂无描述」,但这些 skill 的 `SKILL.md` 实际上都有 `description` 字段。

如下截图所示(红框标注的 `find-skills` 以及 `gitnexus-cli`、`gitnexus-debugging` 等均受影响):

skill 描述缺失截图

根本原因

`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-cligitnexus-debugginggitnexus-exploringgitnexus-refactoringgitnexus-impact-analysisgitnexus-guide
Block Literal | ima-skillteamskill-creator
Block Folded > report-htmlyoutube-summary

复现步骤

  1. 安装任意使用上述 YAML 格式的 skill
  2. 打开 SkillManager 首页
  3. 对应 skill 的描述显示为「暂无描述」

期望行为

正确解析所有标准 YAML scalar 格式,显示实际描述文字。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions