SuperAPI AI 工具集

skill-improve

编程与开发

查看项目

更新于 10-15 14:30

技能介绍

用途

skill-improve 用于对单个技能执行改进循环:测试 → 修复 → 重测 → 保留或回滚。它通过静态检查和(可选的)分类检查发现技能中的具体问题,提出针对性修复,并在写入后重新测量分数,只有分数确实改善才保留改动。

主要能力

  • 基线测试:运行 /skill-test static [name],记录失败数、警告数以及具体失败的检查项(Check 1–7)。若静态结果为 NOT ASSESSED(文件无法读取或解析),则停止并报告原因,因为此时没有可改进的分数。
  • 分类基线:从 CCGS Skill Testing Framework/catalog.yaml 查找技能的 category 字段;若未分配分类则跳过分类检查。若找到分类,运行 /skill-test category [name] 并记录分类基线的失败数、警告数及具体未通过的评分指标。分类结果为 NOT ASSESSED 时同样报告原因,且该维度不计入“已通过”。
  • 诊断:读取完整的 SKILL.md 及其 references/ 文件夹中的每个文件,针对每个失败或警告的静态检查定位确切缺口(例如 Check 1 失败对应哪个 frontmatter 字段缺失,Check 4 失败对应 allowed-tools 中有 Write 或 Edit 但缺少写入前询问语言等),并针对分类检查定位技能文本中的具体缺口。
  • 提出修复:为每个失败和警告编写针对性修复,以清晰的 before/after 块展示,只修改失败的部分,不重写已通过的部分。若技能有 references/ 文件夹,对某个阶段步骤的修复写入该阶段的 references/ 文件而非 SKILL.md。
  • 写入与重测:记录修复所涉及文件的当前内容以便回滚,写入改进后的技能,重新运行静态检查(以及分类检查,若已分配分类),并展示前后对比。
  • 判定:统计综合失败总数(静态 FAIL + 分类 FAIL + 静态 WARN + 分类 WARN)。若综合分数改善则保留改动;若持平或变差,则询问是否将文件恢复到本次运行前的内容。重测结果为 NOT ASSESSED 时一律视为未改善。
  • 后续步骤:提示运行 /skill-test static all 查找下一个有失败的技能,运行 /skill-improve [next-name] 继续循环,或运行 /skill-test audit 查看整体覆盖进度。

使用方式

命令格式:

Usage: /skill-improve [skill-name]
Example: /skill-improve tech-debt

从第一个参数读取技能名称;若缺失则输出用法并停止。验证 .claude/skills/[name]/SKILL.md 是否存在,若不存在则停止并提示 "Skill '[name]' not found."。

自动化模式通过解析 modes.automation(project.local.yaml → project.yaml → 默认 collaborative)确定。每次 AskUserQuestion 调用和每次文件写入都遵循 .claude/docs/automation-modes.md(collaborative 总是询问 · guided 仅主要事项 · autonomous 记录并继续;automation_always_ask 类别始终提示)。

适用场景

适用于需要系统性改进单个技能质量的场景,尤其是当技能存在静态检查失败或警告、或分类评分指标未通过时。也适合在批量审计后逐个修复有问题的技能。

限制

  • 若静态结果为 NOT ASSESSED,则停止,因为没有可改进的分数。
  • 若静态和分类基线均为 0 失败 0 警告且均非 NOT ASSESSED,则停止并提示该技能已通过所有检查,无需改进。
  • 回滚时使用 Write 写回记录的内容,不使用 git checkout,以避免丢弃本次运行前未提交的编辑。
  • 重测结果为 NOT ASSESSED 时一律视为未改善。
  • 分类检查仅在技能已分配 category 字段时执行。