Skip to content

Skills 触发机制

Skills 不是被用户"调用"的,而是由 Claude 自主决定"是否使用"的。

理解这个触发机制,能帮助你写出更容易被准确触发的 Skill。


触发机制的工作原理

Claude 启动时,会将所有可用 Skill 的 namedescription 加载到上下文中。

当用户发送消息后,Claude 会判断:这个任务,我需要参考某个 Skill 吗?

判断依据只有一个:Skill 的 description 字段

SKILL.md 的正文(body)不参与触发判断。Claude 只有在决定使用某个 Skill 之后,才会读取正文内容。

触发流程示意

a7a25224-e5fe-4591-b8b8-a52479987b3e.webp


什么样的任务会触发 Skill

并非所有匹配 description 的请求都会触发 Skill。

Claude 有一个内在判断:这个任务复杂到需要参考专门指令吗?

请求类型示例是否触发 Skill原因
简单单步任务"读取这个 PDF"通常不触发Claude 直接处理更高效
复杂多步任务"提取 PDF 中的表格并转为 Excel"触发需要专门的工作流程
专业领域操作"合并三个 PDF 并加水印"触发涉及特定工具链
输出有明确格式要求"生成符合我们公司模板的 Word 报告"触发需要特定格式规范

如果你的 Skill 很少被触发,通常是因为任务描述过于简单,或者 description 写得不够精准。测试时应使用复杂、具体的用户请求。


Description 的触发策略

description 是触发的唯一凭据,写法直接决定触发准确率。

策略一:列举具体场景

不要只写"这个 Skill 是做什么的",还要写"在什么情况下应该用它"。

bash
# 不推荐:只描述功能
description: 处理 Excel 文件。

# 推荐:描述功能 + 触发场景
description: >
  处理 Excel CSV 文件,包括:读取数据、清洗格式、生成图表、
  计算统计指标、合并多个表格。当用户提到 Excel、xlsx、CSV、
  表格数据、数据清洗、财务报表时,应优先使用此 Skill。

策略二:使用"推动性"语言

Skills 系统天然倾向于"少触发"。在 description 中加入推动性语言可以提升触发率。

bash
description: >
  生成专业的 PowerPoint 演示文稿。当用户需要制作幻灯片、PPT、演讲稿、
  汇报材料时,必须使用此 Skill,即使用户没有明确说"用 pptx 格式"。
  只要涉及演示文稿的创建或修改,都应触发此 Skill。

策略三:列出关键词

在 description 末尾附上触发关键词列表,是一种简单有效的补充手段。

bash
description: >
  代码审查助手,分析代码质量、发现潜在 Bug、给出改进建议。
  关键词:code review、代码审查、代码分析、bug 检查、
  重构建议、代码质量、静态分析。

触发冲突:多个 Skill 同时匹配

当用户的请求可能匹配多个 Skill 时,Claude 会根据匹配程度选择最相关的一个。

为了避免冲突,需要让不同 Skill 的 description 保持清晰的边界。

冲突场景解决方案
两个 Skill 都处理 PDF在 description 中区分具体操作,如"PDF 创建"vs"PDF 读取"
通用 Skill 与专用 Skill 重叠专用 Skill 的 description 中明确写出区别于通用 Skill 的场景
功能相似的两个 Skill考虑合并为一个 Skill,通过内部分支处理不同情况

Skill 的 description 应当"排他性"地描述自己的适用场景,而不仅仅是描述自己"能做什么"。能做什么 ≠ 应该什么时候用。


使用 Description 优化工具测试触发

skill-creator Skill 提供了一个 description 优化脚本,可以自动评估触发准确率。

实例

bash

# 运行 description 优化循环

# --eval-set:测试用例文件路径

# --skill-path:待优化的 Skill 路径

# --max-iterations:最大迭代次数

python -m scripts.run_loop \

  --eval-set evals/trigger-eval.json \

  --skill-path my-skill/ \

  --model claude-sonnet-4-20250514 \

  --max-iterations 5 \

  --verbose

脚本会自动运行测试、评估得分、修改 description,并输出最优结果。

详细的 description 优化方法参见第 24 篇:Skills 描述优化技巧

AI 思考中...

Skills 参数传递与接收

Skills skill-creator 创建 Skill

基于 VitePress 构建,部署于 GitHub Pages