Claude Skills 完全指南:从入门到精通

🎯 核心要点
- Claude Skills 是什么:可复用的 AI 能力单元,通过 YAML + Markdown 定义工作流程和最佳实践
- Skills 的价值:让 Claude 学会特定领域的专业知识、工作流程和任务模式
- 核心概念:Skills、Agents、Subagents 的分工与协作机制
- 应用场景:从个人提效到团队协作,从自动化工作流到生态共建
- 进阶路径:从使用现有 Skills 到自定义开发,再到构建 Skills 生态
📚 正文
背景或问题
随着 AI 能力的不断增强,我们发现一个核心问题:如何让 AI 更好地理解特定领域的知识和工作流程?
传统的提示词(Prompt)虽然能解决一次性问题,但存在明显局限:
- 不可复用:每次对话都需要重新描述需求和规则
- 难以维护:提示词分散在各个对话中,难以系统化管理
- 团队协作困难:无法在团队间共享和标准化 AI 能力
- 缺乏结构化:没有统一的格式和规范,难以规模化应用
Claude Skills 的出现,正是为了解决这些问题。它将 AI 能力模块化、标准化,让 AI 可以像人类专家一样掌握特定领域的专业知识和工作方法。
一、Claude Skills 是什么?
1.1 基本定义
Claude Skills 是一种可复用的 AI 能力单元,通过结构化的 YAML 配置和 Markdown 文档,定义了 Claude 在特定场景下应该如何工作。
核心特征:
- 📄 基于文件:每个 Skill 都是一个独立的文件(
.md格式) - 🔧 YAML + Markdown:用 YAML 定义元数据,用 Markdown 描述工作流程
- 🔄 自动触发:在合适时机自动加载和执行,无需手动调用
- 🎯 领域专精:针对特定场景、领域或任务优化
1.2 技术本质
从技术角度看,Claude Skills 的本质是:
Skill 文件 → YAML 元数据 + Markdown 工作流 → 注入到 Claude 的 System Prompt → 影响 Claude 的行为
比喻理解:
- Skills = 菜谱:告诉 AI 什么时候用、如何用、按什么步骤做
- Claude = 厨师:读取菜谱,按照流程执行任务
- Tools = 厨具:AI 可以调用的具体能力(读文件、执行命令等)
二、Skills 的核心架构
2.1 文件结构
一个标准的 Claude Skill 文件包含以下部分:
---
name: skill-name
description: 这个技能的简要描述
version: 1.0.0
author: 作者名称
---
# Skill 标题
## 使用场景
在什么情况下使用这个 Skill
## 工作流程
1. 第一步:做什么
2. 第二步:怎么做
3. 第三步:产出什么
## 注意事项
- 重要提示 1
- 重要提示 2
2.2 YAML 元数据说明
| 字段 | 必需 | 说明 | 示例 |
|---|---|---|---|
name | ✅ | Skill 的唯一标识符 | code-reviewer |
description | ✅ | 简要描述 Skill 的功能 | "专注于代码审查和优化建议" |
version | ❌ | 版本号 | 1.0.0 |
author | ❌ | 作者信息 | 栈十七 |
tags | ❌ | 标签列表 | ["programming", "code-review"] |
2.3 触发机制
Skills 的自动触发基于以下机制:
- 基于描述触发:当检测到用户意图与 Skill 的
description匹配时 - 基于标签触发:当对话上下文中出现相关标签时
- 手动触发:用户明确要求使用某个 Skill
- 组合触发:多个 Skills 可以协同工作
三、Skills、Agents、Subagents 的分工
3.1 三个核心概念
在 Claude 体系中,有三个关键角色:
Skills(技能)- 剧本定义者
- 职责:定义工作流程、最佳实践、任务标准
- 特点:不直接执行,只告诉 Agent 该怎么做
- 比喻:菜谱、工作手册、标准作业程序(SOP)
Agent(代理)- 决策调度者
- 职责:理解用户需求、选择合适的 Skills、协调执行流程
- 特点:做决策,但不亲自干重活
- 比喻:项目经理、主厨、指挥官
Subagents(子代理)- 任务执行者
- 职责:完成具体的、独立的任务
- 特点:专注单一任务,上下文隔离
- 比喻:临时工、专业技工、执行单元
3.2 协作流程示例
场景:写一篇文章并发布到公众号
用户请求:"帮我写一篇关于 AI 的文章并发布到公众号"
↓
主 Agent 接收请求
↓
Agent 选择 "内容创作 Skill"
↓
按照 Skill 的流程执行:
1. 询问主题和目标读者
2. 提出 3 种文章结构
3. 派发 Subagent 1:写作文章
4. 派发 Subagent 2:生成配图
5. 派发 Subagent 3:发布到公众号
↓
收集所有结果,交付给用户
3.3 为什么要这样分工?
优势 1:上下文隔离
- 每个 Subagent 只关注自己的任务
- 避免"污染"上下文,保持任务独立性
优势 2:可并行执行
- 多个 Subagent 可以同时工作
- 提高整体效率
优势 3:模块化和可维护
- Skills 可以独立修改和升级
- 新增能力只需添加新的 Tools
优势 4:角色专业化
- 每个 Agent/Subagent 都有明确的角色定位
- 更符合人类的协作模式
四、Skills 的应用场景
4.1 个人提效
场景 1:代码审查
name: code-reviewer
description: 专注于代码审查和优化建议
- 自动检查代码质量
- 提供优化建议
- 识别潜在 bug
场景 2:写作辅助
name: article-writer
description: 帮助用户写文章,提供结构建议和写作指导
- 提供文章结构模板
- 协助分段写作
- 优化表达和逻辑
场景 3:会议记录
name: meeting-notes
description: 自动生成结构化的会议记录
- 提取关键决策
- 整理行动项
- 生成会议摘要
4.2 团队协作
场景 1:标准化工作流
- 团队共享 Skills,统一工作标准
- 新成员快速上手,减少培训成本
- 保持工作质量一致性
场景 2:知识沉淀
- 将最佳实践封装成 Skills
- 经验可传承和复用
- 构建团队知识库
场景 3:自动化任务
- 定时任务自动化
- 批量处理重复性工作
- 减少人工干预
4.3 开发生态
场景 1:开源贡献
- 开发者贡献 Skills 到社区
- 丰富 Claude 能力生态
- 形成共享经济
场景 2:商业应用
- 为特定行业定制 Skills
- 提供垂直领域解决方案
- 构建商业模式
场景 3:MCP 协议
- Skills 封装成 MCP Server
- 实现跨平台互操作
- 构建标准化生态
五、如何创建自定义 Skills
5.1 步骤一:确定目标
问自己几个问题:
- 这个 Skill 解决什么问题?
- 在什么场景下使用?
- 输入是什么?输出是什么?
- 需要调用哪些 Tools?
示例:
- 问题:代码审查效率低,标准不统一
- 场景:每次提交代码前
- 输入:代码文件
- 输出:审查报告
- Tools:
read_file,grep,git_diff
5.2 步骤二:设计工作流程
设计原则:
- 🎯 目标导向:每个步骤都有明确目标
- 📝 步骤清晰:用自然语言描述每个步骤
- 🔄 可迭代:支持多轮交互和优化
- ⚠️ 边界明确:明确什么时候该做什么
示例工作流程:
## 工作流程
### 第一阶段:理解代码
1. 读取代码文件
2. 理解代码的目的和逻辑
3. 识别主要功能模块
### 第二阶段:分析质量
1. 检查代码规范
2. 识别潜在 bug
3. 评估性能问题
### 第三阶段:提供建议
1. 列出发现的问题
2. 提供具体的改进建议
3. 给出优化后的代码示例
5.3 步骤三:编写 Skill 文件
完整示例:
---
name: code-reviewer
description: 专注于代码审查和优化建议,帮助开发者提高代码质量
version: 1.0.0
author: 栈十七
tags:
- programming
- code-review
- quality-assurance
---
# 代码审查 Skill
## 使用场景
在以下情况下使用此 Skill:
- 代码提交前的自我审查
- Code Review 辅助
- 代码重构建议
- 性能优化分析
## 工作流程
### 第一步:理解代码
1. 读取并分析代码文件
2. 理解代码的业务逻辑和目标
3. 识别主要的功能模块和依赖关系
### 第二步:检查代码质量
检查以下方面:
- **代码规范**:是否符合团队规范
- **命名规范**:变量、函数命名是否清晰
- **注释质量**:关键逻辑是否有注释
- **错误处理**:是否有适当的错误处理
- **边界条件**:是否考虑了边界情况
### 第三步:识别问题
1. 查找潜在的 bug
2. 识别性能瓶颈
3. 发现安全隐患
4. 标记可读性问题
### 第四步:提供建议
1. 列出发现的问题(按优先级排序)
2. 提供具体的改进建议
3. 给出优化后的代码示例
4. 解释改进的原因
### 第五步:确认优化
与用户确认:
- 是否需要针对某个问题深入分析
- 是否需要生成优化后的代码
- 是否需要审查其他文件
## 输出格式
### 审查报告模板
```markdown
## 代码审查报告
### 概述
- 文件:`<文件名>`
- 行数:`<代码行数>`
- 审查时间:`<时间>`
### 发现的问题
#### 🔴 高优先级
1. **问题描述**
- 位置:第 `<行号>` 行
- 问题:`<具体问题>`
- 建议:`<改进建议>`
#### 🟡 中优先级
1. **问题描述**
- 位置:第 `<行号>` 行
- 问题:`<具体问题>`
- 建议:`<改进建议>`
#### 🟢 低优先级
1. **问题描述**
- 位置:第 `<行号>` 行
- 问题:`<具体问题>`
- 建议:`<改进建议>`
### 优化建议
1. 建议 1:`<详细描述>`
2. 建议 2:`<详细描述>`
### 优化后的代码(可选)
```代码
<优化后的代码>
总结
- 高优先级问题:
<数量>个 - 中优先级问题:
<数量>个 - 低优先级问题:
<数量>个 - 整体评分:
<评分>/10
## 注意事项
- 🎯 **聚焦问题**:优先关注影响功能和安全的问题
- 💬 **语气友好**:提供建设性的反馈,避免指责
- 🔍 **全面检查**:不要遗漏细节,但也不要过于吹毛求疵
- 📚 **考虑上下文**:理解代码的使用场景和约束条件
- ⚡ **实用优先**:建议要具体、可操作,避免空泛
## 可用的 Tools
- `read_file`:读取代码文件
- `grep`:搜索特定模式
- `git_diff`:查看代码差异
- `replace`:生成优化后的代码
5.4 步骤四:测试和优化
测试清单:
- Skill 能否正确触发?
- 工作流程是否符合预期?
- 输出格式是否一致?
- 边界情况是否处理?
- 是否有清晰的提示和引导?
优化方向:
- 📝 精简描述:避免冗长的说明
- 🎯 聚焦核心:删除不必要的步骤
- 🔄 增加灵活性:支持不同场景
- 📊 量化输出:提供可度量的结果
六、进阶主题
6.1 Skills 组合与协同
组合模式:
- 顺序执行:Skills A → Skills B → Skills C
- 条件分支:如果满足条件 A,用 Skills 1;否则用 Skills 2
- 并行执行:Skills A 和 Skills B 同时运行
- 循环迭代:重复执行某个 Skills 直到满足条件
示例:
# 内容创作 Skill 组合
- brainstorming-skill # 头脑风暴
- article-writer-skill # 写文章
- image-generator-skill # 生成配图
- publisher-skill # 发布
6.2 Tools 与 Skills 的关系
Tools 是 Skills 的执行能力:
- Skills 定义"做什么"
- Tools 提供"怎么做"
- 一个 Skill 可以调用多个 Tools
常用 Tools:
read_file:读取文件内容write_file:写入文件grep:搜索文件内容replace:替换文件内容run_shell_command:执行命令
6.3 MCP 协议与 Skills
MCP(Model Context Protocol)是什么:
- Claude 的标准化协议
- 允许不同系统互操作
- Skills 可以封装成 MCP Server
优势:
- 🔗 标准化:统一的接口规范
- 🌐 互操作:跨平台协作
- 📦 可复用:一次开发,多处使用
- 🚀 生态共建:社区贡献和共享
七、最佳实践
7.1 设计原则
1. 单一职责
- 每个 Skill 只解决一个问题
- 避免功能过于复杂
2. 明确边界
- 清晰定义输入和输出
- 明确使用场景
3. 可测试性
- 设计可验证的工作流程
- 提供清晰的预期结果
4. 可维护性
- 代码风格一致
- 注释充分
- 版本管理
7.2 常见陷阱
陷阱 1:描述过于模糊 ❌ 错误示例:
description: 帮助用户工作
✅ 正确示例:
description: 帮助用户进行代码审查,识别潜在问题并提供优化建议
陷阱 2:工作流程过于复杂 ❌ 错误示例:
## 工作流程
1. 步骤 1(包含 10 个子步骤)
2. 步骤 2(包含 15 个子步骤)
3. 步骤 3(包含 20 个子步骤)
...
✅ 正确示例:
## 工作流程
1. 理解需求
2. 执行任务
3. 输出结果
陷阱 3:缺乏错误处理 ❌ 错误示例:
直接执行任务,不考虑失败情况
✅ 正确示例:
## 错误处理
如果任务失败:
1. 记录错误信息
2. 尝试恢复
3. 提供降级方案
7.3 性能优化
优化策略:
- 减少 Token 消耗:精简 Skill 描述
- 避免重复调用:缓存中间结果
- 并行执行:充分利用 Subagents
- 智能触发:只在需要时加载 Skills
八、栈十七实践笔记
个人经验总结
1. 从小处着手
- 不要一开始就设计复杂的 Skills
- 先从简单的、高频使用的场景开始
- 逐步迭代和优化
2. 重用优于重新发明
- 先检查社区是否已有类似 Skills
- 在现有基础上改进
- 贡献自己的改进
3. 文档很重要
- 不仅要用得好,还要让其他人能用
- 提供清晰的使用说明
- 包含示例和最佳实践
4. 持续优化
- 根据实际使用反馈调整
- 监控 Skills 的性能表现
- 定期更新和升级
实战案例
案例:构建内容创作 Skill 链
我在 Claude Code 中构建了完整的创作工具链:
- brainstorming-skill:头脑风暴和创意生成
- article-writer-skill:文章写作和结构优化
- image-generator-skill:自动生成配图
- podcast-creator-skill:生成播客脚本
- publisher-skill:一键发布到公众号
关键经验:
- Skills 之间通过文件系统共享数据
- 每个 Skill 专注单一职责
- 通过主 Agent 协调执行流程
- 输出格式标准化,便于后续处理
未来展望
Skills 的三个发展方向:
-
智能化
- 自动学习和优化
- 基于使用数据改进
- 个性化推荐
-
标准化
- 统一的格式规范
- 互操作性协议
- 评级和认证体系
-
生态化
- 开源社区贡献
- 商业化应用
- 跨平台协作