在 AI 编程助手日益普及的今天,单纯依赖自然语言提示(Prompt)已难以满足复杂、规范、可复用的开发需求。你是否遇到过这些问题?
- 每次都要重复解释团队的代码规范?
- 想让 AI 处理 Excel 或 PDF,但它总是“看不懂”?
- 希望 AI 能自动执行部署脚本,而不仅是生成代码?
Claude Code 的 Skills 功能,正是为解决这些痛点而生。
它不是简单的提示词增强,而是一套模块化、可持久化、可执行的专业能力封装机制,让你的 AI 助手从“通用聊天机器人”升级为“懂流程、会干活、守规范”的专业协作者。
一、Skills vs 传统 Prompt:本质区别在哪?
| 维度 | 传统一次性提示(Prompt) | Claude Skills |
|---|---|---|
| 知识载体 | 临时对话上下文,关闭即丢 | 文件系统中的标准化文件夹,永久保存 |
| 复用性 | 每次新对话需重新输入 | 一次创建,全局调用,跨项目共享 |
| 知识管理 | 散落在聊天记录中,难维护 | 模块化组织,按领域隔离,易于迭代 |
| 上下文占用 | 所有指令全量塞入,Token 浪费严重 | 渐进式加载,按需读取,极致节省 |
| 执行能力 | 仅能生成文本或代码 | 可绑定 Python/Shell 脚本,直接运行并返回结果 |
💡 核心差异:Prompt 是“口头吩咐”,Skills 是“交付一本带工具的操作手册”。
二、核心机制:智能“渐进式披露”
Skills 最大的技术突破,在于其三层按需加载策略,完美规避了大模型上下文窗口的限制:
-
元数据层(目录)
每个 Skill 的SKILL.md文件顶部包含name和description(约 100 Tokens)。Claude 启动时仅加载所有 Skill 的元数据,形成“技能目录”,用于快速匹配用户意图。 -
核心指令层(章节)
当判断某 Skill 相关时,才加载SKILL.md的主体内容——详细的工作流程、规则与约束。 - 扩展资源层(附录)
仅当指令明确要求时,才读取scripts/中的可执行脚本或references/中的 API 文档。无关资源绝不加载。
📚 类比:就像查字典——先看目录找章节,再翻到具体页,而不是把整本字典背下来。
这种设计使得你可以在本地安装数十个 Skill,而不会拖慢日常对话。
三、Skill 长什么样?标准结构解析
一个 Skill 本质上是一个普通文件夹,结构清晰、易于管理:
my-skill/
├── SKILL.md # 必需:核心配置与指南
├── scripts/ # 可选:可执行脚本(如 helper.py)
├── references/ # 可选:补充文档(如 api-spec.md)
└── assets/ # 可选:模板、配置文件等静态资源
关键文件:SKILL.md
采用 YAML Frontmatter + Markdown 结构:
---
name: excel-analyzer # 技能名称,也是 /excel-analyzer 斜杠命令
description: 用于解析和分析 Excel 文件 (.xlsx)。当用户上传 .xlsx 文件并询问数据趋势、汇总统计时使用。
disable-model-invocation: false # 允许 AI 自动触发
---
# Excel 分析工作流程
## 步骤
1. 使用 scripts/parse_excel.py 提取数据
2. 识别数值列并计算均值、最大值
3. 生成简洁的文本摘要,避免表格输出
## 示例
- 用户问:“这个销售表里 Q1 总额多少?” → 调用脚本计算后返回数字
- 用户问:“画个图表” → 回复:“我无法生成图像,但可提供数据供你绘图”
四、Skill 存放位置:按需选择作用域
| 类型 | 路径 | 适用场景 |
|---|---|---|
| 个人 Skill | ~/.claude/skills/ |
个人快捷操作、私有工具 |
| 项目 Skill | 项目根目录/.claude/skills/ |
团队共享的编码规范、部署流程 |
| 插件 Skill | 通过 Plugin 安装 | 社区通用能力(如 PDF 解析、SQL 生成) |
✅ 最佳实践:将团队的 PR 模板、lint 规则、数据库查询规范封装为项目级 Skill,新人上手即合规。
五、典型应用场景
-
统一团队工程规范
- 封装 Git 提交信息格式校验
- 自动生成符合 Conventional Commits 的 commit message
- 强制代码审查 checklist
-
专业文件处理
- 安装
pdf-extractorSkill:AI 可精准提取 PDF 中的表格与文本 - 使用
pptx-summarizer:自动解析 PPT 内容并生成演讲稿
- 安装
- 集成内部系统
- 封装公司内部 API 调用流程(如查询用户权限、获取订单状态)
- 绑定 Shell 脚本,一键触发 CI/CD 流水线
六、如何写出高质量 Skill?
- 单一职责:一个 Skill 只解决一类问题(如“只处理 Excel”,不混入 Word 解析)
- 描述精准:
description中明确写出触发场景和关键词(如“当用户上传 .xlsx 并问‘总和’时使用”) - 提供示例:在指南中加入正反例(“应该这样回答” vs “不要那样回答”)
- 脚本健壮:
scripts/中的代码需处理异常,避免崩溃导致 AI 卡死
七、Skills 与 MCP、Function Calling 的关系
很多人混淆这三者,其实它们是协同工作的不同层级:
| 技术 | 角色 | 类比 |
|---|---|---|
| MCP(Model Context Protocol) | 安全连接外部服务 | USB 接口协议(让 AI 能“插上”数据库、GitHub 等设备) |
| Function Calling | 调用单个原子操作 | 工具按钮(点击“发送邮件”、“查询数据库”) |
| Skills | 编排复杂任务流 | 操作手册(指导 AI 如何组合多个 Function,按步骤完成“用户注册审核”全流程) |
🔗 三者协作示例:
一个“部署发布” Skill 会:
- 通过 MCP 连接 GitHub
- 调用 Function 获取最新 commit
- 执行 scripts/deploy.sh 脚本
- 返回部署日志与状态
结语:从“会聊天”到“会干活”
Claude Code Skills 的出现,标志着 AI 编程助手进入 “专业化、工程化” 新阶段。它不再只是代码生成器,而是可配置、可扩展、可执行的智能代理(Agent)。
建议行动:
- 从你的重复性工作中提炼一个 Skill(如“自动生成测试用例”)
- 按标准结构创建文件夹
- 在项目中试用,感受效率提升
当你开始积累自己的 Skill 库,你会发现:AI 不再是“需要反复指导的实习生”,而是“训练有素的专业搭档”。
随时随地看视频