原理篇| 深入理解Skills概念

2 阅读10分钟

01 前言

之前写过MCP相关文章,里面深刻阐述了MCP在智能体中作用,近期出现了Skills的概念,可谓如火如荼。Skills概念同样也是Anthropic(Claude)提出。第一要阐述就是MCP和Skills的区别和联系是什么?

02 MCP和Skills的关系?

一、两者的区别

MCP(Model Context Protocol)本质是:一种模型与外部系统交互的协议标准。Skills 是被封装成“可直接调用能力单元”的工具能力。

维度MCPSkills
本质协议标准, 外部工具接口能力封装, 操作手册/提示词
解决问题模型如何调用外部资源模型具体能做什么
层级基础设施层应用能力层
面向对象开发者开发者 + 运营 + 普通用户
技术难度中低
可视化程度
可组合
商业化潜力基础设施极强

二、两者的联系

MCP 是底层连接机制, Skill 是上层能力产品化。未来趋势非常明确:MCP 逐渐隐藏,Skills 成为主角。并不是一种完全取代的关系。简单说:Skills 让 大模型 做得更好,MCP 让 Claude 做得更多。 两者可以结合使用——比如用 MCP 拿到 Google Drive 的文件,再用 docx Skill 的最佳实践来处理它。

模型
   ↓
MCP(协议层)
   ↓
Tool / API
   ↓
Skill(能力封装)
   ↓
用户调用
+----------------------+       +----------------------+      +---------------------+
|  User / Frontend     | <---> |  Orchestration Layer | <--->|   Skill Registry    |
|  (web/app/cron/etc)  |       |  (Agent Manager)     |      | (discoverable SKILL)|
+----------------------+       +----------------------+      +---------------------+
         ^                             ^
         |                             |
         v                             v
+----------------------+       +----------------------+      +---------------------+
|   LLM / Model Host    | <--> |  MCP Adapter / Proxy | <->  |   Backend Services   |
|  (local or cloud)     |       |  (auth, sandboxing)  |      |  (DB, API, Scripts)  |
+----------------------+       +----------------------+      +---------------------+

重要组件说明(架构层级):

  • LLM / Model Host:运行模型、决定调用 Skill 的主体(本地模型或云模型)。

  • MCP Adapter / Proxy:协议适配、消息规范、输入/输出验证、限流与审计(MCP 在此处实现或被替代)。

  • Orchestration Layer(Agent Manager):调度 Skill、执行工作流、管理状态机与回滚。

  • Skill Registry(能力市场/目录):Skill 的元数据、权限、版本、用量计费与发现。

  • Backend Services:真实执行单元(DB、第三方 API、脚本、容器化服务等)。

(注:不同厂商会在 MCP 与 Orchestration 的边界上有不同的实现侧重点。)

03 Skills构建方式

从构建方式主要分两类:

1.源码方式(开发者模式)

2.界面方式(低代码/可视化方式)

Cladue虽然最先提出Skill的概念,但是大部分人使用Cladue其实是有门槛(近期账号老是被封),但现在其他大模型平台逐渐支持Skill能力:

平台支持形态主要能力(能做什么)接入方式(典型)私有化 / 企业适配适合场景
百度 文心智能体智能体/Agent 平台、低代码 + SDK + 能力包市场智能体/Skill 编排、低代码 AgentBuilder、能力包(Skill)管理、接入检索/知识库Web 控制台、API、能力包市场安装、SDK支持企业接入与私有化部署(企业能力包 & 权限管理)企业客服、行业智能体、知识型 Skill 快速落地。
腾讯 混元大模型平台 + 插件/联网能力(SDK/API)混元模型接入、知识增强、插件/联网功能、生态整合(微信/小程序)云 API、SDK、云控制台、插件体系企业云产品线支持私有化/专属实例与权限控制需要与腾讯生态(内容、社交)整合的 Skill 场景
阿里 通义灵码IDE + 编码智能体 + 插件市场(面向开发者的 Skill 工具化)代码生成/智能体/插件化能力,把代码或 API 快速包装成能力Lingma IDE、云服务、插件市场面向企业开发者友好,易与阿里云服务打通开发者工具链内构建 Skill、工程化自动化能力
字节 TraeAI-native IDE / 平台(强调模型与插件)AI IDE、模型接入、多模型切换、支持 MCP/Skills(厂商叠加)IDE 插件、API、企业集成面向产品/研发团队,企业版支持更深整合代码相关 Skill、创作类 Skill、与字节内容生态集成的场景
Dify开源 LLM 应用平台(低代码 + 工作流)应用/Skill 工作流编排、模板市场、支持私有化部署部署到云/私有机房、REST API、工作流 UI强调开源 + 私有化(社区与企业部署案例)中小团队快速搭建自定义 Skill,L L M Ops 场景
Flowise可视化工作流 / 节点式编排(基于 LangChain)节点拖拽式 Skill / Agent 编排,便于实验与原型本地部署、Web UI、支持多模型后端适合快速原型与 PoC,企业化需做扩展快速搭建数据到能力的原型 Skill、教学与试验
LangChain 生态开源编排/SDK 生态(构建 Skills/Agent 的开发框架)强大的工具链(chains/agents/tools)、向量检索、插件化SDK(Python/JS)、多后端接入最灵活、最适合私有化/深度定制需要高度定制化的企业级 Skill 与复杂编排

04 Claude Skills 最优实践总结

基于《The Complete Guide to Building Skills for Claude》整理


一、核心架构设计

三层渐进式披露(Progressive Disclosure)

这是整个 Skills 系统最关键的设计哲学:

| 层级 | 内容 | 加载时机 | | --- | --- | --- | | 第一层  YAML frontmatter | 技能名称 + 描述 | 始终加载在系统提示中 | | 第二层  SKILL.md 主体 | 完整指令和工作流 | Claude 判断相关时加载 | | 第三层  链接文件 | references/ 详细文档 | 按需导航加载 |

设计目的:最小化 token 消耗,同时保持专业能力。


二、文件结构规范

your-skill-name/          ← kebab-case 命名,不能有空格/大写/下划线
├── SKILL.md              ← 必须,大小写精确匹配
├── scripts/              ← 可选,Python/Bash 等脚本
├── references/           ← 可选,详细文档
└── assets/               ← 可选,模板/字体/图标

| 错误 |  正确 | | --- | --- | | skill.md  / SKILL.MD | SKILL.md | | Notion Project Setup | notion-project-setup | | skill 文件夹内放 README.md | README 放仓库根目录 | | frontmatter 中用 < > XML 标签 | 禁止使用 | | skill 名称含 "claude" 或 "anthropic" | 保留字,禁止使用 |


三、YAML Frontmatter 黄金写法

Description 公式:[做什么] + [何时使用] + [关键触发短语]

---
name: your-skill-name
description: >
  做什么的简洁说明。Use when user mentions "具体词A"、
  "具体词B",or asks to "执行某操作"。
license: MIT
metadata:
  author: YourName
  version: 1.0.0
  mcp-server: your-server
---

描述对比:

 差
帮助处理项目。管理 Linear 项目工作流,包括冲刺规划、任务创建和状态跟踪。当用户提到"冲刺"、"Linear 任务",或要求"创建工单"时使用。
创建文档系统。分析 Figma 设计文件并生成开发交接文档。当用户上传 .fig 文件,或询问"设计规范"、"组件文档"、"设计转代码交接"时使用。
实现带层级关系的项目实体模型。PayFlow 端到端客户入驻流程,处理账户创建、支付设置和订阅管理。当用户说"入驻新客户"、"设置订阅"或"创建 PayFlow 账户"时使用。

核心原则: 必须同时包含 WHAT(做什么) + WHEN(触发条件/用户实际会说的词语),上限 1024 字符。


四、五种核心工作流模式

Pattern 1:顺序工作流编排

适用场景: 有严格步骤顺序的多步任务

Step
1
2
3

关键技巧:

  • 每步之间声明依赖关系

  • 每步验证通过后再继续

  • 提供失败回滚指令


Pattern 2:多 MCP 协调

适用场景: 工作流跨越多个服务(如 Figma → Drive → Linear → Slack)

Phase 1: Figma MCP  → 导出设计资产
Phase 2: Drive MCP  → 存储并生成链接
Phase 3: Linear MCP → 创建开发任务
Phase 4: Slack MCP  → 发送交接通知

关键技巧:

  • 明确的阶段分隔

  • 跨 MCP 的数据传递方式说明

  • 集中错误处理逻辑


Pattern 3:迭代精炼

适用场景: 输出质量需要多轮迭代提升(如报告生成)

初稿生成 → 验证脚本检查 → 发现问题列表 → 修正 → 再验证 → 达到质量阈值后终止
关键技巧:
  • 明确的质量判断标准

  • 使用脚本做验证(确定性更高)

  • 设置迭代终止条件,避免无限循环


Pattern 4:上下文感知工具选择

适用场景: 同一目标,根据上下文选择不同工具

判断文件类型/大小
    ├── >10MB          → 云存储 MCP
    ├── 协作文档       → Notion/Docs MCP
    ├── 代码文件       → GitHub MCP
    └── 临时文件       → 本地存储
→ 向用户解释选择原因
关键技巧:
  • 清晰的决策树

  • 提供备用方案

  • 对用户透明地说明选择逻辑


Pattern 5:领域专业智能

适用场景: 嵌入特定领域知识(合规、法律、金融等)

获取数据 → [合规前置检查] → 通过则执行 / 不通过则标记审核 → 生成审计日志
关键技巧:
  • 执行前先做合规/风险检查

  • 完整记录审计日志

  • 清晰的治理和审批流程


五、测试的三个维度

1. 触发测试(最重要)

应触发:直接表述 / 同义改写 / 不同措辞,各测一遍
不应触发:无关领域话题(天气、其他完全不同的任务)

调试技巧: 直接问 Claude「你什么时候会用 [skill名称]?」,它会把 description 复述出来,你就能看出哪里写得不够精准。

2. 功能测试

  • 输出格式和内容是否正确

  • API / MCP 调用是否成功

  • 边缘情况和异常是否有处理

3. 性能对比(有/无 Skill)

指标无 Skill有 Skill
对话轮次~15 轮~2 轮
API 调用失败次数3 次0 次
Token 消耗12,0006,000

六、常见问题速查

症状原因解决方案
Skill 不自动触发description 太模糊加入用户实际会说的触发短语
Skill 触发太频繁描述范围太宽泛加负向触发词:Do NOT use for...
MCP 调用失败连接/权限问题先单独测 MCP,排除 skill 问题
指令不被遵循关键步骤被淹没在正文中用 ## CRITICAL 置顶关键指令
响应变慢/质量下降SKILL.md 体积太大详细内容移到 references/,主文件控制在 5000 词以内
上传报错YAML 格式错误检查 --- 分隔符是否完整,引号是否闭合

七、最优实践精华

设计阶段

  1. 先定义 2-3 个具体用例,再动笔写 SKILL.md

  2. 区分「问题优先」vs「工具优先」视角,选择合适的 Pattern

  3. 结果而非功能描述 skill 价值

编写阶段

  1. Description = 用户说的话,而不是技术描述

  2. 关键指令置顶,次要细节放 references/

  3. 为每种常见错误写明:原因 + 解决步骤

  4. 确定性要求高的验证逻辑,用脚本而非语言描述(代码是确定性的,语言不是)

迭代阶段

  1. 先把一个复杂任务做到完美,再扩展覆盖更多场景

  2. 善用 skill-creator skill 生成初稿和评审

  3. Skill 是活文档,根据触发过多/过少的信号持续迭代

分发阶段

  1. GitHub 开源 + MCP 文档交叉链接

  2. 对外描述用价值语言:「节省 30 分钟手动配置」,而不是「包含 YAML frontmatter」


八、快速验证

开发前

  • 已识别 2-3 个具体用例

  • 已确定所需工具(内置或 MCP)

  • 已规划文件夹结构

开发中

  • 文件夹名为 kebab-case

  • 文件名精确为 SKILL.md

  • YAML 有 --- 开闭分隔符

  • name 字段:kebab-case,无空格,无大写

  • description 包含 WHAT 和 WHEN

  • 无 XML 标签 < >

  • 指令清晰可操作,包含错误处理和示例

  • 详细文档放在 references/ 而非内联

上传前

  • 测试:明显相关任务可触发

  • 测试:改写措辞后仍可触发

  • 测试:无关话题不触发

  • MCP 工具调用正常(如适用)

上传后

  • 在真实对话中测试

  • 监控触发过多/过少

  • 收集用户反馈

  • 根据反馈迭代 description 和 instructions


**一句话核心:**Skill 的本质是"把你的领域经验和工作流程,结构化地教给 Claude 一次,之后每次都自动复用"。写好 description 让它能自动触发,写好 instructions 让它每次都能稳定执行,是成功的两大关键。

推荐阅读:

github.com/anthropics/…

mp.weixin.qq.com/s/WJjieivij…

更多合集文章请关注我的公众号,一起学习一起进步: