Vibe Tutorial
AI 使用说明书

2.3 MCP 插件与 Skills

Tip

理解MCP协议和Skills的作用,学会给AI装配外部能力和专业知识,让通用AI变成领域专家。


1. 为什么要学这个?

你可能会发现:AI虽然很聪明,但它不知道你公司的业务流程,不了解你的代码规范,也不会你们团队的特殊工作方式。

想象你雇了一个天才实习生。

  • 没有培训:他很聪明,但不知道公司的报销流程、代码规范、客户沟通话术。每次都要你从头教一遍。
  • 有培训手册:你给他一本《员工手册》,里面写清楚了所有流程、规范、最佳实践。他需要的时候自己翻阅,不需要你重复教。

关键问题:

  • AI怎么访问互联网查最新资料?
  • AI怎么学会我们公司的特殊流程?
  • AI怎么记住我们团队的代码规范?
  • 怎么让AI只在需要时加载这些知识,不浪费Token?

MCP和Skills就是给AI的外部能力和培训手册。


2. 核心概念

2.1 MCP - 模型上下文协议

技术定义:MCP(Model Context Protocol)是一个开放协议,让AI能够安全地连接外部数据源和工具。

就像USB接口。

  • 作用:统一的接口标准,让AI能连接数据库、文件系统、API等外部资源。
  • 工作方式:
    1. 你安装MCP服务器(如数据库连接器)
    2. AI通过MCP协议调用这个服务器
    3. 服务器返回数据给AI
    4. AI基于数据生成代码或回答

MCP解决的问题:让AI能"看到"外部世界的数据。

2.2 Skills - 专业知识包

技术定义:Skills是包含SKILL.md文件的目录,里面有指令、脚本、参考资料,让AI动态加载专业知识。

就像员工培训手册。

  • 本质:Skills不是工具,而是给AI阅读的知识库
  • 核心机制:渐进式披露(Progressive Disclosure)
    • 第1层:AI启动时只加载Skill的名称和描述
    • 第2层:需要时加载SKILL.md的完整内容
    • 第3层:需要时加载Skill目录下的其他参考文件

Skills解决的问题:让通用AI变成领域专家,而且只在需要时加载知识,不浪费Token。

2.3 渐进式披露机制

这是Skills最核心的设计理念。

想象一本百科全书。

  • 传统方式:把整本书都塞给AI,占用大量Token。
  • 渐进式披露:
    1. 先给AI看目录(Skill名称和描述)
    2. AI觉得相关,再翻开对应章节(SKILL.md)
    3. 需要更多细节,再看附录(参考文件)
graph TD
    A[用户任务] --> B{AI判断需要哪个Skill?}
    
    B --> C[第1层:读取所有Skill的名称和描述]
    C --> D{找到相关Skill}
    
    D -->|是| E[第2层:读取SKILL.md完整内容]
    D -->|否| F[用通用知识处理]
    
    E --> G{需要更多细节?}
    G -->|是| H[第3层:读取参考文件]
    G -->|否| I[开始执行任务]
    
    H --> I
    
    style A fill:#e1f5ff
    style C fill:#fff3e0
    style E fill:#f3e5f5
    style H fill:#e8f5e9
    style I fill:#e8f5e9

3. Skill的结构

3.1 最简单的Skill

一个Skill至少需要一个SKILL.md文件:

---
name: PDF处理专家
description: 帮助处理PDF文件,包括读取、填写表单、提取内容
---

# PDF处理指南

## 核心能力
- 读取PDF内容
- 填写PDF表单
- 提取PDF中的文本和图片

## 使用方法
当用户需要处理PDF时,按以下步骤:
1. 使用pdf_reader.py脚本读取PDF
2. 分析PDF结构
3. 根据用户需求执行操作

## 参考资料
- 详细的表单填写指南见 forms.md
- PDF结构说明见 reference.md

3.2 完整的Skill目录结构

pdf-skill/
├── SKILL.md           # 核心文件,包含元数据和主要指令
├── forms.md           # 表单填写的详细指南
├── reference.md       # PDF技术参考
└── scripts/
    └── pdf_reader.py  # 可执行的Python脚本

3.3 SKILL.md的三个部分

1. 元数据(YAML Frontmatter)

---
name: PDF处理专家
description: 帮助处理PDF文件,包括读取、填写表单、提取内容
---

这部分在AI启动时就加载到系统提示词中,让AI知道有这个Skill。

2. 主体内容

当AI判断需要这个Skill时,才会读取这部分。包含:

  • 核心能力说明
  • 使用方法
  • 最佳实践
  • 常见问题

3. 引用的其他文件

SKILL.md可以引用同目录下的其他文件,AI会根据需要读取:

  • 参考文档(如reference.md)
  • 可执行脚本(如pdf_reader.py)

4. Skills vs MCP的区别

🎯 对比项 MCP Skills
本质 连接外部工具和数据源 提供专业知识和指令
作用 让AI能"做事"(查数据库、调API) 让AI"懂行"(知道怎么做)
内容 代码、API接口 文档、指令、最佳实践
加载方式 实时调用外部服务 渐进式披露,按需读取
举例 PostgreSQL连接器 PDF处理专家知识包

简单理解:

  • MCP:给AI装手脚,让它能操作外部世界
  • Skills:给AI培训,让它知道怎么做事

5. 怎么使用?

📦 使用MCP服务器

# 在Cursor设置中添加MCP服务器配置
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost:5432/db"
      }
    }
  }
}

⚙️ 创建自己的Skill

步骤1:创建Skill目录

mkdir my-company-workflow
cd my-company-workflow

步骤2:编写SKILL.md

---
name: 公司代码规范专家
description: 了解我们公司的代码规范、提交流程、Code Review标准
---

# 公司代码规范

## 命名规范
- 组件:PascalCase (UserCard.tsx)
- 函数:camelCase (getUserData)
- 常量:UPPER_SNAKE_CASE (API_URL)

## 提交规范
- 格式:type(scope): description
- 类型:feat/fix/docs/style/refactor/test/chore

## Code Review检查清单
1. 是否有单元测试?
2. 是否符合命名规范?
3. 是否有必要的注释?
4. 是否处理了错误情况?

详细的Code Review指南见 code-review.md

步骤3:添加参考文件(可选)

# 创建详细的Code Review指南
touch code-review.md

步骤4:放到Skills目录

# 将整个目录放到 ~/.claude/skills/ 或项目的 skills/ 目录

✨ 让AI使用Skill

AI会自动判断何时使用Skill,你不需要手动触发。

# 示例对话
你:"帮我Review这段代码"

# AI的内部流程:
1. 看到"Review代码"关键词
2. 发现有"公司代码规范专家"Skill
3. 读取SKILL.md
4. 发现需要更多细节
5. 读取code-review.md
6. 按照公司规范进行Review

6. 实际应用场景

🏢 场景1:公司业务流程

---
name: 客户服务流程专家
description: 了解公司的客户服务流程、常见问题处理方法
---

# 客户服务标准流程

## 投诉处理
1. 24小时内响应
2. 记录问题到CRM系统
3. 分级处理(P0/P1/P2)
4. 48小时内给出解决方案

## 常见问题话术
见 faq-responses.md

📊 场景2:数据分析规范

---
name: 数据分析专家
description: 了解公司的数据分析规范、SQL编写标准、报表格式
---

# 数据分析规范

## SQL编写规范
- 使用CTE而不是子查询
- 必须加WHERE条件限制时间范围
- 禁止SELECT *

## 报表格式
- 标题:14号黑体
- 数据:12号宋体
- 图表:使用公司配色方案

详细的SQL最佳实践见 sql-best-practices.md

🎨 场景3:设计规范

---
name: UI设计规范专家
description: 了解公司的设计系统、组件库使用规范、品牌指南
---

# UI设计规范

## 颜色规范
- 主色:#1890ff
- 辅助色:#52c41a
- 警告色:#faad14
- 错误色:#f5222d

## 间距规范
- 基础单位:8px
- 组件间距:16px/24px/32px

## 组件使用
必须使用shadcn/ui组件库,禁止自己造轮子
详见 component-guide.md

7. Skills的代码执行能力

Skills不仅能提供知识,还能包含可执行代码。

为什么需要代码?

有些操作用AI生成Token很低效,用代码执行更快更准确:

  • 排序大列表
  • 解析PDF表单
  • 批量处理文件

示例:PDF表单提取

# scripts/extract_form_fields.py
import PyPDF2

def extract_form_fields(pdf_path):
    """提取PDF中的所有表单字段"""
    with open(pdf_path, 'rb') as file:
        reader = PyPDF2.PdfReader(file)
        fields = reader.get_form_text_fields()
    return fields

if __name__ == "__main__":
    import sys
    fields = extract_form_fields(sys.argv[1])
    print(fields)

AI可以直接运行这个脚本,而不需要把PDF内容加载到上下文中。


8. 避坑指南

❌ 不要这样做 ✅ 应该这样做 为什么
把所有知识都塞进SKILL.md 拆分成多个文件,按需引用 利用渐进式披露,节省Token
Skill描述写得太模糊 描述要精准,包含关键词 AI靠描述判断是否使用Skill
安装不可信的Skill 只用可信来源的Skill Skill可能包含恶意代码
把敏感信息写进Skill 用环境变量存储密码 防止泄露
Skill内容过时不更新 定期review和更新Skill 过时的知识会误导AI

9. 真实案例

Story

2025年,Skills让文档编辑能力提升10倍

2025年10月,Anthropic推出Skills功能,并用它增强了Claude的文档编辑能力。以前,Claude虽然能理解PDF,但无法直接填写PDF表单。通过创建一个PDF Skill,包含表单填写指令和Python脚本,Claude获得了这个新能力。关键是,这个Skill只在用户需要处理PDF时才加载,不会浪费Token。某企业使用这个Skill后,PDF表单处理效率提升了10倍,从平均10分钟降到1分钟。

Vibe心法:创建Skill时用渐进式披露——先写名称和描述(第1层),再写核心指令(第2层),最后添加详细参考(第3层)。


10. 本章小结

  1. 🔌 MCP是接口:让AI能连接外部工具和数据源(数据库、API)
  2. 📚 Skills是知识库:让AI学会专业知识和流程,从通用AI变成领域专家
  3. 📊 渐进式披露:3层加载机制,只在需要时加载知识,节省Token
  4. 🏗️ Skill结构:SKILL.md(核心)+参考文件+可执行脚本
  5. 🎯 应用场景:公司流程、代码规范、数据分析、设计规范
  6. 💻 代码执行:Skills可以包含Python/Bash脚本,让AI执行确定性任务
  7. 🔒 安全第一:只安装可信Skill,审查代码,用环境变量存储敏感信息