skill-judge

skill-judge

熱門

评估 Agent Skill 的设计品质是否符合官方规范与最佳实践。在审查、审计或改进 SKILL.md 档案及 Skill 套件时使用。提供多维度评分与可落地的改进建议。

2208星標
212分支
更新於 2026/3/5
SKILL.md
唯讀
名稱
skill-judge
描述

评估 Agent Skill 的设计品质是否符合官方规范与最佳实践。在审查、审计或改进 SKILL.md 档案及 Skill 套件时使用。提供多维度评分与可落地的改进建议。

Skill Judge

根据源自 17+ 个官方范例的规范与模式,评估 Agent Skill 的设计。


核心理念

什么是 Skill?

Skill 不是教学指南。Skill 是一种知识外置机制

传统的 AI 知识是被锁在模型参数之中的。若要教授新能力:

传统方式:收集资料 → GPU 丛集 → 训练 → 部署新版本
成本:$10,000 - $1,000,000+
时程:数周至数个月

Skill 改变了这一点:

Skill:编辑 SKILL.md → 储存 → 下一次调用立即生效
成本:$0
时程:即时

这就是从“训练 AI”到“教育 AI”的典范转移——就像无需训练即可热插拔的 LoRA 适配器。你只要用自然语言编辑 Markdown 档案,模型的行为就会随之改变。

核心公式

好的 Skill = 专家专有知识 − Claude 已经知道的知识

Skill 的价值取决于它的知识增量(knowledge delta)——亦即它所提供的知识与模型既有知识之间的差距。

  • 专家专有知识:决策树、权衡取舍(trade-offs)、边缘情况(edge cases)、反模式(anti-patterns)、领域特定的思考框架——这些需要多年经验才能积累的知识
  • Claude 已经知道的知识:基础概念、标准函式库用法、常见编程模式、通用最佳实践

当 Skill 在解释“什么是 PDF”或“如何编写 for 循环”时,它只是在压缩 Claude 已经具备的知识。这就是 Token 浪费——Context Window 属于公共资源,是由系统提示词(system prompt)、对话历史、其他 Skill 以及使用者需求共同共享的。

工具 vs Skill

概念 本质 功能 范例
Tool 模型做什么 执行动作 bash、read_file、write_file、WebSearch
Skill 模型知道如何 指导决策 PDF 处理、MCP 建置、前端设计

Tool 划定了能力边界——没有 bash 工具,模型就无法执行命令。
Skill 注入了专业知识——没有 frontend-design Skill,模型就会生成平淡无奇的通用 UI。

核心等式

通用 Agent + 优秀的 Skill = 领域专家 Agent

相同的 Claude 模型,载入不同的 Skill,就会变成不同领域的专家。

Skill 中的三种知识类型

评估时,请将各章节归类:

类型 定义 处理方式
专家级 (Expert) Claude 确实不知道的内容 必须保留——这是 Skill 的核心价值
激活级 (Activation) Claude 知道但未必会想到的内容 若精简可保留——作为提示与提醒
冗余级 (Redundant) Claude 肯定已经知道的内容 应该删除——纯粹浪费 Token

Skill 设计的艺术在于:将专家级内容最大化,谨慎使用激活级内容,并无情地剔除冗余级内容。


评估维度(总分 120 分)

D1:知识增量(20 分)——核心维度

最关键的维度。这个 Skill 是否增加了真正的专家知识?

分数 标准
0-5 解释 Claude 已经知道的基础(例如什么是 X、如何写程式码、标准函式库教学)
6-10 掺杂:包含部分专家知识,但被显而易见的内容稀释
11-15 绝大部分为专家知识,几乎没有冗余内容
16-20 纯粹的知识增量——每一段文字都物有所值(值得所消耗的 Token)

红旗警讯(出现即扣分至 ≤5 分):

  • “什么是 [基础概念]” 的章节
  • 标准操作的按部就班教学
  • 解释如何使用常见函式库
  • 通用的最佳实践(例如“撰写干净的代码”、“处理错误”)
  • 行业标准术语的定义

绿旗指标(高知识增量的特征):

  • 针对非显而易见选择的决策树(例如“当 X 失败时,尝试 Y,因为 Z”)
  • 只有专家才知道的权衡取舍(例如“A 速度更快,但 B 能处理边缘情况 C”)
  • 来自真实世界实战经验的边缘情况
  • “绝不要做 X,因为 [非显而易见的原因]”
  • 领域特定的思考框架

评估思考问题

  1. 检视每个章节并自问:“Claude 是不是早就知道了?”
  2. 如果是在解释某件事,自问:“这是在‘向’Claude 解释,还是在‘替’Claude 解释?”
  3. 统计专家级、激活级与冗余级段落的数量

D2:思维模式 + 必要的领域流程(15 分)

Skill 是否在传授专家思考模式的同时,也提供了必要的领域特定流程

专家与新手之间的差距不在于“知道如何操作”,而在于“如何思考问题”。然而,当 Claude 缺乏领域特定的流程知识时,仅凭思考模式也是不够的。

关键区别

类型 范例 价值
思考模式 “在设计之前先问:是什么让这个设计令人印象深刻?” 高——塑造决策思维
领域特定流程 “OOXML 工作流:解压缩 → 编辑 XML → 验证 → 压缩” 高——Claude 可能不知道
通用流程 “步骤 1:开启档案,步骤 2:编辑,步骤 3:储存” 低——Claude 已经知道
分数 标准
0-3 仅包含 Claude 已知的通用流程
4-7 包含领域流程,但缺乏思考框架
8-11 良好的平衡:思考模式 + 领域特定工作流
12-15 专家级:既能引导思考,又能提供 Claude 原本不知道的流程

算作有价值的流程

  • Claude 未曾接受过训练的工作流(新工具、专有系统)
  • 非显而易见的正确顺序(例如“必须在压缩‘之前’进行验证,而不是之后”)
  • 容易忽略的关键步骤(例如“编辑后‘必须’重新计算公式”)
  • 领域特定的操作步骤(例如 MCP 伺服器的 4 阶段开发流程)

算作冗余的流程

  • 通用的档案操作(开启、读取、写入、储存)
  • 标准编程模式(循环、条件式、错误处理)
  • 文件健全且通用的函式库用法

专家思考模式范例

在执行 [动作] 之前,先自问:
- **目的**:这解决了什么问题?谁会使用它?
- **限制**:有哪些隐藏的需求或限制?
- **差异化**:是什么让这个解决方案脱颖而出、令人难忘?

有价值的领域流程范例

### 红线标记工作流(Claude 不会知道这个顺序)
1. 转为 Markdown:`pandoc --track-changes=all`
2. 将文本映射至 XML:在 document.xml 中 grep 查找文本
3. 以 3-10 个为一组分批套用变更
4. 打包并验证:检查是否所有变更皆已生效

冗余的通用流程范例

步骤 1:开启档案
步骤 2:找到对应章节
步骤 3:进行修改
步骤 4:储存并测试

测试标准

  1. 它是否告诉了 Claude 该思考“什么”?(思考模式)
  2. 它是否告诉了 Claude 如何去做它原本不知道的事?(领域流程)

好的 Skill 会在需要时同时提供这两者。


D3:反模式质量(15 分)

Skill 是否包含有效的“绝不要做(NEVER)”清单?

为什么这很重要:专家的知识有一半在于知道“不该做什么”。资深设计师看到白色背景配紫色渐层会本能地感到尴尬——“太像 AI 生成的了”。这种对于“绝对不要做什么”的直觉,来自于踩过无数的坑。

Claude 并没有踩过这些坑。它不知道 Inter 字型已经被滥用,也不知道紫色渐层是 AI 生成内容的典型标志。好的 Skill 必须明确指出这些“绝对禁忌”。

分数 标准
0-3 未提及任何反模式
4-7 通用的警告(例如“避免错误”、“注意边缘情况”、“谨慎处理”)
8-11 具体的 NEVER 清单,并附带部分原因
12-15 专家级反模式并解释“为什么”——这些都是只有靠实战经验才能获得的教训

专家级反模式(具体 + 解释原因):

绝不要使用常见且平庸的 AI 生成美学,例如:
- 滥用的字型系列(Inter、Roboto、Arial)
- 陈词滥调的配色方案(特别是白色背景配紫色渐层)
- 可预测的版面配置与元件模式
- 替所有元素加上预设的 border-radius

弱反模式(模糊、无原因):

避免犯错。
注意处理边缘情况。
不要写糟糕的代码。

测试标准:专家看到这个反模式清单时,会说是“对,这是我吃过亏才学到的教训”?还是会说“这不是大家早就知道的废话吗”?


D4:规范合规性——特别是 Description(15 分)

Skill 是否遵循官方格式要求?特别关注 Description 的品质。

分数 标准
0-5 缺少 frontmatter 或格式无效
6-10 包含 frontmatter,但 description 模糊或不完整
11-13 frontmatter 有效,description 包含“做什么”,但在“何时使用”上偏弱
14-15 完美:完整的 description,包含“做什么”、“何时使用”以及触发关键字

Frontmatter 要求

  • name:全小写,仅限英数字 + 连字号(-),≤64 个字元
  • description最关键的字段——决定了 Skill 是否会被激活使用

为什么 Description 是最关键的字段

┌─────────────────────────────────────────────────────────────────────┐
│  SKILL 激活流程                                                      │
│                                                                     │
│  使用者请求 → Agent 检视“所有”Skill 的 description → 决定激活哪一个 │
│                (仅检视 description,不包含正文!)                 │
│                                                                     │
│  若 description 不吻合 → Skill 永远不会被载入                       │
│  若 description 很模糊 → Skill 可能无法在需要时被触发                │
│  若 description 缺少关键字 → Agent 视此 Skill 为“不可见”             │
└─────────────────────────────────────────────────────────────────────┘

残酷的现实:一个正文完美但 description 写得很差的 Skill 是毫无用处的——它永远不会被激活。description 是告诉 Agent “请在这些情况下使用我” 的唯一机会


Description 必须回答三个问题

  1. 做什么(WHAT):这个 Skill 的功能是什么?(功能性)
  2. 何时使用(WHEN):在什么情况下应该使用它?(触发场景)
  3. 关键字(KEYWORDS):哪些词汇应该触发这个 Skill?(可搜寻的术语)

优秀的 Description(包含这三个要素):

description: "完整的文件建立、编辑与分析,支持追踪修订、批注、版面格式保留与文字提取。
当 Claude 需要处理专业的文档(.docx 档案)以进行:
(1) 建立新文件、(2) 修改或编辑内容、
(3) 处理追踪修订、(4) 新增批注,或任何其他文件任务时使用"

解析:

  • 做什么:建立、编辑、分析、追踪修订、批注
  • 何时使用:“当 Claude 需要处理...以进行:(1)... (2)... (3)...”
  • 关键字:.docx 档案、追踪修订、专业文档

差劲的 Description(缺少要素):

description: "处理文档相关功能"

问题:

  • 做什么:模糊(“文档相关功能”——具体是什么?)
  • 何时使用:缺失(Agent 什么时候该用它?)
  • 关键字:缺失(没有 ".docx",没有具体场景)

另一个差劲的范例

description: "A helpful skill for various tasks"

这完全没用——Agent 根本不知道什么时候该激活它。


Description 品質检查清单

  • [ ] 列出了具体的技能与功能(而不只是“协助处理 X”)
  • [ ] 包含了明确的触发场景(“在...时使用”、“当使用者要求...时”)
  • [ ] 包含了可搜寻的关键字(副档名、领域术语、动作动词)
  • [ ] 足够具体,使 Agent 能“确切”知道何时该使用它
  • [ ] 包含了“必须”使用此 Skill 的场景(而不只是“可以使用”)

D5:渐进式揭露(15 分)

Skill 是否实现了适当的内容分层架构?

Skill 载入分为三个层级:

第 1 层:元资料(常驻于内存中)
         仅包含 name + description