AI 摘要
最近看到一些关于 AI 的帖子,发现一个词开始频繁出现:SKILL
一开始其实没太在意,直到我发现一件事:
几乎所有提到 SKILL 的文章,都是默认你已经知道它是什么的
但当我真的停下来想认真回答一句 「SKILL 到底是什么」 的时候,却发现很难给出一个干脆的答案。
没有统一定义,也没有哪篇文章是从 为什么需要它 开始的
于是我知道大家在用 SKILL,但我并不知道我 自己到底需不需要它
为什么使用 SKILL
如果只看能力层面,其实 Agent 和 MCP 已经很强了
Agent 可以负责推理、规划步骤、决定做什么
MCP 可以让模型以一种安全、结构化的方式调用外部能力
目前来看,这已经是一个完整的流程了
但问题出现在用了一段时间之后
当我开始用 Agent 去处理一些长期且重复的事情时,会发现一些现象,比如:
- 有些事情我已经让 Agent 做过很多次
- 每次流程都差不多
- 但 Agent 每次还是会从 0 开始
理性上这当然没错,但实际用起来就会发现:
有些事情并不值得每次都重新思考, 完全是一个流程
接下来 SKILL 就登场了,它补的并不是像 agent mcp 的能力,而是使用方式
SKILL 对比 MCP / Agent 的优势
在我目前的理解里,SKILL 并不是在“能力”上压过 Agent 或 MCP,而是在职责上补了一层。
| Agent | Mcp | SKILL |
|---|---|---|
| 负责判断要不要做、怎么拆步骤 | 让模型拥有调用外部的能力 | 负责把一件已经成熟的事情,封装成一个可以被反复调用的能力 |
换句话说:
Agent 解决的是「要不要做」
MCP 解决的是「怎么调用」
SKILL 解决的是「这件事有没有必要每次都重新想一遍」
这里有一个很关键、但经常被忽略的点:
SKILL 是按需加载、按需调用的,只有当某个场景真的需要它时,它才会被调用
这带来的一个很现实的好处是:更省 token,也更干净
你不需要把一整套固定流程、风格说明、约束条件反复塞进上下文里
该用的时候用,不用的时候完全不存在
快速上手
这里我用一个现成的 SKILL 来做演示,
选择的是这个用来快速生成博客草稿的 SKILL:
https://skillsmp.com/zh/skills/nicknisi-dotfiles-home-claude-skills-blog-post-writer-skill-md
- 下载 SKILL
- 把文件夹或者单独的 SKILL.md 放入
.claude/skills下面 使用:
我有一堆想法,准备写一篇博客,请用 Nick Nisi 那种风格帮我把它组织成一篇完整的文章: - 最近我在研究 AI 架构里的 SKILL - 看到很多文章默认大家都懂 - 其实我有点困惑 - 想写一篇总结性的博客在发送之后,你会看到 Claude 识别到当前上下文非常符合这个 SKILL 的使用场景,于是开始触发 SKILL 的调用流程。
中间会有一段交互过程,大概会确认一些写作方向或细节,例如风格、结构之类的。



当这些问题确认完成之后,Claude 会给出一篇完整、可读、已经帮你组织好结构的博客文章。
甚至在这个基础上,你还可以继续让它调用其他的 MCP / Agent / SKILL,比如:
- 做二次润色
- 调整结构
- 直接发布到博客系统
下面是输出的完整内容
完整内容
Claude Code 中的 SKILL:我花了一周才搞懂的事
"你只需要创建一个 SKILL 就行了。"
我在文档里看到这句话的时候,内心是崩溃的。
等等,我已经有 MCP 工具了,可以调用外部服务。我还有 agent,可以执行复杂的多步任务。现在你告诉我还有个 SKILL?
为什么?
## 我的困惑
最近在深入研究 Claude Code 的架构。看了不少文章,发现大家都在说 SKILL 多好用,SKILL 多强大。
但没人解释为什么我们需要它。
我是说,我已经有了:
- MCP (Model Context Protocol): 连接外部工具和数据源
- Agent: 处理复杂的多步骤任务,可以自主决策
那 SKILL 呢?它在这个生态里扮演什么角色?
我翻了好几篇文章,都默认你已经懂了。
我不懂。
## 开始挖掘
我做了大部分开发者都会做的事:打开文档,开始一个个翻。
MCP 的定义很清楚:标准化的协议,让 Claude 能访问外部工具、数据库、API。想让 Claude 读取你的 Notion 数据?写个 MCP server。想让它查询你的 PostgreSQL?MCP。
Agent 也说得过去:一个可以自主工作的实体,能分解任务、使用工具、做决策。需要 Claude 帮你做代码审查、提交 PR、运行测试?用 agent。
但 SKILL 呢?
文档说它是"可重用的工作流"、"封装的能力"、"用户可调用的命令"。
好的,我还是不懂。
## 那个瞬间
直到我看到一个实际的例子。
假设你每次让 Claude 总结对话时,都要说:"请帮我总结一下我们刚才讨论的内容,提取关键要点,用简洁的语言列出来。"
每次。
这是个简单的过程,步骤固定,但你得每次都重复这段话。
然后我意识到了:这就是 SKILL 存在的理由。
SKILL 不是用来做 MCP 或 agent 做的事。它是用来封装那些重复的、简单的、固定模式的过程。
你创建一个 /summarize SKILL,把那段提示词封装进去。以后只需要:
/summarize
就这样。
## 三者的定位
我终于搞明白了它们的关系:
MCP 是能力层。它让 Claude 能做原本做不到的事——访问外部世界。
Agent 是智能层。它让 Claude 能自主决策、规划、执行复杂任务。
SKILL 是效率层。它让你能快速调用那些重复的、已经验证过的工作流。
它们不是互相替代的关系,而是互补的。
一个具体的场景:
- 用 MCP 连接你的代码仓库
- Agent 分析代码、做出修改建议
- 用 SKILL 一键执行"审查代码 → 生成报告 → 创建 issue"这个固定流程
每一层都有自己的价值。
## 那个简单的例子
我给自己写了第一个 SKILL:上下文总结。
没什么花哨的,就是把我常用的总结提示词封装起来:
请总结我们的对话:
- 主要讨论的问题
- 得出的结论
- 待办事项(如果有)
用简洁的中文列出。
保存为 /ctx-summary。
现在每次对话结束,我只需要输入这个命令,而不是每次都重新描述一遍我想要什么。
这就是 SKILL 的价值:把重复变成简单。
## 我的理解
回头看,SKILL 的设计其实很聪明。
它不试图做所有事情。它只做一件事:让你的常用工作流变成肌肉记忆。
你不需要每次都向 Claude 解释你要什么。你不需要维护一个长长的提示词列表。你只需要调用一个命令。
而当这些 SKILL 组合起来,当你的工作流里有了 /review、/test、/summarize、/commit,你会发现你和 Claude 的协作变得流畅了很多。
不是因为它更聪明了,而是因为你们建立了共同的语言。
## 写在最后
我花了一周时间才搞懂这个看似简单的概念。
不是因为它复杂,而是因为没人解释它为什么存在。
如果你也在困惑 SKILL 和 MCP、agent 的区别,希望这篇文章能帮到你。
记住:
- MCP 扩展能力
- Agent 处理复杂性
- SKILL 简化重复
它们一起,让你和 AI 的协作更高效。
现在去创建你的第一个 SKILL 吧。从那个你每周都要重复十次的任务开始
感受
说实话,一开始我对 SKILL 是有怀疑的,真的能像传言中那么神吗?
它看起来很抽象,似乎又是一个难以理解的概念
但在真正用了以后,我才意识到,它解决的是一个很现实的问题:
减少重复思考,减少上下文负担
不过也有一些很明确的不适合用 SKILL的场景
- 一次性的需求
- 强依赖即时上下文、还在频繁变化的流程
- 连你自己都还没想清楚怎么做的事情
SKILL 更像是一个 沉淀工具 ,而不是探索工具
到现在为止,我依然不敢说我完全理解了 SKILL
但至少有一点是确定的:
SKILL 并不神秘,也不高级,
它本质上是一种非常工程化、非常现实的抽象方式
和 N8N 概念一样,并没有想象当中的复杂与难懂
如无特殊说明 SKILL 是什么?如何使用 为博主 Lin 原创,转载请注明原文链接: https://blog.lin03.cn/archives/94/