Claude Code Skill的介绍与使用
Claude Skill
1. 概念介绍
1.1 什么是 Skill?
简单来说,Skill 就是 Claude Code 的专业技能包。Claude 自带了一些内置 Skill(如代码审查、安全检查),你也可以创建自己的自定义 Skill(如文档格式化),或者安装别人通过插件分享的 Skill。
你可以把它想象成手机上的"快捷指令"或者游戏里角色的"技能栏"——平时你和 Claude 对话是普通的聊天,而当你输入 /skill名称,或者用自然语言描述你的需求时,Claude 就会按照预设的流程去执行特定任务。
举个例子,同样是对代码审查的需求,有三种不同的方式:
- 普通对话:你说"这段代码有什么问题吗",Claude 凭经验给出一些泛泛的建议
- 手动触发 Skill:你输入
/review,Claude 按照标准化审查流程,系统地检查代码质量、安全问题、潜在 bug 等 - 自动触发 Skill:你说"帮我做一下安全检查",Claude 识别到这句话匹配了
security-review的描述,自动启动安全审查流程——你不需要记得具体的命令名称
1.2 Skill 的作用
Skill 解决了几个痛点:
- 提高效率:不用每次都写一大堆提示词,一个命令搞定
- 结果一致:每次执行相同的 skill,走的是同一套流程,结果更可预期
- 专业聚焦:每个 skill 只做一件事,效果比泛泛的对话要好
- 可复用:一次配置,反复使用
- 个性化定制:内置 Skill 覆盖通用场景,但每个项目都有独特需求。自定义 Skill 让你能把项目专属的工作流固化下来(比如团队的文档格式规范、特定的部署检查流程),无需每次重新描述
1.3 内置 Skill 与自定义 Skill
Claude Code 的 Skill 有三种来源:
| 来源 | 说明 | 典型用途 |
|---|---|---|
| 内置 Skill | 程序自带,开箱即用,共 9 个 | 代码审查、安全检查、项目初始化等通用场景 |
| 自定义 Skill | 自己编写,放在 ~/.claude/skills/ 或 .claude/skills/ |
团队专属工作流、个人常用任务 |
| 插件 Skill | 通过 /plugin install 安装别人写好的 Skill |
社区共享的专业技能(如文档处理、数据转换等) |
三者的使用方式完全一样——都是输入 /skill名称 来调用。区别只在于来源和安装方式。内置 Skill 覆盖了常见开发场景(详见附录速查表),但实际开发中,你很可能会需要针对自己项目特点的专属 Skill,这时候自定义 Skill 就派上用场了。
具体如何创建自定义 Skill,见 2.3 如何安装/创建自定义 Skill;GitHub 开源 Skill 项目的详细介绍,见 4. 笔者用到的 GitHub 开源 Skill 项目。
2. 上手指南
2.1 如何查看已安装的 Skill
最简单的方式:在 Claude Code 中输入 /help,可以查看所有可用的命令和 skill。
另外,在每次对话的开头,Claude 也会收到系统提示,列出当前可用的 skill。比如本次对话中:
以下技能可供使用: |
- update-config: 通过 settings.json 配置 Claude Code |
- keybindings-help: 自定义键盘快捷键 |
- simplify: 审查代码质量并优化 |
- loop: 定时/循环执行任务 |
- claude-api: 构建、调试和优化 Claude API 应用 |
- init: 初始化 CLAUDE.md 文件 |
- review: 审查 Pull Request |
- security-review: 安全审查 |
- fewer-permission-prompts: 减少权限提示 |
2.2 如何使用 Skill
基本语法:直接输入 / 加上 Skill 名称
/review |
/simplify |
/claude-api |
带参数使用:有些 Skill 支持传入参数
/loop 5m /review # 每 5 分钟执行一次 review |
实际操作示例:
假设你想对当前代码进行安全审查:
你:/security-review |
Claude:(启动安全审查流程,检查当前分支的所有待提交更改) |
又比如你想看看代码能不能优化:
你:/simplify |
Claude:(审查代码的复用性、质量和效率,然后自动修复发现的问题) |
自定义 Skill 的调用方式和内置完全一样。比如本项目中有一个 document-format-skills:
你:/document-format-skills |
Claude:(识别到这是一个文档格式处理技能,按照预设流程处理 .docx 文件) |
就这么简单,不需要写复杂的提示词,一个斜杠命令就够了。
自动触发:除了手动输入斜杠命令,Claude 还会根据你的对话内容自动识别并调用 Skill。
原理是 Claude 将你说的话与每个 Skill 的 description 做匹配——匹配上就会自动调用,不需要你手动输入 /skill名称。例如:
你:帮我检查一下代码有没有安全问题 |
Claude:(识别到需求匹配 security-review 的 description,自动触发安全审查流程) |
你:这份文档格式太乱了,帮我整理一下 |
Claude:(识别到需求匹配 document-format-skills 的 description,自动触发文档格式化) |
几个要点:
- 自动触发是 Claude 基于语言理解的判断,不是精确的关键词匹配,所以偶尔可能匹配不上或误触发
- 如果你确定要用某个 Skill,手动输入
/skill名称更精确可靠 description写得越好(明确描述触发条件),自动触发的准确率越高- 将
user-invocable设为false的 Skill 不会出现在斜杠菜单中,只能通过自动触发调用
2.3 如何安装/创建自定义 Skill
Skill 存放位置
自定义 Skill 放在两个位置之一:
| 级别 | 目录 | 说明 |
|---|---|---|
| 全局 | ~/.claude/skills/ |
所有项目都能用 |
| 项目级 | 项目根目录下 .claude/skills/ |
只有当前项目能用 |
创建一个自定义 Skill(三步走)
第 1 步:建目录
在 ~/.claude/skills/ 下新建一个文件夹,名字用小写字母加连字符(如 my-test):
~/.claude/skills/ |
└── my-test/ |
第 2 步:写 SKILL.md
在 my-test/ 目录下创建 SKILL.md,格式如下:
--- |
name: my-test |
description: This skill should be used when the user asks to "测试一下" or "检查某功能". |
--- |
# 测试 Skill |
1. 读取当前目录下的所有 `.py` 文件 |
2. 统计每个文件的行数 |
3. 输出一份汇总报告 |
就这么简单——YAML frontmatter 写上名称和触发描述,Markdown body 写具体要执行的步骤。
第 3 步:保存即生效
Claude Code 会自动扫描 ~/.claude/skills/ 和 .claude/skills/ 目录,保存后无需重启,热重载立即生效。输入 /my-test 就能调用。
Frontmatter 常用字段说明
| 字段 | 必需 | 说明 |
|---|---|---|
name |
是 | Skill 名称,用小写字母+连字符 |
description |
是 | 触发条件,写"什么时候该用这个 skill" |
version |
否 | 版本号 |
model |
否 | 指定模型(sonnet/opus/haiku) |
allowed-tools |
否 | 限定可用的工具,如 Read, Write, Bash(git:*) |
argument-hint |
否 | 参数提示,如 [file-path] |
user-invocable |
否 | 是否出现在斜杠菜单中(默认 true) |
写 description 的技巧:用第三人称写触发条件,比如 "This skill should be used when the user asks to '做某事'"。Claude 就是靠这个 description 来判断何时触发你的 Skill。
通过插件安装 Skill
除了自己写,还可以通过插件安装现成的 Skill:
/plugin install <插件名> |
插件中包含的 Skill 会自动被识别,输入 /skills 就能看到。
3. 进阶内容
3.1 Skill 的触发机制
Skill 有两种触发方式:
更多推荐


所有评论(0)