乐于分享
好东西不私藏

技术小白学Claude Code教程【六】一文说透,手把手学会Skills查找、、使用、制作的进阶之路,值得收藏

技术小白学Claude Code教程【六】一文说透,手把手学会Skills查找、、使用、制作的进阶之路,值得收藏

我们常常看到社区中很多大佬开源非常好用的skills,另外看过前面发表过教程的小伙伴会知道,当CLAUDE.md太长,会将固定化的工作流程拆分为skill.md。那么这一篇文章手把手带你掌握skills查找、安装、使用和制作的前世今生。小伙伴有没有遇到过这种情况:

让 Claude Code 帮你生成 Word 文档,它写出来的格式乱七八糟;让它处理 PPT,它压根不知道你公司的模板风格;让它写代码,它总是绕弯子,不走你们团队的规范……

不是 Claude 不够聪明,是它不了解你的场景。

Skills,就是解决这个问题的关键。


一、Skills定义

Skills 是 Claude Code 的结构化知识包

小编把它理解成「给 AI 打包好的、成熟稳定的生产线」。当 Claude 遇到某类任务时,只需要提供必需的原材料,通过固定的方法启动对应的 Skill,按照固定的说明来运行——而不是凭空乱猜。

类比一下

  • • 没有 Skill → 新入职员工,什么都要现学现卖
  • • 有了 Skill → 老员工,拿到任务就知道该查哪本手册、用哪套流程

Skills 的核心价值体现在三个方面:

  1. 1. 一致性:每次处理同类任务,输出质量稳定可预期
  2. 2. 专业度:内置领域知识,不需要你每次重复说明背景
  3. 3. 效率:复杂的多步骤任务,AI 按 Skill 的流程走,不走弯路

二、Skills 类别

Skills 按作用域分为三个层级,优先级从高到低依次是:项目级 > 用户级 > 官方捆绑。

1)Bundled Skills(官方捆绑技能)

是否需要安装:❌ 不需要,装完 Claude Code 自动可用

这是 Anthropic 随 Claude Code 安装包一起打包的内置技能,每次会话自动加载,无需任何操作。代表性的捆绑 Skill 包括:

Skill 名称
作用
`/code-review`
代码审查
`/debug`
调试分析
`/batch`
批量任务处理
`/loop`
循环执行任务
`/claude-api`
Claude API 使用辅助

如果你需要关闭捆绑 Skill,可以在配置中设置 disableBundledSkills: true,但通常没有必要。

注意:Bundled Skills 与 Anthropic 在 GitHub 上开源的 Skills(github.com/anthropics/skills,如 docxpdfxlsx)是两回事。后者需要用户手动安装,见下文。

2)用户级 Skill(User-level)

目录~/.claude/skills/

是否需要安装:✅ 需要手动安装或创建

作用范围:你这台机器上的所有项目

这一层是你的「个人技能库」。无论你在哪个项目下启动 Claude Code,这里的 Skill 都会自动加载。适合放:

  • • 你个人惯用的写作风格规范
  • • 你常用的代码提交格式(如 Conventional Commits)
  • • Anthropic 开源的通用 Skill,如 docxpdfskill-creator

3)项目级 Skill(Project-level)

目录{项目根目录}/.claude/skills/

是否需要安装:✅ 需要手动安装或创建

作用范围仅当前项目,可提交到 Git 供团队共享

这一层是最强大的层级,优先级高于用户级(同名 Skill 以项目级为准)。把 {项目根目录}/.claude/skills/ 目录提交进 Git 仓库,团队所有成员 git pull 之后就自动拥有同一套 Skill,无需每人单独配置。适合放:

  • • 团队统一的代码风格规范
  • • 公司特定的报告模板
  • • 项目专属的业务领域知识

三个级别对比一览

层级
目录
需要安装
作用范围
优先级
适合场景
Bundled Skills
内置,无目录
❌ 自动可用
所有项目
最低
通用基础能力
用户级
`~/.claude/skills/`
本机所有项目
个人工作流
项目级
`{项目根目录}/.claude/skills/`
当前项目
最高
团队协作规范

同名 Skill 冲突时:项目级覆盖用户级,用户级覆盖 Bundled Skills。


三、Skills资源库和安装方法

查找公开可用的skills

官方渠道

  • • Anthropic 官方 GitHub:github.com/anthropics/skills,包含所有开源 Skill 的源码,是学习和参考的最佳资料
  • • Claude Code 内置插件浏览器:输入 /plugin → Discover 标签页,可以直接浏览和安装官方及社区 Skill
  • • 社区 Skill 市场:skills.sh,收录了大量社区贡献的 Skill

社区渠道

  • • GitHub 搜索 claude code skill SKILL.md
  • • Skill 以文件夹形式分发,核心就是一个 SKILL.md 文件,可以直接复制使用

安装skills方法

安装时需要选择作用域:装到用户级~/.claude/skills/)还是项目级{项目根目录}/.claude/skills/)。

方法一:通过 Claude Code 插件浏览器安装(最简单)

# 在 Claude Code 会话中输入/plugin# → 进入 Discover 标签页# → 找到想要的 Skill# → 按 Enter 安装# → 选择作用域:User(用户级)或 Project(项目级)

方法二:通过 npx 命令安装

# 安装 Anthropic 官方 Skill(以 docx 为例)npx skills add anthropics/skills --skill docx# 安装社区 Skillnpx skills add <作者>/<仓库名> --skill <skill名>;

方法三:手动复制安装

# 克隆官方仓库git clone https://github.com/anthropics/skills# 安装到用户级(本机所有项目可用)cp -r skills/docx ~/.claude/skills/docx/# 或安装到项目级(仅当前项目可用,可提交 Git)cp -r skills/docx {项目根目录}/.claude/skills/docx/

方法四:按照Skills作者发布的说明文档,他说怎么安装就怎么安装

安装完成后,Claude Code 会在下次会话中自动识别新 Skill,无需重启。


四、查看已安装的Skills

安装完成后,有三种方式可以查看当前可用的所有 Skills。

方式一:/skills 命令(最推荐)

在 Claude Code 会话中直接输入:

/skills

会列出所有可用的 Skills,包括 Bundled Skills 和你自己安装的 Skills,并显示各自的名称、描述和来源。这是目前社区最常用的查看方式。

方式二:/plugin 插件浏览器(可视化管理)

/plugin

进入插件浏览器后切换到「已安装」标签页,可以看到所有已安装的 Skill,并支持直接在界面中进行启用、禁用、删除等管理操作,比命令行更直观。

方式三:直接查看目录(最底层、最可靠)

# 查看用户级已安装的 Skills(本机所有项目可用)ls ~/.claude/skills/# 查看当前项目级已安装的 Skills(仅当前项目)ls {项目根目录}/.claude/skills/

这种方式绕过 Claude Code 直接看文件系统,在前两种方式出现异常时是最可靠的兜底手段。

三种方式对比

方式
命令
优点
适合场景
`/skills`
在 Claude Code 会话中输入
最直接,显示所有来源
日常查看
`/plugin`
在 Claude Code 会话中输入
可视化,支持管理操作
启用/禁用/删除管理
`ls` 目录
在终端中执行
最底层,不依赖 Claude Code
排查问题、确认文件是否存在

⚠️ 注意:目前 Claude Code 没有一个原生命令能一次性列出所有来源的 Skills(用户级 + 项目级 + Bundled Skills 三合一)。/skills 是目前最接近这个效果的方式,但如果你发现它在某个版本中不可用,ls 直接查看目录是最稳妥的备选方案。这个功能缺口已有开发者在 GitHub 提交了 Feature Request(Issue #12140),后续版本可能会完善。

五、调用Skills方法

自动触发(推荐)

Skills 的设计理念是自动感知、自动调用。你不需要显式说"用某个 Skill",只需要正常描述任务:

# 这句话会自动触发 docx skill"帮我写一份项目汇报,生成 Word 文档"# 这句话会自动触发 xlsx skill"把这份 CSV 数据清洗一下,整理成 Excel 表格"# 这句话会自动触发 pptx skill"做一个 10 页的产品介绍 PPT"

Claude 会读取你的意图,匹配最合适的 Skill,然后按照 Skill 里的规范来执行。

手动指定触发

当你想明确使用某个 Skill 时:

"请使用 pdf skill,帮我把这三个文件合并成一个 PDF""参考 skill-creator 的流程,帮我创建一个新的数据分析 Skill"

实际使用示例

示例 1:生成格式规范的 Word 文档

用户:帮我写一份 Q3 销售复盘报告,要有目录、数据图表说明、      结论和建议,生成 Word 文档,要能直接发给总监。Claude:(自动触发 docx skill)       [读取 SKILL.md 中的 Word 文档规范]       [按照标准模板生成带目录、标题层级、页码的 .docx 文件]

示例 2:批量处理 Excel

用户:这个 xlsx 文件里数据很乱,帮我:      1. 删掉空行      2. 统一日期格式为 YYYY-MM-DD      3. 新增一列计算利润率Claude:(自动触发 xlsx skill)       [按照 skill 中的最佳实践处理表格,输出规范的 .xlsx 文件]

六、制作自己的Skill

这才是重头戏。

公开 Skills 是通用的,但你的业务有它的特殊性——你需要自己风格的报告模板、你的代码规范、你的特定需求……这些都需要你自己动手创建专属 Skill。

1)选择用户制作skill的目录级别

根据使用场景选择创建位置:

~/.claude/skills/          ← 用户级:个人专属,本机所有项目可用    └── my-report/{项目根目录}/.claude/skills/  ← 项目级:团队共享,提交 Git 后所有人可用    └── my-report/

选择建议

  • • 只有自己用 → 创建在 ~/.claude/skills/
  • • 团队协作、需要统一规范 → 创建在项目根目录的 {项目根目录}/.claude/skills/

2)Skill 的目录结构

标准结构

# 用户级示例路径~/.claude/skills/my-skill/├── SKILL.md          ← 必须有,核心文件├── scripts/          ← 可选,可复用的脚本│   ├── __init__.py│   └── process.py├── references/       ← 可选,参考文档│   └── guide.md└── assets/           ← 可选,模板和资源文件    └── template.docx
# 项目级示例路径(在项目根目录下){项目根目录}/.claude/skills/my-skill/├── SKILL.md├── scripts/├── references/└── assets/

各文件格式详解

SKILL.md(核心,必须有)

这是整个 Skill 的「大脑」,分为两部分:

Part 1:YAML 前置元数据(文件最顶部)

---name: my-report-skilldescription: 用于生成公司标准季度报告的技能。当用户提到「季报」「季度汇报」             「Q报告」或需要生成符合公司规范的报告文档时,自动触发此技能。             包含标准模板、数据图表格式和审批流程说明。---

⚠️ 关键点description 最多 200 个字符,是触发机制的核心。Claude 根据这段描述判断「要不要用这个 Skill」。描述要写得具体、有场景感,而不是模糊的「处理报告」。name 最多 64 个字符。

Part 2:Markdown 正文(具体指令)

# 季度报告生成规范## 报告结构ALWAYS 使用以下模板结构:1. 封面(包含报告期、部门、日期)2. 执行摘要(不超过 300 字)3. 核心指标(表格形式)4. 详细分析(各业务线分拆)5. 问题与风险6. 下季度计划## 数据格式规范- 金额:万元为单位,保留两位小数- 增长率:百分比形式,如 +12.3%- 日期:YYYY年MM月DD日## 输出格式生成 .docx 文件,文件名格式:[部门]-[季度]-季报-[日期].docx
scripts/ 目录(可选)

放可复用的 Python 脚本,Claude 不需要每次都重新写相同的处理逻辑,直接调用脚本即可:

# scripts/format_data.pydef format_currency(value):    """将数字格式化为万元单位"""    return f"{value/10000:.2f}万元"def format_growth_rate(current, previous):    """计算并格式化增长率"""    rate = (current - previous) / previous * 100    prefix = "+" if rate > 0 else ""    return f"{prefix}{rate:.1f}%"

在 SKILL.md 中引用脚本时这样写:

## 执行脚本运行以下命令处理数据:bash scripts/format_data.py --input {input_file}
references/ 目录(可选)

放参考文档,比如业务知识、行业术语表、设计规范等。Claude 会在需要时按需读取,不会一次性全部加载。

# references/business-terms.md## 业务术语表- GMV:商品交易总额- DAU:日活跃用户数- LTV:用户生命周期价值- CAC:用户获取成本
assets/ 目录(可选)

放模板文件、图标、字体等静态资源。

assets/├── report-template.docx   ← Word 模板├── logo.png               ← 公司 Logo└── color-scheme.json      ← 品牌配色

3)完整创建示例:从零到一

以创建一个「竞品分析报告」Skill 为例,分用户级和项目级两种场景。

场景 A:创建用户级 Skill(个人使用)

Step 1:创建目录

mkdir -p ~/.claude/skills/competitor-analysis/mkdir -p ~/.claude/skills/competitor-analysis/scripts/mkdir -p ~/.claude/skills/competitor-analysis/references/

Step 2:写 SKILL.md

---name: competitor-analysisdescription: 生成竞品分析报告。当用户提到「竞品分析」「对标分析」「竞争对手研究」             「市场分析报告」或需要对比多个产品/公司时,使用此技能。---# 竞品分析报告规范## 报告标准结构### 必须包含的模块1. **概览**:分析背景、分析维度说明2. **竞品矩阵**:用表格对比所有维度3. **各维度深析**:逐项展开4. **SWOT 分析**:我方视角的优劣势5. **结论与建议**:可执行的行动项### 竞品对比维度(默认)| 维度 | 说明 ||---|---|| 产品定位 | 目标用户、核心价值主张 || 核心功能 | 主要功能列表及差异点 || 定价策略 | 价格档位、收费模式 || 用户口碑 | 评分、典型好评/差评 || 市场占有 | 估算市场份额、增长趋势 |## 写作风格- 客观中立,数据说话- 表格优先,减少大段文字- 结论要直接,不绕弯- 数据来源标注在脚注## 输出格式- 默认输出:Markdown 格式(方便二次编辑)- 如用户要求:生成 .docx 文件- 文件命名:competitor-analysis-[竞品名]-[日期].md## 参考资料如需行业分析框架,读取 references/frameworks.md

Step 3:写参考文档

# references/frameworks.md## 常用分析框架### 波特五力模型适用于行业竞争强度分析:1. 现有竞争者之间的竞争2. 潜在进入者的威胁3. 替代品的威胁4. 买家的议价能力5. 供应商的议价能力### 4P 营销框架- Product(产品)- Price(价格)- Place(渠道)- Promotion(推广)

Step 4:验证文件结构

# 检查目录结构是否正确ls -la ~/.claude/skills/competitor-analysis/# 预期输出:# SKILL.md# scripts/# references/

Step 5:测试是否生效

在 Claude Code 新开一个会话,输入:

帮我做一个微信和微博的竞品分析

如果 Claude 自动按照你的模板结构输出,Skill 已生效。也可以用 /skill-name 显式调用:

/competitor-analysis 帮我分析抖音和快手

场景 B:创建项目级 Skill(团队共享)

# 在项目根目录下操作cd {项目根目录}/mkdir -p {项目根目录}/.claude/skills/competitor-analysis/mkdir -p {项目根目录}/.claude/skills/competitor-analysis/references/# SKILL.md 内容与场景 A 完全相同,此处略# 提交到 Git,团队所有人共享git add {项目根目录}/.claude/skills/git commit -m "feat: add competitor-analysis skill for team"git push

团队其他成员 git pull 后,无需任何额外操作,Skill 自动生效。


4)使用 skill-creator 自动化创建 Skill

skill-creator 是 Anthropic 在 github.com/anthropics/skills 开源仓库中提供的元技能,需要先安装:

# 安装到用户级npx skills add anthropics/skills --skill skill-creator# 或通过 /plugin 浏览器安装,选择 User 或 Project 作用域

安装后,在 Claude Code 中直接描述你的需求:

帮我创建一个新的 Skill,用于处理我们公司的客服工单分析,需要:1. 自动分类工单类型2. 提取关键问题3. 生成每日汇总报告

skill-creator 会引导你经过以下流程:

捕获意图 → 访谈细化需求 → 起草 SKILL.md    ↓设计测试用例 → 运行测试 → 评估结果    ↓优化迭代 → 打包输出(.skill 文件)

创建完成后,根据需要选择存放位置:

# 个人使用mv ./new-skill ~/.claude/skills/new-skill/# 团队使用mv ./new-skill {项目根目录}/.claude/skills/new-skill/git add {项目根目录}/.claude/skills/git commit -m "feat: add new-skill"

七、常见问题与解决方案

❌ 问题 1:Skill 没有被自动触发

现象:明明安装了 Skill,但 Claude 没有使用它,而是凭经验乱做。

原因description 写得太模糊,Claude 无法匹配你的意图。

解决

# ❌ 错误示范:太模糊description: 处理报告相关任务# ✅ 正确示范:具体、有场景词description: 生成公司季度经营分析报告。当用户提到「季报」「季度复盘」             「经营分析」「Q1/Q2/Q3/Q4 报告」「给老板汇报」等关键词时,             必须使用此技能。包含数据格式规范、模板结构和输出要求。

原则:description 要像一个「关键词触发器」,把你能想到的用户说法都写进去。


❌ 问题 2:YAML 格式错误导致 Skill 加载失败

现象:Claude 提示无法读取 Skill,或者完全忽略 Skill 内容。

原因:YAML 前置元数据格式不对。

常见错误

# ❌ 错误:用了中文冒号name: my-skill# ❌ 错误:description 有多行但缩进不对description: 第一行第二行(没有缩进)# ✅ 正确:多行 description 用 | 或者缩进description: |  第一行说明  第二行说明,继续缩进对齐

检查工具

# 用 Python 验证 YAML 格式python3 -c "import yamlwith open('/mnt/skills/user/my-skill/SKILL.md', 'r') as f:    content = f.read()# 提取 YAML 部分yaml_part = content.split('---')[1]yaml.safe_load(yaml_part)print('YAML 格式正确')"

❌ 问题 3:Skill 触发了但输出质量很差

现象:Claude 用了 Skill,但没有严格按照你的规范执行。

原因:SKILL.md 正文写得太松散,或者说明不清晰。

解决

# ❌ 错误:指令太软## 建议的结构可以包含以下内容:执行摘要、数据分析、结论# ✅ 正确:用强制性语言 + 具体格式## 报告结构(必须严格按照此结构)ALWAYS 使用以下顺序,不得调整:1. 执行摘要(100-200字,第一段必须是核心结论)2. 核心指标(必须用表格,至少包含同比/环比数据)3. 原因分析(至少 3 条,每条不超过 100 字)4. 行动建议(不超过 5 条,每条必须可执行)

❌ 问题 4:scripts/ 目录里的脚本报错

现象:Claude 调用 Skill 内的脚本时报错,提示模块找不到。

原因:缺少 __init__.py 文件,或者脚本路径引用错误。

解决

# 确保每个 scripts/ 目录下都有 __init__.pytouch /mnt/skills/user/my-skill/scripts/__init__.py# 在 SKILL.md 中明确说明脚本路径# ✅ 正确的脚本引用方式## 使用脚本运行 scripts/process.py 来处理数据:bash scripts/process.py --input {input_file} --output {output_path}

❌ 问题 5:Skill 文件过大,响应变慢

现象:使用 Skill 时,Claude 反应明显变慢。

原因:SKILL.md 正文超过 500 行,或者把大量内容全塞进主文件。

解决:遵循「三层渐进加载」原则:

# ❌ 错误:把所有内容堆在 SKILL.mdSKILL.md(1000行)← 太臃肿# ✅ 正确:分层组织SKILL.md(< 500行,核心指令)    ↓ 按需读取references/detail-guide.md(详细规范)references/faq.md(常见问题)    ↓ 按需执行scripts/process.py(重复性处理逻辑)

在 SKILL.md 里加上明确的引用指引:

## 详细规范如果需要详细的数据处理说明,读取 references/detail-guide.md如果遇到错误情况,参考 references/faq.md

❌ 问题 6:description 优化后反而触发率降低

现象:修改了 description,但 Skill 触发变得更不稳定。

解决:使用 skill-creator 的 description 优化功能:

# 在 Claude Code 中python -m scripts.run_loop \  --eval-set evals/trigger-eval.json \  --skill-path /mnt/skills/user/my-skill \  --model claude-sonnet-4-6 \  --max-iterations 5

这会自动测试 20 个触发/不触发场景,找出最优的 description 写法。


八、制作最佳Skills的设计原则

理解设计哲学,才能创建出真正好用的 Skill。

原则一:渐进式披露(Progressive Disclosure)

Skills 采用三层加载机制:

第一层(始终在上下文中):name + description,约 100 词第二层(触发时加载):SKILL.md 正文,建议 < 500 行第三层(按需加载):references/ 和 scripts/,无大小限制

这意味着:只有真正需要的内容才会占用 AI 的注意力资源

原则二:解释「为什么」而不是只说「做什么」

# ❌ 糟糕的指令(只说做什么)ALWAYS 在数字后面加单位# ✅ 好的指令(说明为什么)数字后面要加单位(如「万元」「%」),因为读者可能来自不同部门,没有单位的数字在跨部门汇报中极易引发歧义,是最常见的低级失误之一。

当 Claude 理解了原因,它会在你没想到的边界情况下,也做出正确判断。

原则三:Skill 是给百万次调用设计的

每个 Skill 可能被调用几百次、几千次。所以写 Skill 时,要站在「通用性」角度,而不是针对某一个具体例子做优化。


Skills的进阶路线

新手路线└── 安装公开 Skill(docx/xlsx/pptx)└── 尝试基础文件任务└── 观察 Claude 如何自动触发进阶路线└── 参考 examples/ 目录学习 Skill 结构└── 创建第一个 User Skill└── 测试触发效果,优化 description高手路线└── 使用 skill-creator 系统化创建 Skill└── 运行 benchmark 测试,量化 Skill 效果└── 打包 .skill 文件,在社区内分享

技能库建好了,AI 就真的懂你的业务了。

这件事的价值,不在于省了几分钟,而在于:你把自己的经验,变成了可复用的系统资产


如果这篇文章对你有用,转发给同样在用 Claude Code 的朋友——有了 Skills,才算真正解锁了它的上限。

欢迎持续关注公众号,和Claude Code教程Claude Code命令手册

相关学习资料