Skills是Anthropic生态里一个很重要但容易被忽略的概念。很多人以为它就是"更高级的Prompt",其实差别很大。来拆解一下。
Skills是什么?
一句话定义:Skills是把人类经验、SOP和工具调用封装成结构化文件包的工程化方案。
跟Prompt的核心区别:
- Prompt是一段文本,用完就丢
- Skills是一个文件包,可以复用、分享、版本管理
为什么需要Skills?
传统Prompt在企业级应用中有三个硬伤:
- 不可复用:每次新会话都要重新输入
- 无法协作:你写的Prompt别人用效果可能完全不同
- 难以维护:业务变了,十几个地方的Prompt都要改
Skills通过结构化封装解决了这些问题。
Skills的结构
一个标准的Skill包含:
my-skill/
├── SKILL.md # 元数据 + 主要指令
├── references/ # 参考文档
│ ├── api-docs.md
│ └── examples.md
└── scripts/ # 可执行脚本
└── validate.sh
SKILL.md是核心,包含:
- 触发条件(什么时候自动启用这个Skill)
- 执行步骤
- 输入输出格式
- 约束条件
关键设计理念:渐进式信息公开
Skills不会一股脑把所有信息塞给AI,而是"按需加载"——只有被触发时才加载相关知识。这样可以大幅节省Token消耗。
举个例子:你有一个"代码审查"Skill,只有当AI检测到你在做Code Review时才会激活,平时不占上下文。
实际应用场景
自动化commit:定义commit message的格式规范、提交前的检查步骤、分支命名规则。
代码风格统一:把团队的编码规范封装成Skill,AI生成的代码自动符合规范。
部署流程:把部署的SOP封装,AI按步骤执行,不会遗漏任何环节。
数据拉取:定义数据源、清洗规则、输出格式。一个命令完成日常数据报表。
和MCP的关系
Skills管"怎么做"(工作流程和知识),MCP管"用什么做"(连接外部工具)。
比如一个"发布文章"的Skill:
- Skills定义流程:写内容 → 配图 → 排版 → 发布 → 分发
- MCP提供工具:连接CMS接口 → 调用图片API → 操作发布按钮
两者是互补关系。
一个遗憾
目前Skills只在Anthropic生态(Claude Code)里能用,不像MCP是跨平台的开放协议。希望以后能标准化,让其他平台也能用。
你做过哪些实用的Skills?分享一下?