精心编写的 Claude Skill 没有按预期触发?这无疑是开发者体验中最令人沮丧的问题之一。别担心,绝大多数情况下,问题的根源并非复杂的配置或代码逻辑,而是一个看似简单却至关重要的环节——Skill 描述(description)的撰写。
一张核心的图解可以帮我们快速诊断问题所在。下图清晰地展示了错误写法与正确写法的对比,并给出了实用的模板与调试步骤:

一、 问题核心:错误写法 vs. 正确写法
为什么精心编写的 Skill 就是不触发?问题往往出在 description 字段过于笼统。
-
✘ 错误写法示例
name: git commit
description: 这是个git提交的Skill
这样写,Claude 无法准确理解在什么场景下应该调用这个 Skill,导致调用率极低或根本不调用。
-
✔ 正确写法示例
name: git commit
description: Git提交专家,用户要求提交代码或运行commit命令时必须调用此Skill,禁止在没有参考此Skill的情况下生成提交建议。
关键区别在于,正确的描述明确告诉了 Claude 两件事:
- 什么时候调用:在用户提出提交代码或运行 commit 命令的“触发条件”下。
- 不要做什么:“禁止在没有参考此Skill的情况下...”,这是一个重要的使用约束。
二、 Description 万能公式
一个高触发率的 description 可以遵循一个简单的公式:
好的 description = 角色定位 + 触发条件 + 使用约束
- 角色定位:明确 Skill 的专长领域。
- 例如:
Git提交专家、代码审查专家、API设计专家
- 触发条件:定义在何种用户需求或上下文下应该激活。
- 例如:
用户要求提交代码时、当创建或修改 TypeScript 文件时、运行 /code-review 命令时
- 使用约束:规定必须调用或禁止调用的情形。
- 例如:
必须调用此Skill、不要在没有参考此Skill的情况下执行操作
三、 三种实用的 Description 模板
根据 Skill 的类型,你可以直接套用以下模板,无需自己从头构思:
模板1:被动式(推荐用于记忆型 Skill)
希望 Claude 在特定场景下自动、智能地触发。
- 格式:
[角色]:[触发条件时必须调用此Skill]。
- 示例:
description: TypeScript代码缺陷专家,编写TypeScript代码时,创建新文件或修改现有代码时必须调用此Skill。
模板2:扩展式(适用于规范型 Skill)
强制 Claude 在处理特定任务时遵循既定规范,避免自由发挥。
- 格式:
[角色]:[触发条件时务必调用此Skill,不要在没有...的情况下执行某操作]。
- 示例:
description: API设计专家,设计REST API或创新架构时务必调用此Skill,不要在没有沟通清楚需求的情况下执行API设计。
模板3:指令式(适用于任务型 Skill)
通常与自定义命令配合,用于手动触发明确的子任务。
- 格式:
[角色]:使用【命令名】[执行动作]。
- 示例:
description: Python脚本工作流专家,使用 /code-review 命令对整份代码执行全局的代码审查。
四、 提高触发率的关键词
在你的 description 中融入与场景相关的“触发关键词”,能显著提升 Claude 的理解和调用准确率。以下是一些常见场景的关键词参考:
| 场景 |
触发关键词 |
| 代码编写 |
编写、创建、修改、重构、实现、开发 |
| 代码审查 |
审查、检查、review、PR、代码质量 |
| Git操作 |
提交、commit、push、merge、分支 |
| 文档 |
文档、README、说明、注释、撰写 |
| 测试 |
测试、test、单元测试、集成测试 |
| 部署 |
部署、deploy、发布、上线、配置 |
五、 系统性调试步骤
如果按照上述方法修改后,Skill 仍然不触发,请按照以下步骤进行排查:
-
检查 Description 语法
- 仔细核对
.skill.md 文件中的 description 字段格式,确保 YAML 语法正确,引号使用恰当。
-
检查文件位置
- 确认你的 Skill 文件(如
mySkill.skill.md)放置在 Claude Code 正确加载的目录下(通常是 ~/ClaudeSkills/ 或项目指定的技能目录)。
-
重启 Claude Code
- 在 Claude Code 界面右侧寻找重启按钮,或直接退出 Claude Code 应用程序然后重新启动。这能确保所有技能文件被重新加载。
-
查看运行日志
- 通过日志可以洞察 Claude 的决策过程。日志通常位于
/c/Claude/logs/(路径可能因系统而异),检查其中是否有关于技能加载或调用的错误信息。
掌握 description 的撰写技巧是高效使用 Claude Skills 的基石。这不仅仅是解决触发问题,更是让你与 Claude 的协作意图变得清晰、高效。如果你在实践过程中有其他心得或遇到了更复杂的问题,欢迎在 云栈社区 的 人工智能 板块与其他开发者交流探讨。
|