mcpField
S
skill-grader

skill-grader

github.com/curiositechAgent 工作流257136 次安装2 天前更新
代码仓库

关于 skill-grader

用于评估 Claude Agent Skills 的结构化评分标准,面向子 Agent 和领域经验有限的评审者。它按 10 个维度评分,并给出针对性的改进建议。

主要功能

  1. 01按 10 个维度评估技能
  2. 02提供分项与总评分级
  3. 03按权重计算总分
  4. 04给出具体改进建议
  5. 05支持技能库快速评分

适用场景

  1. 01审查单个技能的质量
  2. 02比较技能并确定修改优先级
  3. 03检查整个技能库的质量
  4. 04制定技能改进路线图

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/curiositech/some_claude_skills --skill skill-grader

安装后在 Claude Code 中输入/skill-grader确认已加载。

附带文件.claude-plugin/plugin.jsonCHANGELOG.md

详细介绍

技能评分器

用于 Claude Agent Skills 的结构化评估标准。针对 10 个维度分别给出字母等级(A+ 到 F)以及总体等级,并为每个维度提供具体的改进建议。

面向子 Agent 和非专业审查者,他们需要通过机械、可重复的流程评估技能质量,而无需深入的领域专业知识。


使用时机

✅ 适用于:

  • 审查单项技能的质量
  • 对比不同技能
  • 确定优先改进哪些技能
  • 对技能库进行质量检查
  • 制定改进路线图

❌ 不适用于:

  • 创建新技能(使用 skill-architect)
  • 评估代码质量或非技能文档
  • 评估 Agent 表现(这与技能质量不同)

评分流程

flowchart TD
  A[Read SKILL.md + all files] --> B[Score each of 10 axes]
  B --> C[Assign letter grade per axis]
  C --> D[Compute overall grade]
  D --> E[Write improvement recommendations]
  E --> F[Produce grading report]
分步说明
  1. 阅读整个技能文件夹——SKILL.md、所有参考资料、脚本、CHANGELOG、README
  2. 评估各个维度——使用下方的评分标准(每项 0-100 分)
  3. 换算为字母等级——参见等级标准
  4. 计算总体等级——加权平均(Description 和 Scope 的权重为 2 倍)
  5. 为低于 B+ 的各个维度撰写 1-3 条具体改进建议
  6. 按照下方的输出格式生成评分报告

10 个评估维度

维度 1:描述质量(权重:2 倍)

描述是否符合 [内容] [时机] [关键词]。NOT for [排除项] 的格式?

等级标准
A使用具体的动词和名词,包含用户可能输入的领域关键词,明确列出 2-5 个 NOT 排除项,25-50 个词
B包含关键词和 NOT 子句,但略显含糊或缺少同义词覆盖
C过于笼统、缺少 NOT 子句,或包含 >100 词的流程细节
D只有一句含糊的描述(“帮助处理 X”),或名称与描述不匹配
F缺少描述或描述为空
维度 2:范围把控(权重:2 倍)

该技能是否专注于一种专业领域,还是包罗万象?

等级标准
A专注于一个明确的专业领域,且同时包含具体的“When to Use”和“NOT for”部分
B大体上专注,边界略有歧义
C涵盖 2-3 个相关但不同的领域,可能应该拆分
D包罗万象的技能(“帮助处理与 X 相关的所有事”)
F完全没有定义范围边界
维度 3:渐进式披露

该技能是否遵循三层架构(元数据 → SKILL.md → 参考资料)?

等级标准
ASKILL.md 少于 300 行,主要内容放在参考资料中,SKILL.md 内含带单行说明的参考资料索引
BSKILL.md 少于 500 行,使用了一些参考资料,且包含索引
CSKILL.md 超过 500 行,或所有内容都内嵌其中,没有参考资料
DSKILL.md 超过 800 行,或存在参考资料但未在 SKILL.md 中建立索引
F单个庞大文件,没有任何结构
维度 4:反模式覆盖

该技能是否编码了可避免常见错误的专家知识?

等级标准
A包含 3 个以上采用 Novice/Expert/Timeline 模板的反模式,并说明 LLM 常犯的错误
B包含 1-2 个反模式,并附有清晰说明
C提到了反模式,但没有结构化模板
D没有反模式,只有正向指引
F包含本身就是反模式的建议(过时、有害)
维度 5:自包含工具

该技能是否包含可用的工具(脚本、MCP、子 Agent)?

等级标准
A提供带 CLI 接口、错误处理和依赖项文档的可用脚本;或合理说明“无需工具”
B存在可用脚本,但缺少错误处理或文档
C提到了脚本,但实际是模板或伪代码
D虚构工具(SKILL.md 引用了不存在的文件)
F引用了不存在的工具,且未作任何说明

注意:并非每项技能都需要工具。如果工具不适用,纯决策树类技能也可以获得 A 级。

维度 6:激活精确度

该技能能否在相关查询中正确激活,并在无关查询中保持静默?

等级标准
A描述包含与用户用语匹配的具体关键词,有明确的 NOT 条款,且没有明显的误触发因素
B关键词合适,但存在轻微的误触发风险
C关键词笼统,与其他技能的关键词重叠
D没有具体关键词,或 NOT 条款与预期用途相矛盾
F描述会导致持续误触发
维度 7:可视化内容

该技能是否有效使用 Mermaid 图表、代码示例和表格?

等级标准
A使用 Mermaid 流程图呈现决策树,使用表格进行比较,使用代码示例展示具体模式
B有一些图表或表格,但关键决策树仍以散文形式呈现
C使用了表格,但没有用 Mermaid 图表呈现流程
D只有散文,没有可视化结构
F大段文字,没有任何格式辅助
维度 8:输出契约

该技能是否定义了其他 Agent 可使用的输出格式?

等级标准
A明确规定输出格式(JSON 模式、Markdown 模板或结构化章节),可供子 Agent 使用
B暗示了输出格式,但没有明确说明
C没有输出格式,但内容结构足以推断
D预期输出为非结构化散文
FN/A(纯参考技能)——不适用此维度
维度 9:时效意识

该技能是否记录了知识的适用时间及其变化?

等级标准
A反模式中包含时间线,有“截至 [日期]”标记,并有带日期的 CHANGELOG
B有一些时间背景,且存在 CHANGELOG
C知识没有日期,但存在 CHANGELOG
D完全没有时间背景,知识可能已经过时
F包含明显过时的建议,且未作警示
维度 10:文档质量

README、CHANGELOG 和参考资料的组织情况。

等级标准
AREADME 包含快速入门,CHANGELOG 包含带日期的版本记录,参考资料组织良好且文件名清晰
B存在 README 和 CHANGELOG,也提供了参考资料
CSKILL.md 是唯一文件,但结构良好
D没有 README、没有 CHANGELOG,参考资料组织混乱
FSKILL.md 是唯一文件,且结构混乱

等级评分表

字母分数范围含义
A+97-100卓越——树立了标杆
A93-96优秀——仍有少量改进空间
A-90-92非常好——存在少数小问题
B+87-89良好——仍有明显改进空间
B83-86扎实——有几个方面需要改进
B-80-82高于平均水平——存在实质性不足
C+77-79一般——需要显著改进
C73-76低于平均水平——存在重大不足
C-70-72勉强合格
D+67-69较差——存在根本性问题
D63-66很差——需要大幅返工
D-60-62接近不合格
F<60不合格——从头开始

总体评分计算

维度 1(描述)和维度 2(范围)的权重为 2 倍。其他维度的权重均为 1 倍。如果维度 8(输出契约)标记为不适用,则将其从计算中移除。

Overall = (2×Axis1 + 2×Axis2 + Axis3 + Axis4 + Axis5 + Axis6 + Axis7 + Axis8 + Axis9 + Axis10) / 12

使用上方的评分表,将数值平均分转换为字母等级。


输出格式

请严格按照以下结构生成:

# Skill Grading Report: [skill-name]

**Graded**: [date]
**Overall Grade**: [letter] ([score]/100)

## Axis Grades

| # | Axis | Grade | Score | Key Finding |
|---|------|-------|-------|-------------|
| 1 | Description Quality | [grade] | [score] | [1-line finding] |
| 2 | Scope Discipline | [grade] | [score] | [1-line finding] |
| 3 | Progressive Disclosure | [grade] | [score] | [1-line finding] |
| 4 | Anti-Pattern Coverage | [grade] | [score] | [1-line finding] |
| 5 | Self-Contained Tools | [grade] | [score] | [1-line finding] |
| 6 | Activation Precision | [grade] | [score] | [1-line finding] |
| 7 | Visual Artifacts | [grade] | [score] | [1-line finding] |
| 8 | Output Contracts | [grade] | [score] | [1-line finding] |
| 9 | Temporal Awareness | [grade] | [score] | [1-line finding] |
| 10 | Documentation Quality | [grade] | [score] | [1-line finding] |

## Top 3 Improvements (Highest Impact)

1. **[Axis]: [Specific action]** — [Why this matters, expected grade improvement]
2. **[Axis]: [Specific action]** — [Why this matters, expected grade improvement]
3. **[Axis]: [Specific action]** — [Why this matters, expected grade improvement]

## Detailed Notes

### [Axis name] ([grade])
[2-3 sentences of specific feedback with examples from the skill]

[Repeat for each axis scoring below B+]

快速评分(简略版)

如需快速筛查大量技能,仅生成:

| Skill | Overall | Desc | Scope | Disc | Anti | Tools | Activ | Visual | Output | Temp | Docs |
|-------|---------|------|-------|------|------|-------|-------|--------|--------|------|------|
| [name] | [grade] | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |

评分中的反模式

评分虚高

错误:没有核对标准,只因“做得相当不错”就给出 B+。 正确:严格按照评分表,将观察结果与标准对应。如果描述缺少 NOT 条款,则维度 1 的得分不能高于 C。

缺少上下文

错误:因为纯决策树技能没有脚本,就在轴 5(工具)上给它低分。 正确:将轴 5 标为「A — 工具不适用于此类技能」。

忽略虚假引用

错误:因为脚本被「提及」,就在轴 5 上给 B。 正确:实际检查每个引用的文件是否存在。如果提到了 scripts/validate.py,但该文件不存在,那就是 D。

评论

支持 Markdown