Skip to content

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.mdSkill
加载时机每次会话全量只在被调用时
长内容的成本每次都付平时几乎零
适合短小的常驻事实长的、偶尔用的流程

关键推论:一份 2000 行的详细流程,写进 CLAUDE.md 会让每次会话都背上这个包袱;做成 Skill,只在真正需要那个流程时才加载 —— 长参考材料在用到之前几乎不花钱。

官方的建议:当你发现自己在反复粘贴同样的指令、清单或多步流程,或者 CLAUDE.md 里某一段已经长成一个"流程"而非"事实"时,就该把它变成 Skill。


三、一个最简 Skill

目录结构:

text
.claude/skills/
└── release-check/
    └── SKILL.md

SKILL.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 团队标准化配置


延伸阅读

基于 VitePress 构建 · 内容采用原作者授权