Skills 上篇:从安装到日常使用 ------ 让 AI 学会你的工作流
如果说 CLAUDE.md 是告诉 AI "不要做什么",那 Skills 就是告诉 AI "怎么做才对"。它把重复的提示词打包成可复用的工作流------下次 AI 遇到同类任务,不用你再说一遍。
什么是 Skill:不是功能,是工作流的外挂
一个场景理解 Skill
你每次让 Claude Code 做 Code Review 时,都要说一遍:
"帮我 review 这段代码,重点检查:SQL 注入、XSS 漏洞、错误处理是否完整、类型标注是否有遗漏。不要管格式问题,格式交给 Prettier。如果有安全问题标 🔴,性能问题标 🟡,风格问题标 🟢。"
这段话你重复了 20 遍。每遍都要打一遍,或者回去翻聊天记录复制。
Skill 就是把这 20 遍的话变成一个 /review 命令。 下次输入 /review,AI 自动加载你的 review 标准,按你的规则来。
没有 Skill 有 Skill
────────── ────────
每次都要重复提示词 /review 一次搞定
不同会话标准不一致 标准固化在 Skill 文件里
新人不知道 review 什么 团队共享同一个 Skill
AI 可能漏掉检查项 Checklist 保证覆盖
Skill 的本质
Skill = 一段自动注入到 AI 上下文里的提示词 + 可选的执行步骤(Checklist)
┌─────────────────────────────────────────────┐
│ Skill: code-review │
│ │
│ metadata: │
│ 描述: 代码审查工作流 │
│ 触发: 用户输入 /review 或提到"审查" │
│ │
│ SKILL.md: │
│ "你是资深代码审查员。按以下清单审查..." │
│ │
│ checklist: │
│ □ 安全检查(SQL注入/XSS/密钥泄露) │
│ □ 错误处理是否完整 │
│ □ 类型标注是否有遗漏 │
│ □ 是否有明显的性能问题 │
│ │
│ references: │
│ security-checklist.md (详细安全规则) │
│ style-guide.md (团队代码风格) │
└─────────────────────────────────────────────┘
Skill 的四种触发方式
你不需要每次都手动 /skill-name。Skill 支持四种触发方式,越用越顺手:
方式一:手动触发
/skill-name
/review
/deploy
明确、直接。适合低频操作或明确知道自己要什么。
方式二:自动匹配
当你说的话匹配到 Skill 的 trigger 描述时,AI 自动加载这个 Skill。
你: "帮我 review 一下这段代码"
→ AI 匹配到 code-review Skill,自动加载
你: "这段代码能合并了吗"
→ AI 匹配到 code-review Skill(因为描述里包含"代码审查"场景)
不需要记 / 命令,自然语言就触发。
方式三:级联调用
一个 Skill 可以调用另一个 Skill。
你: "/deploy"
→ deploy Skill 启动
→ deploy Skill 的 checklist 里写着"部署前先 /review"
→ deploy Skill 自动调用 code-review Skill
这意味着你可以把简单 Skill 组合成复杂工作流,就像搭积木。
方式四:Hook 触发(进阶)
结合 Hooks 系统,在特定事件发生时自动调用 Skill。
PreToolUse Hook → AI 即将编辑文件
→ 自动加载 code-review Skill
→ 先检查再编辑
(Hook 的详细用法见第 12-13 篇)
三种安装方式:从 Marketplace 到自己的手写
方式一:从 Claude Code Registry 安装(最推荐)
Claude Code 内置了 Skill 市场,一条命令就能装:
bash
# 搜索 Skill
claude mcp search code-review
# 安装 Skill
claude skill install code-review
# 查看已安装的 Skill
claude skill list
安装后 Skill 出现在 ~/.claude/skills/ 目录,所有项目都能用。
方式二:从 GitHub 克隆(社区 Skill)
很多优质 Skill 还没上 Registry,但在 GitHub 上开源:
bash
# 克隆到用户级 Skill 目录
git clone https://github.com/user/skill-name ~/.claude/skills/skill-name
# 或者项目级(只在这个项目生效)
git clone https://github.com/user/skill-name .claude/skills/skill-name
方式三:自己创建(第 5 篇详解)
bash
# 创建 Skill 目录结构
mkdir -p .claude/skills/my-skill
# 两个核心文件
.claude/skills/my-skill/
├── metadata.yml # Skill 描述、触发条件
└── SKILL.md # Skill 内容(提示词 + Checklist)
创建自己的 Skill 是第 5 篇的核心内容。
安装位置的选择
| 位置 | 路径 | 作用域 | 适用场景 |
|---|---|---|---|
| 用户级 | ~/.claude/skills/ |
所有项目 | 通用 Skill(code-review、security-scan 等) |
| 项目级 | .claude/skills/ |
当前项目 | 项目专用 Skill(deploy、风格检查等) |
| 插件级 | Plugin 自带 | Plugin 作用域 | 通过 Plugin 分发 |
建议:通用 Skill 装用户级,项目专用 Skill 装项目级。项目级优先级高于用户级。
10 个必装 Skill 实测推荐
以下每个 Skill 都经过实际项目验证。标注了"解决什么问题"、"适合什么场景"、"使用前后对比"。
1. code-review
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 标准化代码审查流程,不再每次重复说"帮我 review" |
| 适合场景 | 每次提交前、PR Review 辅助、新人代码把关 |
| 安装方式 | Registry:claude skill install code-review |
| 使用前 | 每次手打 review 标准,容易漏项 |
| 使用后 | /review 一键审查,按 🔴🟡🟢 输出,覆盖率从 60% → 95% |
2. security-scan
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 自动检测 SQL 注入、XSS、硬编码密钥、不安全依赖 |
| 适合场景 | 每次代码生成后、上线前的安全检查 |
| 安装方式 | GitHub:anthropics/skills/security-scan |
| 使用前 | 靠肉眼找安全问题 → 经常漏 |
| 使用后 | 自动扫描 12 类安全问题,漏检率接近 0 |
3. test-gen
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 自动为函数生成测试用例(happy path + 异常 + 边界值) |
| 适合场景 | 写完函数后立即生成测试,TDD 工作流 |
| 安装方式 | Registry:claude skill install test-gen |
| 使用前 | 手写测试 → 容易只写 happy path |
| 使用后 | 自动覆盖三种 case,测试覆盖率从 40% → 80%+ |
4. refactor
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 安全地重构代码,保持功能不变的前提下改善结构 |
| 适合场景 | 提取函数、简化条件、消除重复 |
| 安装方式 | GitHub:anthropics/skills/refactor |
| 使用前 | 重构完心里没底,怕改出 bug |
| 使用后 | 先跑测试→重构→再跑测试,一步到位 |
5. deploy
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 一键部署:构建 → 测试 → 部署 → 健康检查 → 回滚预案 |
| 适合场景 | 日常部署、紧急修复上线 |
| 安装方式 | GitHub:自己维护(每个项目部署流程不同) |
| 使用前 | 部署步骤多,容易漏掉 checklist |
| 使用后 | /deploy 自动走完 5 步流程,漏步骤概率为 0 |
6. prd-to-tasks
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 把产品需求文档拆成可执行的任务列表 |
| 适合场景 | 拿到 PRD 后,生成给 AI 执行的任务拆分 |
| 安装方式 | GitHub:community/prd-to-tasks |
| 使用前 | 拿到 PRD 不知道从哪里开始 |
| 使用后 | 自动拆成 5-15 个独立 Task,每个 Task 可直接交给 AI |
7. debug
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 结构化排查 Bug:复现→定位→修复→验证→归因 |
| 适合场景 | 遇到 Bug 时不再盲目尝试,系统性地排查 |
| 安装方式 | Registry:claude skill install debug |
| 使用前 | 乱试修复方案,修好也不知道根因 |
| 使用后 | 按流程排查,修完有归因记录 |
8. onboarding
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 自动生成项目入门指南:如何运行、核心架构、关键文件 |
| 适合场景 | 新人加入项目、接手别人的项目 |
| 安装方式 | Registry:claude skill install onboarding |
| 使用前 | 新人要问三天才能跑通项目 |
| 使用后 | 自动生成上手文档,30 分钟内能跑通 |
9. changelog
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 根据 Git 提交自动生成 Changelog |
| 适合场景 | 发版时写 Release Notes |
| 安装方式 | GitHub:community/changelog |
| 使用前 | 翻 commit 历史,手动总结 |
| 使用后 | 按 feat/fix/refactor 分类输出,格式统一 |
10. api-design
| 维度 | 说明 |
|---|---|
| 解决什么问题 | 设计 REST API 时检查命名、版本、错误码是否规范 |
| 适合场景 | 新增 API 端点时、API Review 时 |
| 安装方式 | GitHub:自己维护(每个公司 API 规范不同) |
| 使用前 | API 风格不统一,不同人写的接口不一致 |
| 使用后 | 自动检查并给出修改建议,风格统一 |
如何判断一个 Skill 是否适合自己
不是所有热门 Skill 都适合你。一个完整的 Skill 判断框架:
四看原则
一看描述(description)
↓
"这个 Skill 解决的是我现在遇到的问题吗?"
如果不是 → 跳过。不要因为热门就装。
二看 checklist(如果有)
↓
"它做的事我能自己说清楚吗?"
如果 checklist 里的项你都能自己说出来 → Skill 对你是锦上添花
如果你说不全 → Skill 对你是雪中送炭
三看触发条件
↓
"我实际场景中 AI 会自动触发它吗?"
手动触发的 Skill 容易忘记用。自动触发的 Skill 价值更大。
四看依赖
↓
"它依赖额外的 MCP Server 或其他 Skill 吗?"
依赖太多 → 维护成本高。优先选独立 Skill。
Skill 的"使用感"评估
装了一个 Skill 一周后,问自己三个问题:
□ 我这一周真的触发过它吗?
→ 如果一次没用过,要么场景不存在,要么触发条件设错了
□ 它的输出我直接用了还是改了?
→ 如果每次都大改,Skill 的标准跟你的标准对不齐
□ 有它和没它,我的效率提升了多少?
→ 如果感觉不明显,这个 Skill 可能不值得保留
Skill 的三级渐进加载:为什么这样设计
一个关键问题:为什么 Skill 要分 metadata → SKILL.md → references 三层,而不是一个文件搞定?
核心原因:节省 Token
假设你装了 15 个 Skill,每个 Skill 平均 3000 Token
如果每次会话全部加载:
15 × 3000 = 45000 Token → 还没写代码,上下文已经吃满了
三级渐进加载:
第一级(metadata 级)→ 只加载 Skill 名称 + 描述 + 触发条件
≈ 15 × 80 = 1200 Token
↓
第二级(SKILL.md 级)→ 触发时才加载完整 Skill 内容
≈ 1 × 3000 = 3000 Token
↓
第三级(references 级)→ 需要时才加载引用的补充文件
≈ 按需加载
三级结构详解
第一级:metadata(总是加载)
───────────────
name: code-review
description: 标准化代码审查
trigger: /review, "审查", "review"
依赖: 无
Token 开销: ~80 Token/Skill
↓ 被触发后加载
第二级:SKILL.md(触发 Skill 时加载)
────────────
# code-review Skill
你是代码审查专家。按以下清单审查代码:
## Checklist
□ 安全检查...
□ 错误处理...
□ 性能...
□ 可读性...
Token 开销: ~3000 Token
↓ 需要补充信息时加载
第三级:references/(按需加载)
────────────
security-checklist.md → 只在检查安全时加载
style-guide.md → 只在检查风格时加载
performance-guide.md → 只在检查性能时加载
Token 开销: 每个文件按需,通常 500-2000 Token
关键理解:一个装了 15 个 Skill 的 Claude Code 启动时,Skill 的开销只有 ~1200 Token(metadata 层)。只有当你实际触发一个 Skill 时,它的完整内容才进入上下文。这就是为什么你可以大胆装 Skill------不触发的 Skill 几乎不影响上下文。
常见问题
Q:装了 Skill 但 AI 好像没触发?
A:检查三个东西:
- Skill 的
trigger描述是否足够具体,太模糊了 AI 判断不了 - 你说的话里真的包含了触发关键词吗
claude skill list确认 Skill 是否已启用
Q:Skill 和 CLAUDE.md 里的规则会冲突吗?
A:优先级:Skill > CLAUDE.md。如果 Skill 的指令和 CLAUDE.md 的规则矛盾,Skill 里的指令生效。所以要确保它们一致。
Q:能同时加载多个 Skill 吗?
A:可以。Claude Code 会自动管理上下文,按优先级加载当前需要的 Skill。但你也不用手动管理,它自己会判断。