主题
08.1 Skill 是什么与三层加载模型
Skill 让你把重复的流程固化成 Claude 能按需调用的能力,且平时几乎不占上下文。
读完你能做什么:理解 Skill 的渐进式加载模型,判断什么该做成 Skill。
一、Skill 是什么
一句话:Skill 是一段写在 SKILL.md 里的指令,Claude 在相关时自动调用,或你用 /技能名 手动触发。
text
你反复粘贴的一段"上线前检查清单"
→ 做成 Skill
→ 以后说 /release-check,或 Claude 判断到你要上线时自动用Skill 遵循 Agent Skills 开放标准,跨多个 AI 工具通用。Claude Code 在标准之上加了额外特性(调用控制、子代理执行等)。
1.1 Skill 和自定义命令的关系
自定义命令已经合并进 Skill。 历史上的 .claude/commands/deploy.md 和现在的 .claude/skills/deploy/SKILL.md 都能创建 /deploy,效果一样。旧的 commands/ 文件仍然可用,但 Skill 多了几个能力:
- 可以带一个目录放支持文件(脚本、参考文档、模板)
- 用 frontmatter 控制"谁能调用"
- Claude 可以在相关时自动加载它
二、渐进式披露:Skill 的核心设计
Skill 最重要的特性是渐进式披露(Progressive Disclosure) —— 内容分层加载,不用时几乎零成本。
text
┌─────────────────────────────────────────────┐
│ 第 1 层:name + description │ ← 始终在上下文
│ 几十个 token。Claude 靠它决定要不要用这个技能 │
├─────────────────────────────────────────────┤
│ 第 2 层:SKILL.md 正文 │ ← 触发时才加载
│ 技能被调用时,正文进入上下文 │
├─────────────────────────────────────────────┤
│ 第 3 层:技能目录下的其他文件 │ ← Claude 需要时才读
│ 脚本、参考文档、模板 —— 按需用工具读取 │
└─────────────────────────────────────────────┘2.1 为什么这个设计重要
对比 CLAUDE.md:
| CLAUDE.md | Skill | |
|---|---|---|
| 加载时机 | 每次会话全量 | 只在被调用时 |
| 长内容的成本 | 每次都付 | 平时几乎零 |
| 适合 | 短小的常驻事实 | 长的、偶尔用的流程 |
关键推论:一份 2000 行的详细流程,写进 CLAUDE.md 会让每次会话都背上这个包袱;做成 Skill,只在真正需要那个流程时才加载 —— 长参考材料在用到之前几乎不花钱。
官方的建议:当你发现自己在反复粘贴同样的指令、清单或多步流程,或者 CLAUDE.md 里某一段已经长成一个"流程"而非"事实"时,就该把它变成 Skill。
三、一个最简 Skill
目录结构:
text
.claude/skills/
└── release-check/
└── SKILL.mdSKILL.md:
markdown
---
name: release-check
description: 上线前的标准检查流程。当用户准备发布、部署或说"要上线了"时使用。
---
# 上线前检查
依次执行,每项给出通过/不通过:
1. 所有测试通过:`npm test`
2. 类型检查无错误:`npm run typecheck`
3. 没有遗留的 console.log / debugger:`grep -rn "console.log\|debugger" src/`
4. CHANGELOG 已更新(对比 git log 和 CHANGELOG.md)
5. 版本号已 bump(package.json)
6. 没有未提交的改动:`git status`
任何一项不通过,明确指出并停下来,不要继续。全部通过才报告"可以发布"。用法:
text
> /release-check
# 或者你说"我准备发版了",Claude 可能自动调用它四、Skill 在不同环境
Skill 在 Claude Code 和 CoWork 里都能用:
| 环境 | Skill 来源 |
|---|---|
| Claude Code | .claude/skills/(项目)、~/.claude/skills/(用户)、插件 |
| CoWork | 内置技能(docx/pptx/xlsx/pdf 等)、用户技能、插件 |
CoWork 的文档生成技能(docx、pptx、xlsx、pdf)就是 Skill 的典型应用 —— 它们封装了"如何生成专业文档"的复杂流程。见 09.3。
五、查看和管理 Skill
text
> /skills 列出可用技能
(按 t 按 token 排序,Space 切换可见性)
> /reload-skills 改了技能文件后重新扫描,不用重启六、什么该做成 Skill
6.1 判断标准
text
它是"事实"还是"流程"?
├─ 事实(每次都要遵守)→ CLAUDE.md
└─ 流程(多步、有条件)→ Skill
│
└─ 它平时用得多吗?
├─ 每次都用 → 也可以放 CLAUDE.md
└─ 偶尔用、但内容长 → Skill(渐进式披露省上下文)6.2 典型的 Skill 场景
| 场景 | 例子 |
|---|---|
| 多步检查流程 | 上线检查、代码审查清单、安全审计 |
| 需要参考大量资料的任务 | "按我们的 API 规范设计接口"(规范文档很长) |
| 固定的生成流程 | 生成某种格式的报告、文档 |
| 带脚本的操作 | 需要跑特定脚本处理数据 |
| 领域专项工作法 | "用我们团队的方式写 SQL 迁移" |
6.3 不该做成 Skill
| 场景 | 更好的选择 |
|---|---|
| 每次都必须遵守的短规则 | CLAUDE.md |
| 需要新的工具能力 | MCP server |
| 只是一段静态参考资料 | 直接放文件让它读 |
| 一次性的任务 | 直接说 |
完整决策矩阵见 08.5 四种扩展机制怎么选。
七、Skill 的价值:从个人经验到可复用资产
Skill 最深的价值在于沉淀:
text
你摸索出一套"如何在这个项目里安全地做数据库迁移"的流程
→ 每次都口头解释 = 每次都消耗你的时间,且容易漏
→ 做成 Skill = 写一次,之后 Claude 每次都按标准执行
→ 提交到 git = 全团队共享这套标准
→ 打包成 Plugin = 跨项目、跨团队分发这条"个人经验 → Skill → 团队标准 → 插件"的路径,是本手册后半部分的主线。见 10.2 团队标准化配置。