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

16 阅读12分钟

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

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 元数据说明

字段必需说明示例
nameSkill 的唯一标识符code-reviewer
description简要描述 Skill 的功能"专注于代码审查和优化建议"
version版本号1.0.0
author作者信息栈十七
tags标签列表["programming", "code-review"]

2.3 触发机制

Skills 的自动触发基于以下机制:

  1. 基于描述触发:当检测到用户意图与 Skill 的 description 匹配时
  2. 基于标签触发:当对话上下文中出现相关标签时
  3. 手动触发:用户明确要求使用某个 Skill
  4. 组合触发:多个 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 步骤一:确定目标

问自己几个问题

  1. 这个 Skill 解决什么问题?
  2. 在什么场景下使用?
  3. 输入是什么?输出是什么?
  4. 需要调用哪些 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 组合与协同

组合模式

  1. 顺序执行:Skills A → Skills B → Skills C
  2. 条件分支:如果满足条件 A,用 Skills 1;否则用 Skills 2
  3. 并行执行:Skills A 和 Skills B 同时运行
  4. 循环迭代:重复执行某个 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 性能优化

优化策略

  1. 减少 Token 消耗:精简 Skill 描述
  2. 避免重复调用:缓存中间结果
  3. 并行执行:充分利用 Subagents
  4. 智能触发:只在需要时加载 Skills

八、栈十七实践笔记

个人经验总结

1. 从小处着手

  • 不要一开始就设计复杂的 Skills
  • 先从简单的、高频使用的场景开始
  • 逐步迭代和优化

2. 重用优于重新发明

  • 先检查社区是否已有类似 Skills
  • 在现有基础上改进
  • 贡献自己的改进

3. 文档很重要

  • 不仅要用得好,还要让其他人能用
  • 提供清晰的使用说明
  • 包含示例和最佳实践

4. 持续优化

  • 根据实际使用反馈调整
  • 监控 Skills 的性能表现
  • 定期更新和升级

实战案例

案例:构建内容创作 Skill 链

我在 Claude Code 中构建了完整的创作工具链:

  • brainstorming-skill:头脑风暴和创意生成
  • article-writer-skill:文章写作和结构优化
  • image-generator-skill:自动生成配图
  • podcast-creator-skill:生成播客脚本
  • publisher-skill:一键发布到公众号

关键经验

  1. Skills 之间通过文件系统共享数据
  2. 每个 Skill 专注单一职责
  3. 通过主 Agent 协调执行流程
  4. 输出格式标准化,便于后续处理

未来展望

Skills 的三个发展方向

  1. 智能化

    • 自动学习和优化
    • 基于使用数据改进
    • 个性化推荐
  2. 标准化

    • 统一的格式规范
    • 互操作性协议
    • 评级和认证体系
  3. 生态化

    • 开源社区贡献
    • 商业化应用
    • 跨平台协作

📎 参考资料