SuperAPI AI 工具集

feature-radar-validate

编程与开发

查看项目

更新于 10-16 04:17

技能介绍

用途

Feature Radar Validate 用于校验 Feature Radar 相关技能文件的格式合规性。它检查两类内容:SKILL.md 的 frontmatter,以及 .feature-radar/ 目录下的文件是否符合 SPEC 规范。

该技能存在的意义在于提前发现会导致静默故障的格式问题。SKILL.md 的 description 字段有注册表强制的 1024 字符硬上限,超出会导致技能注册静默失败;.feature-radar/ 文件必须遵循 SPEC.md 的命名与元数据约定,否则下游工具无法解析。

主要能力

  • 运行校验脚本,检查 SKILL.md frontmatter 与 .feature-radar/ 文件的 SPEC 合规性。
  • 报告错误与警告,并给出退出码:退出码 0 表示全部检查通过(可能仍有警告);退出码 1 表示发现错误,必须修复。
  • 对可自动处理的问题执行修复。
  • 修复后重新运行校验,确认错误已解决。
  • 输出完成摘要,列出已修复文件、已修复错误数、已修复警告数以及仍需用户输入的剩余项。

使用方式

在项目根目录运行校验脚本:

bash skills/feature-radar-validate/scripts/validate.sh

读取完整输出并注意退出码。随后清晰呈现结果,格式如下:

── Feature Radar: Validate ──

Errors:   {n}
Warnings: {n}

{List each error/warning with file path and issue}

若全部通过,说明情况并停止,无需进一步操作。

若发现错误或警告,按问题类型应用对应修复策略:

问题 修复策略
description 超过 1024 字符 裁剪至符合限制,优先删除最不关键的触发短语或示例,保留核心的“做什么”和“Use when”内容,并展示修改前后的字符数
description 缺少 “Use when” 根据技能用途添加 “Use when:” 段落
name 不是 kebab-case 重命名为 kebab-case
name 缺失 从目录名推导
正文超过 500 行 标记给用户——需要人工判断哪些内容应提取到参考文件
文件名不符合 {nn}-{slug}.md 重命名为正确格式
缺少 Status: / Impact: / Effort: 添加占位值字段,并请用户确认
base.md 计数不匹配 更新 Tracking Summary 表格计数

修复后重新运行校验脚本确认所有错误已解决:

bash skills/feature-radar-validate/scripts/validate.sh

最后输出完成摘要:

── Feature Radar: Validate Complete ──

Files fixed:   ~ {path} ({what changed})
Errors fixed:  {n}
Warnings fixed: {n}
Remaining:     {n} (need user input)

主动触发

当注意到自己正在编辑 skills//SKILL.md 或 .feature-radar/**/.md 时,应主动在编辑后运行校验,无需等待用户要求。一次快速的校验只需几秒钟,可防止静默故障。

适用场景

  • 编辑或新增 SKILL.md 后,确认 frontmatter 合规。
  • 修改 .feature-radar/ 目录下文件后,确认符合 SPEC 命名与元数据约定。
  • 在技能注册前排查 description 超长等会导致注册失败的问题。

限制

  • 正文超过 500 行的问题无法自动修复,需要用户人工判断。
  • 部分字段缺失时只能添加占位值,需用户确认。
  • 具体支持的平台、收费方式、价格等信息暂未提供。