Skills vs 提示词 vs MCP 工具的定位三角
High Contrast
Dark Mode
Light Mode
Sepia
Forest
4 min read897 words

Skills vs 提示词 vs MCP 工具的定位三角

Claude 生态中有三种不同层次的"能力扩展"机制:普通提示词、Skills 和 MCP 工具。它们不是互相竞争的,而是在不同层次解决不同问题。搞清楚这个三角关系,是选择正确工具的前提。


三者的层次模型

graph TD User["👤 用户"] --> Input["输入 / 触发"] Input --> A["📝 提示词\n(对话层)"] Input --> B["⚡ Skills\n(工作流层)"] B --> Tools["🔧 工具调用\n(Read / Write / Bash / Grep)"] B --> MCP["🔌 MCP 工具\n(工具层)"] A --> LLM["LLM 推理"] Tools --> LLM MCP --> External["外部系统\n(数据库 / API / 浏览器)"] style A fill:#fff3e0,stroke:#ef6c00 style B fill:#e8f5e9,stroke:#2e7d32 style MCP fill:#e3f2fd,stroke:#1565c0 style Tools fill:#fce4ec,stroke:#880e4f

逐对对比

提示词 vs Skills

维度 提示词 Skills
存储 只在对话历史中 .claude/skills/ 文件,持久化
触发 输入自然语言 /skill-name [args]
复用 手动复制粘贴 一次定义,随时调用
参数 手动修改文本 结构化参数 --key value
团队 靠文档传播 Git 分发,自动同步
版本 无法追踪 commit / diff / PR

何时用提示词:探索性任务,一次性问题,上下文高度特殊的情况。

何时用 Skills:重复性工作流,需要团队一致性,可参数化的操作。


Skills vs MCP 工具

这是最容易混淆的对比。两者都是"扩展 Claude 能力"的手段,但层次完全不同:

维度 Skills MCP 工具
定义什么 工作流逻辑(做什么、按什么顺序、输出什么格式) 工具能力(能连接什么系统、执行什么操作)
文件位置 .claude/skills/*.md MCP Server(独立进程)
开发语言 Markdown + 自然语言 Python / Node.js(实现 MCP 协议)
调用方式 用户 /skill-name Claude 在推理中自动调用
主要用途 封装业务工作流 接入外部系统(DB、Browser、API)

类比:MCP 工具是砖头(基础能力),Skills 是用砖头搭建的房间(工作流)。你可以在 Skill 中使用 MCP 工具,就像在房间里使用砖头一样。

具体例子

场景:自动化代码审查并记录到 Notion
MCP 工具(工具层):
- mcp-github:读取 PR diff
- mcp-notion:把审查结果写入 Notion 数据库
Skill(工作流层):
/review-pr --pr 123
→ 调用 GitHub MCP 工具读取 PR diff
→ 调用内置 Bash 工具运行测试
→ 生成标准格式的审查报告
→ 调用 Notion MCP 工具记录结果

Skill 把这些工具调用编排成一个用户可以一键触发的工作流。


三角关系总结

你想要的效果                        应该用什么
随手问一个问题                  →   直接输入提示词
─────────────────────────────────────────────────
重复性工作流,需要一键触发        →   Skill
重复性工作流,需要调用外部系统    →   Skill + MCP 工具
─────────────────────────────────────────────────
接入新的外部系统(DB/Browser)   →   MCP 工具
封装外部系统的使用方式           →   MCP 工具 + Skill 调用它
─────────────────────────────────────────────────
多个 Skill / Agent 互相协调     →   Claude Agent SDK

本书的范围:专注 Skills 层的设计与开发。MCP 工具的构建见《MCP 实战指南》,多 Agent 编排见《AI Agent 实战指南》。


常见误解澄清

误解 1:"我用了 MCP 工具,就不需要 Skills 了"

不对。MCP 工具给了你能力,Skill 给你的是用这些能力的标准方式。没有 Skill 的封装,每次使用 MCP 工具你还是要手动描述工作流。

误解 2:"Skills 只是在聊天框里设置了 system prompt"

不对。Skills 比 system prompt 更强大:它们可以携带参数、触发工具调用链、以文件方式版本管理。System prompt 只是全局背景,Skills 是可调用的工作流单元。

误解 3:"Skills 需要写代码"

基础 Skill 只需要写 Markdown。更高级的 Skill 可以通过 Bash 工具调用脚本,但 Skill 文件本身是自然语言描述。


下一节Skill 的文件结构与加载机制——Skills 的文件放在哪里?Claude Code 是如何找到并加载它们的?