Claude Skills 与 MCP 对比分析
上周在 Hacker News 刷到一篇文章,标题引人深思:"Claude Skills are awesome, maybe a bigger deal than MCP"。翻译过来即:"Claude 的技能非常出色,或许比 MCP 更重要。"作者是 Simon Willison,Django 联合创始人,Python 界的大佬。

近三周对 Skills 的理念有大幅更新。以前知道 Skills 厉害,但理解不够深。直到最近才真正搞明白它能大幅节省 token 这个点。很多同学 MCP 装了一堆,结果 token 都浪费在工具定义上了。Skills 按需加载这个设计太关键。
先给小白科普一下
**什么是 MCP?**MCP 就是 Model Context Protocol(模型上下文协议)。简单说,就是让 AI 能调用外部工具的一套标准。比如你想让 Claude 能查数据库、能操作浏览器、能发邮件,就需要配置 MCP 服务器。
**什么是 Skills?**Skills 就是技能包。核心是一个 SKILL.md 文件(这是唯一必需的),告诉 Claude 怎么做某件事。简单的 Skill 可以只是一个 Markdown 文件。复杂的 Skill 可以是一个文件夹,包含脚本、文档、模板等。比如你写一个"代码分析"的 Skill:
- 简单版:一个 SKILL.md,写清楚分析步骤
- 完整版:一个文件夹,里面有 SKILL.md + scripts/分析脚本.py + templates/报告模板.md
区别在哪?
- MCP:像给 AI 装了个外部 APP,需要配置服务器、定义接口
- Skills:像给 AI 写了个操作手册,最简单就是一个 Markdown 文件
重要补充:Skills 和 Plugins 的区别 很多人搞混这两个概念,这里讲清楚:
- Skills:单一工作流模板(一道菜的菜谱)
- 本质是 prompt-based 的指令系统,不是代码
- 通过"prompt expansion"工作,不能直接调用 MCP
- 但可以在指令中告诉 Claude 使用已配置的 MCP 工具
- Plugins:打包好的能力集合(整套预制菜包)
- 可以包含多个 Skills + Commands + Hooks + MCP servers
- 如果你需要打包 MCP,应该用 Plugins 而不是 Skills
大佬的核心观点:4 个理由
Simon Willison 给出了 4 个理由,逐一拆解。
理由 1:Skills 简单到离谱
MCP 是什么?一个完整的协议规范。看看它包含什么:
- hosts(主机)
- clients(客户端)
- servers(服务器)
- resources(资源)
- prompts(提示词)
- tools(工具)
- sampling(采样)
- 3 种传输协议(stdio、HTTP、SSE)
配一个 MCP 服务器,光看文档就要半小时。**Skills 呢?**最简单的情况:一个 SKILL.md 文件。没了?还真是。官方文档说得很清楚:SKILL.md 是唯一必需的文件。当然,如果你想做复杂的 Skill,可以加上:
- instructions/ 放详细指令文档
- prompts/ 放提示词模板
- templates/ 放代码/文档模板
- config/ 放配置文件
但核心就是那个 SKILL.md,其他都是可选的。重要提醒:SKILL.md 需要包含 YAML frontmatter:
---
name: my-skill-name
description: 描述这个 Skill 做什么、什么时候用
---
# 技能名称
[具体指令内容]
大佬原话:"Skills feel a lot closer to the spirit of LLMs - throw in some text and let the model figure it out."翻译:Skills 更符合 LLM 的精神——扔点文字进去,让模型自己搞定。理解:MCP 是给程序员设计的,Skills 是给人设计的。
理由 2:CLI 工具可以替代 MCP
这个观点一开始不太认同,但仔细想想确实有道理。大佬说:"Almost everything I might achieve with an MCP can be handled by a CLI tool instead."翻译:几乎所有 MCP 能做的事,CLI 工具也能做。为什么?因为 LLM 知道怎么调用 cli-tool --help。模型自己能看懂帮助文档,不需要你在 prompt 里花几百个 token 描述怎么用。
**Skills 更进一步:连 CLI 都不需要了。**你只要写个 Markdown 文件描述任务怎么做,Claude 自己就能搞定。测试了一下:
- 用 MCP 调用 GitHub API:需要配服务器、写工具定义、花几千 token
- 用 Skill 教 Claude 用 gh 命令:一个 Markdown 文件,200 token 效果差不多,但 Skill 省了 90% 的配置时间。
理由 3:Token 效率差距巨大
这个是感触最深的。大佬提到一个恐怖的数据:**GitHub 的官方 MCP 定义,光注册就要吃掉几万个 token。**之前写过文章说 MCP 吃掉 7% 脑容量,现在看来还是保守了。你想想,200K 的上下文窗口,光一个 GitHub MCP 就吃掉几万。再加几个常用服务器,prompt 还能剩多少空间?
**Skills 呢?**只在需要的时候加载。Claude 不会一开始就把所有 Skills 塞进上下文。它会看你的任务,判断需要哪个 Skill,然后才加载。 实测(仅供参考,不同配置结果可能不同):
- 配置 5 个 MCP 服务器:prompt 占用约 15K token
- 安装 10 个 Skills:prompt 占用约 2K token(只加载用到的) 省了 85%!
理由 4:分享起来太简单
MCP 服务器怎么分享?
- 写代码
- 发布到 npm/pip
- 写 README
- 让用户配置.mcp.json
- 调试连接问题
Skills 怎么分享?
- 写个 SKILL.md(或整个文件夹)
- 发出去没了
补充说明:分享的几种方式
- 简单分享:直接发文件夹给朋友,放到
.claude/skills/目录下 - Claude.ai:打包成 ZIP 上传到 Skills 设置页面
- Claude Code:通过 Plugin marketplace 分享
比如之前讲过的:
/plugin marketplace add anthropics/skills/plugin install document-skills@anthropic-agent-skills
很多 Skills 就是单个文件,复杂点的也就一个文件夹。看了 awesome-claude-skills 仓库,4000 多 Star。里面的 Skills 大部分就是一个 SKILL.md 或 README.md。复杂的也就是一个小文件夹,包含几个脚本。这门槛也太低了。
实测对比
说了这么多理论,实际测了一周。
测试场景 1:让 Claude 帮我分析代码仓库
MCP 方案
- 配置 GitHub MCP 服务器
- 配置 filesystem MCP 服务器
- 调试连接问题(花了 20 分钟)
- Token 消耗:约 8000
Skill 方案
- 写一个 code-analysis.md,描述分析步骤
- Claude 用内置的 Bash 工具执行 git 命令
- Token 消耗:约 1500
结果:Skill 方案快 3 倍,省 80% token。
测试场景 2:自动化测试流程
MCP 方案
- 需要写一个自定义 MCP 服务器
- 定义工具接口
- 处理各种边界情况
- 开发时间:2 小时
Skill 方案
- 写一个 test-automation.md
- 描述测试步骤和命令
- Claude 自己调用 pytest
- 开发时间:15 分钟
结果:Skill 方案开发效率提升 8 倍。
不完全同意之处
说了 Skills 这么多好处,但觉得大佬的观点有点极端了。MCP 的优势 Skills 替代不了:
- 跨平台原生支持:MCP 是个标准协议,OpenAI、Google 都原生支持。Skills 虽然 Apache 2.0 开源了(有 open-skills 项目可以让其他 LLM 运行),但原生体验还是 Claude 最好。
- 复杂集成:需要实时数据、数据库连接、API 认证的场景,MCP 更合适。
- 开发者生态:MCP 有明确的开发者激励——你写一个服务器,所有 LLM 都能用。Skills 是用户端工具,激励结构不一样。
结论:两者是互补的,不是替代的。
- 简单任务:用 Skills,省时省 token
- 复杂集成:用 MCP,标准化可复用
- 最佳实践:Skills + CLI 工具 + 少量核心 MCP
建议
测试了一周,确实对 Skills 刮目相看了。以前 MCP 装了不少,现在想想确实可以精简。这也是理念更新最大的地方。**Skills 按需加载,token 消耗比 MCP 低太多了。**以前知道 Skills 好用,但没意识到这个差距这么大。
昨天付费课上也跟同学们说了:别一上来就想着配 MCP,先问自己一个问题——这个任务用一个 SKILL.md 能不能搞定?能搞定就别折腾协议,省下来的 token 能多聊好几轮。
给你们的建议
- 先用 Skills:简单任务别上 MCP,一个 SKILL.md 能解决的事别折腾协议。
- 精简 MCP:别装太多服务器,3-5 个核心的就够了。每多一个就多吃几千 token。
- CLI 优先:很多事情 gh/git/npm 命令就能做,Claude 自己会调用--help。
- 看看 awesome-claude-skills:github.com/travisvn/awesome-claude-skills,4000 多 Star,里面有很多现成的。
现在的配置:
- MCP:thinking、task、github、context7、bravesearch、exa 等
- Skills:dev-browser、公众号写作、数据分析、前端界面、api 规范、claude/codex/gemini 组套等
- 关键变化:浏览器控制从 MCP 换成了 dev-browser Skill
- Token 占用:从之前的 20K 降到 5K
效率提升了,脑容量也省出来了。
总结
测完这一周,突然想明白一件事。很多人学 AI 工具,上来就想把所有 MCP 装全了、把配置调到最复杂。就像刚买单反的人,恨不得把所有镜头、滤镜、三脚架都配齐。但你猜怎么着?真正出大片的人,往往就一机一镜。
Skills 和 MCP 的关系,其实就是这个道理。不是工具越多越牛,是你越清楚自己要什么,工具才越有用。见过太多人做事儿是这样的。买了一堆电动工具,最后发现一把螺丝刀就能解决问题。工具不是越贵越好,是越顺手越好。
**你的时间才是最贵的资源。**那些你花 2 小时配置、最后用了 3 次的 MCP 服务器,值吗?一个 15 分钟写完的 SKILL.md,天天都在用,哪个划算?
现在的态度:**能简单就别复杂,能省就别浪费。**不是因为抠门,是因为终于明白——省下来的不只是 token,是你的精力、你的注意力、你的创造力。这些东西,比任何工具都珍贵。所以别焦虑自己 MCP 装得不够多、Skills 学得不够快。找到适合你的节奏,一个一个来。
慢慢来,比较快。
参考资料
- Simon Willison 原文:simonwillison.net/2025/Oct/16/claude-skills/
- Anthropic 官方 Skills 发布公告:anthropic.com/news/skills
- awesome-claude-skills 仓库:github.com/travisvn/awesome-claude-skills


