引言:为什么你需要了解 Claude Skill?

你是否遇到过这样的困扰:每次让Claude写代码,都要重复粘贴团队规范;好不容易调教好的提示词,换个项目就完全失效;团队里每个人用AI的方式五花八门,输出质量参差不齐。

Claude Skill 正是为解决这些问题而生。它能让你的AI经验固化下来,一次教学,永久受益。本文将带你从零开始,亲手创建第一个属于自己的Skill。

一、Claude Skill 到底是什么?

1.1 最通俗的理解:AI的“入职手册+工具箱”

想象你招了一位天才实习生——Claude,他智商极高但不懂你们公司的业务。传统的做法是每次布置任务都口头交代一遍(Prompt),而 Agent Skill 则是给他一本完整的标准作业程序(SOP)

  • 📋 入职手册(SKILL.md):包含岗位描述、工作流程、注意事项
  • 🧰 工具箱(scripts/):处理特定任务的脚本和代码
  • 📚 参考资料(references/):行业规范、模板素材、API文档

1.2 核心定义

从技术角度讲,Skill 就是一个标准化的文件夹,里面包含教Claude如何处理特定任务的指令集。它的核心价值在于:

  • 一次教学,永久受益:不用每次对话都重复说明
  • 跨平台通用:Claude.ai、Claude Code、API完全兼容
  • 可组合:多个Skills可同时加载协作

1.3 Skill vs Prompt vs MCP

很多初学者容易混淆这几个概念,我用一张表帮你理清:

维度 普通 Prompt Agent Skill MCP
性质 临时指令,用完即走 标准化流程,永久复用 连接协议:AI与外部系统的"USB接口"
加载方式 每次全量输入 按需渐进加载 启动时建立连接
稳定性 依赖模型"记忆",易漂移 固化检查点,强制执行 提供工具能力
一句话总结 口头交代 书面SOP+工具箱 让AI能连上数据库

💡 MCP + Skill 才是王炸组合:MCP提供工具(如数据库连接),Skill教AI怎么按你们公司的规范查数据、生成报表、处理异常。

二、Skill 的核心设计三原则

理解这三个原则,你就能把握Skill设计的精髓:

2.1 渐进式披露(Progressive Disclosure)

这是Skills系统最核心的架构设计。它不是把所有信息一次性塞给Claude,而是分三层加载,根据需要逐步展示:

加载层级 内容类型 加载时机 Token配额 作用
L1 元数据(YAML frontmatter) Agent启动时自动加载 约100词 让AI知道"有什么技能可用"
L2 SKILL.md正文 匹配用户需求时加载 <5000词 教AI"具体怎么做"
L3 资源文件(scripts/references/assets) 执行中按需加载 无限(脚本可执行而不读入上下文) 提供"工具/素材支持"

核心公式:总Token消耗 = 100词(metadata) + 5000词(body) + 按需资源

2.2 可组合性(Composability)

用户可以同时启用多个Skills,你的Skill不应假设自己是唯一能力:

  • ✅ frontend-design + docx-creator
  • ✅ sentry-code-review + github-workflow
  • ✅ skill-creator + your-custom-skill

2.3 可移植性(Portability)

同一个Skill在所有环境中表现一致:

  • Claude.ai(网页版):Settings → Capabilities 中启用
  • Claude Code(桌面应用):复制到 ~/.claude/skills/
  • Claude API(开发者集成):调用时指定 skills 参数

三、Skill 的标准目录结构

一个标准的Skill文件夹长这样:

your-skill-name/ # 文件夹名:必须小写+连字符(kebab-case)
├── SKILL.md # 必需 - 主文件(必须大写S,必须这个文件名)
├── scripts/ # 可选 - 可执行代码(Python/Bash等)
├── references/ # 可选 - 参考文档(按需加载)
└── assets/ # 可选 - 模板、资源文件(输出用)

⚠️ 重要规则

规则 ✅ 正确示例 ❌ 错误示例
文件夹命名 frontend-design frontend_design(下划线)、frontendDesign(驼峰)
主文件命名 SKILL.md skill.md(小写)、SKILL.MD(扩展名大写)
禁止文件 - README.md(不能在skill文件夹内,但GitHub仓库根目录可以有)

四、手把手创建你的第一个Skill

我们以会议纪要整理助手为例,从零开始创建一个实用的Skill。

4.1 第一步:理解技能(30分钟-1小时)

先想清楚你要做什么:

  • 场景:开会录音转文字后,需要整理成结构化会议纪要
  • 支持类型:周会/项目复盘/客户沟通(不同会议类型需要不同模板)
  • 用户可能怎么说:"帮我整理周会记录"、"生成会议纪要"

4.2 第二步:初始化技能(5分钟)

有两种方式:

方式A:手动创建目录结构

mkdir -p ~/.claude/skills/meeting-minutes
cd ~/.claude/skills/meeting-minutes
mkdir -p references

方式B:使用官方 skill-creator(推荐)

# 克隆官方仓库
git clone https://github.com/anthropics/skills
cd skills
# 运行初始化脚本
python scripts/init_skill.py meeting-minutes --path ~/.claude/skills/

4.3 第三步:编写 SKILL.md(2-4小时)

这是最核心的步骤。用你喜欢的编辑器打开 SKILL.md

4.3.1 元数据部分(YAML frontmatter)

name: meeting-minutes
description: 办公室通用会议纪要整理助手,支持周会/项目复盘会/客户沟通会三类场景,自动识别会议类型,按需加载对应会议规则,智能提取关键信息,输出结构化纪要。当用户提到"整理会议记录"、"生成会议纪要"时使用

description 编写要点

  • 必须同时包含"做什么"和"何时用"
  • < 1024字符
  • 用数字编号列出具体场景
  • 包含触发关键词

4.3.2 正文部分(Markdown指令)

# 会议纪要整理助手
使用本技能按以下流程处理会议记录:
## 1. 识别会议类型
根据用户输入或会议内容判断类型:
- **周会**:包含"周报"、"本周"、"下周"等关键词
- **项目复盘**:包含"复盘"、"总结"、"教训"等关键词
- **客户沟通**:包含"客户"、"沟通"、"需求"等关键词
## 2. 按类型加载对应模板
根据识别的类型,从 `references/` 加载对应的规则文件:
- 周会 → 加载 `weekly-rule.md`
- 项目复盘 → 加载 `retro-rule.md`
- 客户沟通 → 加载 `client-rule.md`
## 3. 提取关键信息
从原始文本中提取:
- 任务清单(责任人+DDL)
- 待解决问题
- 关键决策
- 重要时间节点
## 4. 输出结构化纪要
按以下格式输出:
### 📅 会议概况
- **会议主题**:[主题]
- **时间**:[时间]
- **参会人员**:[人员列表]
### 📋 核心内容
[按会议类型特定结构]
### ✅ 待办事项
| 任务 | 负责人 | 截止时间 |
|------|--------|----------|
| [任务1] | [负责人] | [时间] |
### ⚠️ 待解决问题
- [问题1]
## 注意事项
- 保持客观,不添加主观评价
- 不确定的信息标注"待确认"
- 对于模糊的时间表述,询问用户确认

4.4 第四步:创建模块化参考资料(可选)

references/ 目录下创建不同会议类型的模板:

references/weekly-rule.md

# 周会纪要模板
## 重点结构
1. 上周工作进展(已完成/进行中/延期)
2. 本周工作计划
3. 需要协调的事项
4. 风险预警

references/retro-rule.md

# 项目复盘纪要模板
## 重点结构
1. 项目概况(时间、目标、参与人)
2. 做得好的(可复制经验)
3. 做得不好的(教训、改进点)
4. 行动计划

4.5 第五步:测试你的Skill

  1. 重启Claude Code,让系统识别新Skill

  2. 查看可用Skill列表

    /skills

    应该能看到 meeting-minutes 及其描述

  3. 输入测试提示词

    帮我生成周会会议纪要
    原始文本:
    小明:用户模块我搞完了,已经提测。
    小红:接口文档我还没弄,我负责写,周五前给出来。
    张三:测试环境那个问题搞不定,需要运维老陈帮忙看看。
  4. 观察触发情况:Claude应该会自动请求使用该Skill

4.6 第六步:打包与分享(5分钟)

# 使用官方打包脚本
python scripts/package_skill.py ~/.claude/skills/meeting-minutes ./dist

这会生成一个 .my-skill 文件(实际是zip),可以分享给团队成员或社区。

五、进阶技巧与最佳实践

5.1 元数据优化:决定Skill的生死

description 是技能最主要的触发机制,必须精炼、准确、全面。

优秀示例

description: Creates sprint plans from Linear data. Use when user says "plan sprint" or "create tasks for this week".

错误示例

description: Creates sprint plans from Linear data. # ❌ 只说了做什么
description: Use when planning sprints. # ❌ 只说了何时用

5.2 利用 scripts/ 提高效率

对于重复执行的代码,放入 scripts/ 目录:

  • 优势:脚本可执行而不读入上下文,节省Token
  • 注意:确保脚本有可执行权限 chmod +x scripts/*.py

在SKILL.md中指导Claude运行脚本:

## 执行PDF处理
运行以下脚本处理PDF文件:
```bash
python scripts/rotate_pdf.py input.pdf output.pdf 90
### 5.3 限制工具访问增强安全性
对于只读型任务,使用 `allowed-tools` 限制权限:
```yaml
name: safe-reader
description: Read files without making changes.
allowed-tools: Read, Grep, Glob

这样Claude在该Skill激活时,只能执行白名单内的工具,不能写入文件或执行Bash命令。

5.4 在Subagents中使用Skill

创建子智能体时,可以指定预加载的Skills:

# .claude/agents/code-reviewer/AGENT.md
name: code-reviewer
description: Review code for quality and best practices
skills: pr-review, security-check

5.5 调试技巧

如果Skill未能按预期触发,使用调试模式启动:

claude --debug

常见问题排查:

  • YAML语法错误:检查frontmatter格式
  • 路径权限:确保脚本可执行
  • 缓存问题rm -rf ~/.claude/plugins/cache 清理缓存

六、Skill 的三种典型应用场景

6.1 文档与资产创建

示例frontend-design skill

  • 创建一致、高质量的前端界面
  • 嵌入式风格指南 + 模板结构 + 质量检查清单
  • 无需外部工具

6.2 工作流自动化

示例skill-creator skill

  • 分步工作流 + 验证门
  • 引导用户创建新技能
  • 内置审查和改进建议

6.3 MCP增强

示例sentry-code-review skill

  • 协调多个MCP调用序列
  • 嵌入领域专业知识
  • 常见MCP问题的错误处理

七、成功标准:如何判断Skill做得好不好

定量指标

  • 90% 相关查询能触发Skill(测试10-20个查询)
  • ✅ 对比有/无Skill,工具调用次数减少
  • 0次 API调用失败

定性指标

  • ✅ 用户无需提示Claude下一步
  • ✅ 工作流无需用户纠正即可完成
  • ✅ 跨会话结果一致

八、常见问题解答

Q1: Skill 和 Command 是什么关系?

A: Command 已合并到 Skill 体系。旧Command文件(.claude/commands/)依然兼容,但建议新功能直接创建Skill,因为它支持脚本、多文件、子代理等高级能力。Command是你主动触发,Skill是AI按需自动加载。

Q2: Skill 会自动触发吗?

A: 是的。Claude扫描所有Skill的元数据,当用户请求在语义上与某个Skill的 description 匹配时,会请求用户确认后加载完整指令。这种"按需加载"机制有效节省上下文窗口。

Q3: 可以同时使用多个Skill吗?

A: 可以。Skills具有可组合性,多个相关Skill可同时激活处理复杂任务(如 Theme Factory + Canvas Design)。

Q4: 创建Skill需要会编程吗?

A:

  • 使用Skill:不需要编程
  • 创建基础Skill:只需会写Markdown,纯自然语言即可
  • 创建高级Skill:如需 scripts/ 脚本,需要Python/Bash基础

Q5: 有哪些学习资源?

  • 官方免费课程:DeepLearning.AI 平台的《Agent Skills with Anthropic》(2小时19分)
  • 官方完整指南:《The Complete Guide to Building Skills for Claude》PDF
  • GitHub仓库:anthropics/skills(包含大量示例)

九、总结:从Prompt工程到Skill工程

Agent Skills的正式发布,标志着AI协作从提示词工程正式迈入技能工程的全新范式。它将人类专家的经验、标准化流程与行业最佳实践,封装成AI可理解、可执行、可复用的数字资产。

核心价值

  • 降本增效:通过渐进式披露、按需加载机制,大幅减少Token消耗
  • 跨平台互通:作为开放标准,实现"一次构建、多端复用"
  • Skill市场:构建起类似VS Code插件市场的Skill生态

现在就开始吧! 花15-30分钟,用本文的步骤创建你的第一个Skill。一旦尝到"一次教学,永久受益"的甜头,你就再也回不去了。