讲透 Claude Code 系列 (四):Claude Skills 完全指南:可复用的“专业能力包”从入门到精通

Skills:可复用的 "专业能力包"

一、什么是 SKILL?

在深入具体的 SKILL 之前,这里还是啰嗦下 介绍SKILL 的本质。

本质理解

SKILL 不是代码库,不是插件,不是 API------它的本质是一套基于 Prompt 注入的动态上下文增强机制

简单来说:SKILL = 一个结构化的指令包,告诉 AI "遇到某种场景时,应该怎么做"

官方的定义是:一个文件夹。里面除了那份 SKILL.md,还可以放脚本、参考资料、数据文件、输出模板,Claude 能自己发现、探索和使用这些东西。

工作流程

当你安装一个 SKILL 后,实际发生的是:

  1. 启动扫描

    Claude Code 启动时,只读取所有 SKILL 的元数据(名称 + 简短描述),不加载完整内容

  2. 意图匹配

    当你发出请求,Claude 判断是否需要调用某个 SKILL

  3. 按需注入

    只有当 SKILL 被激活时,完整的 SKILL.md(可能是几百行指令)才会被注入到对话上下文

  4. 工具执行

    SKILL 声明的工具权限被预先批准,自动执行

与 Rules 的区别

概念 职责 比喻
Rules 管约束------"不能做什么" 做人的底线
Skills 管能力------"怎么做才好" 做事的方法-2

二、SKILL 的文件格式

一个五脏俱全的 skill 长什么样? 典型的目录结构是这样的:

复制代码
your-skill-name/
├── SKILL.md               # 唯一必需:何时用我 + 操作指引 + 坑点清单
├── references/            # 参考资料,正文放不下的细节放这里
│   ├── api.md             # 部署平台 API 的详细参数和示例
│   └── troubleshooting.md # 部署失败时的排查手册
├── scripts/               # 现成的可执行脚本
│   ├── smoke_test.sh      # 冒烟测试
│   └── rollback.sh        # 一键回滚
└── assets/                # 输出模板
    └── release_note.md    # 发布报告的固定格式

整个文件夹里只有 SKILL.md 是必需的:文件开头一段 frontmatter 写名字和 description,正文写操作指引。references/、scripts/、assets/ 都是可选的,连名字都不是强制的,按你的需要随便加。

一个最简单的 SKILL.md

复制代码
---
name: your-skill-name
description: 简要描述该 Skill 的功能和触发场景
---
# Skill 名称
## 功能说明
详细的分步操作指导...
## 使用示例
具体应用场景...
## 约束条件
必须遵守的规则...

.claude/skills/git-commit/SKILL.md

复制代码
---
name: git-commit
description: 当用户要创建 git commit 时使用。
---
# Git Commit 规范
你要遵守 Conventional Commits 规范:
格式:`<type>(<scope>): <subject>`
type 必须是:feat/fix/docs/style/refactor/test/chore
工作流程:
1. 跑`git status`看改动
2. 跑`git diff`看具体内容
3. 决定 type 和 scope
4. 写一句不超过 72 字符的 subject
5. 跑`git add`和`git commit`
不要:
- 不要写"update code"这种废话 subject
- 不要在 subject 末尾加句号

它怎么被触发?

Claude 启动时把所有 SKILL.md 的 frontmatter(只取每个 skill 的名字和 description)加进上下文,拼成一张清单注入 context。Claude 平时看到的就只有这张「目录页」。等它判断某个任务匹配上了某个 skill,才会发起调用,这时候 SKILL.md 的全文才被加载进对话。

这套机制有个专门的名字,叫渐进式披露(Progressive Disclosure):平时只给目录,用到了才给正文。

重点:Skill 不是默认加载,是按需加载。所以你可以放几十个 skill 不浪费上下文。

明白了这个机制,「为什么不触发」的答案就浮出来了:Claude 决定用不用你的 skill,唯一的依据就是那一行 description

这就是官方在博客里专门强调的一条:description 不是写给人看的摘要,是写给模型看的触发条件。「帮助处理数据库相关工作」这种写法就是典型的人类视角摘要;模型视角的写法是「当用户要写数据库迁移、修改表结构、或者遇到 migration 报错时使用」。

官方观察下来,内部效果最好的那批 skill,恰恰都是把文件夹结构和配置项用足了的。只写一份 markdown 的 skill,相当于只用了这个机制十分之一的能力。

skill 是文件夹,不是文件。这是用好它的第一步。

Skill 的关键 frontmatter

复制代码
---
name:唯一标识(kebab-case,且必须和所在目录同名)
description:触发条件(写给 Claude 看;最重要的字段)
allowed-tools:Read, Grep, Bash# 注意是连字符不是下划线
disable-model-invocation:false# true 表示只能/skill-name显式调用
context: fork   # 关键配置:让Skill在子Agent中运行。独立上下文减少token消耗
agent: Explore  # 指定子Agent的类型
---

字段名陷阱:官方字段名是 allowed-tools(kebab-case),不是 allowed_tools(snake_case)。值可以写成逗号分隔字符串("Read, Edit")或 YAML 列表。namedescription 是仅有的两个必填字段,其他可省略。

如果只想被 Claude 自动判断时调用、不想暴露成 /xxx 命令,加 disable-model-invocation: true

带支持文件的 Skill

skill 可以是个文件夹,包含示例、模板:

复制代码
.claude/skills/api-handler/
├─ SKILL.md
├─ template.ts
└─ examples/
  ├─ good.ts
  └─ bad.ts

SKILL.md 里引用:

复制代码
模板见 @template.ts,好例子见 @examples/good.ts

Skill vs CLAUDE.md

| 维度 | CLAUDE.md | Skill |
| 加载 | 永远在上下文 | 按需加载 |
| 内容 | 通用约定 | 专业操作步骤 |
| 适合 | "全局规则" | "做某类事的标准流程" |

大小 控制在 200 行 可以很大,反正按需加

经验:把通用约定留在 CLAUDE.md,复杂的、有详细步骤的、可能很长的操作搬到 Skills。这是省 token 的核心打法。

在 Subagent 中预加载 Skill

复制代码
# subagent frontmatter
skills: [git-commit,api-handler]

让该 subagent 启动时直接加载这些 skill,不用临时触发。

内置 Skills

Claude Code 自带一些常用 skill:写文档、做 PR、搜代码库等。/skills 查看。


三、安装 SKILL 的方法

方法一:使用 CLI 工具(推荐)

复制代码
# 安装 CLI 工具
npm install -g claude-skills-cli
# 安装指定 SKILL 到 Claude Code
claude-skills install <skill-name> --client claude-code

例如:claude-skills install frontend-design --client claude-code

方法二:使用 npx(免安装)

复制代码
npx claude-skills install <skill-name> --client claude-code

方法三:手动 Git Clone

复制代码
git clone <skill-repo-url>
mkdir -p ~/.claude/skills
cp -r skill-folder/* ~/.claude/skills/

验证安装

复制代码
# 列出所有已安装的 SKILL
claude-skills list

Skill 的存放位置

Skills 可以放在不同位置,生效范围不一样-1

存储位置 路径 适用范围
个人 ~/.claude/skills/ ~/.agents/skills 当前用户的所有项目
项目 .claude/skills/ 仅当前代码库
企业 企业托管路径 整个组织

如果同名,优先级是企业 > 个人 > 项目

相关推荐
阿里云大数据AI技术1 小时前
Hologres:一站式 Agentic 多模态检索分析平台
人工智能
回眸&啤酒鸭2 小时前
【回眸】AI新鲜事——百度 AI 搜索实战应用场景与落地
人工智能·百度
Crazy_MT2 小时前
Flutter 本地大模型实战:做一个自然语言记账工具
flutter·llm·ai编程
jsl_jsl_jsl2 小时前
《Agent 的记忆怎么做:实时记忆、被动压缩与主动整理的三层设计》
人工智能
小七-七牛开发者2 小时前
谷歌利用果蝇实现“AI 突围”?Cognition 再融 20 亿美元;AI 三巨头集体呼吁放慢脚步
ai·agent·token·skill·周一上线
全栈弄潮儿2 小时前
用 AI 拆一个真实需求:从模糊描述到开发任务清单
aigc·openai·ai编程
林浩杨_2 小时前
SIGIR 2026|南京大学:Video-GAR:“通过生成 Query 来验证视频语义理解”的生成增强范式
论文阅读·人工智能·算法
speop2 小时前
Hello-Agents | Task00 环境配置
人工智能
7177772 小时前
基于 Gitee 的软件成分分析(SCA)工具选型与集成参考
人工智能·gitee