你是否厌倦了每次都要重复输入一长串指令?是否想让 AI 记住你的工作习惯?Skills 就是答案。这篇文章将手把手教你打造属于自己的 AI 技能包,让 Claude Code 真正变成「你的」助手。

Skills(技能) 是 Claude Code 的「快捷方式」—— 你只需定义一次,以后用 /技能名 就能一键触发。
没有 Skills: 每次代码审查都要输入一大段需求说明,每次部署都要手动输入五个步骤。
有了 Skills: 输入 /deploy,Claude 自动按照你的预设流程执行。

价值 | 说明 |
|---|---|
效率 | 一次定义,反复使用,告别重复劳动 |
智能 | Claude 可以根据上下文自动触发合适的技能 |
定制 | 完全按照你的工作流打造,独一无二 |
Skills 存放在 .claude/skills/ 目录下,每个技能一个文件夹:
your-project/
└── .claude/
└── skills/
└── my-first-skill/ ← 技能文件夹
└── SKILL.md ← 核心指令文件(必须)

SKILL.md 是一个带 YAML 头信息的 Markdown 文件,由两部分组成:
下面是一个真实的例子:
---
name:code-review
description:对代码进行全面审查,包含安全性和质量检查
allowed-tools:ReadGrepGlobBash(git*)
---
# 代码审查清单
## 安全审查
-检查SQL注入漏洞
-验证输入数据的合法性
-确保输出编码安全
-审查认证和授权逻辑
## 代码质量
-检查代码重复
-验证命名规范一致性
-确保适当的错误处理
-审查关键区域的测试覆盖
## 性能
-寻找低效算法
-检查不必要的数据库查询
-验证缓存策略是否合理
请给出具体的改进建议,包含文件位置和行号。

保存文件后,在 Claude Code 中直接输入:
/code-review
Claude 就会按照你定义的审查清单,自动对代码进行全方位检查!
Frontmatter 是 Skill 的「控制面板」。以下是最常用的配置项:

配置项 | 作用 | 示例 |
|---|---|---|
name | 技能名称(即 /命令名) | deploy |
description | 功能描述(Claude 据此判断是否自动触发) | 部署应用到生产环境 |
allowed-tools | 预授权的工具(无需用户手动确认) | Read Grep Bash(git *) |
disable-model-invocation | 禁止 Claude 自动触发(仅手动调用) | true |
user-invocable | 是否出现在 / 菜单中 | true |
context | 运行方式(fork = 子代理隔离运行) | fork |
model | 指定使用的模型 | claude-opus-4-7 |
effort | 投入程度 | high |
在指令中,你可以使用这些动态变量:
变量 | 含义 |
|---|---|
$ARGUMENTS | 用户传入的全部参数 |
$0 / $1 / $2 | 第 1 / 2 / 3 个参数 |
${CLAUDE_SESSION_ID} | 当前会话 ID |
${CLAUDE_SKILL_DIR} | 当前技能所在目录 |
实际应用示例:
---
name:deploy
description:部署应用到指定环境
disable-model-invocation:true
allowed-tools:Bash(npm*)Bash(git*)Bash(docker*)
---
部署$ARGUMENTS到生产环境:
1.运行测试:`npmtest`
2.构建项目:`npmrunbuild`
3.更新版本:`npmversionpatch`
4.推送镜像:`dockerpush$0`
5.部署上线:`kubectlapply-fk8s/deployment.yaml`
使用时只需输入 /deploy my-app,my-app 就会替换 ARGUMENTS 和 0。
当 Skill 变复杂时,拆分成多个文件:
code-review/
├── SKILL.md ← 主入口(保持精简)
├── security-checklist.md ← 安全审查细则
├── style-guide.md ← 代码风格指南
└── examples/
└── good-review.md ← 审查报告样例
在 SKILL.md 中引用这些文件:
详细安全检查项请参考 [security-checklist.md](security-checklist.md)
代码风格要求请参考 [style-guide.md](style-guide.md)

用 ! 反引号语法注入实时数据:
## 当前 PR 上下文
- PR 差异:!`gh pr diff`
- PR 评论:!`gh pr view --comments`
- 变更文件:!`gh pr diff --name-only`
每次触发 Skill 时,这些命令会实时执行并注入结果。
位置 | 路径 | 作用范围 |
|---|---|---|
个人全局 | ~/.claude/skills/ | 你所有的项目 |
项目级 | .claude/skills/ | 仅当前项目 |
企业级 | 通过托管配置分发 | 组织内所有用户 |
建议: 通用技能(如代码审查、文档生成)放全局;项目特有技能(如特定部署流程)放项目内。

---
name:explain
description:用通俗语言和类比解释代码的工作原理
---
解释代码时请遵循以下规则:
1.**先打比方**:把代码比作生活中的事物(如:这个函数像一个快递分拣中心)
2.**画流程图**:用ASCII艺术展示数据流向和调用关系
3.**逐行讲解**:逐步说明每一行的作用
4.**指出陷阱**:标出容易踩坑的地方
保持口语化风格。复杂概念使用多个类比。
---
name:commit
description:智能生成Git提交信息并执行提交
allowed-tools:Bash(git*)
disable-model-invocation:true
---
分析当前暂存区的变更,生成规范的提交信息并提交:
1.运行`gitdiff--cached`查看暂存的变更
2.分析变更内容,生成简洁的提交信息
3.提交信息格式:`<type>:<描述>`
-type可选:feat/fix/refactor/docs/style/test/chore
4.确认后执行`gitcommit`
如果暂存区为空,提示用户先`gitadd`。
---
name:gen-docs
description:从源代码生成API文档
context:fork
allowed-tools:ReadGrepGlobBash
---
为$ARGUMENTS目录下的源代码生成API文档:
1.扫描指定目录的所有源文件
2.提取公开的API、类、方法和属性
3.生成结构化的Markdown文档
4.包含使用示例和参数说明
5.输出到`docs/api/`目录
---
name:health-check
description:全面检查项目健康状况,输出诊断报告
allowed-tools:ReadGrepGlobBash
---
对当前项目进行全方位健康检查:
## 代码质量
-检查代码重复率
-分析函数复杂度
-检查依赖是否过时
## 安全性
-扫描已知漏洞
-检查敏感信息泄露
-验证依赖安全性
## 测试覆盖
-分析测试覆盖率
-识别未覆盖的关键路径
## 性能
-检查打包体积
-分析启动时间
最终输出一份带有优先级排序的改进建议清单。

建议 | 原因 |
|---|---|
SKILL.md 控制在 500 行以内 | 过长会被截断,核心指令丢失 |
描述写得具体明确 | Claude 根据描述判断是否自动触发 |
用 disable-model-invocation: true | 防止工作流类技能被误触发 |
预授权常用工具 | 减少权限弹窗,提升体验 |
将详细参考拆分到子文件 | 保持主文件精简,按需加载 |
问题 | 后果 |
|---|---|
描述太模糊(如「帮助编码」) | Claude 会在不合适的时机频繁触发 |
一个 Skill 塞太多功能 | 指令混乱,输出不可控 |
忘记限制工具权限 | 每次执行都要手动确认,失去自动化意义 |
不测试就投入使用 | 生产环境中可能产生意外行为 |

1 创建目录 → mkdir -p .claude/skills/my-skill
2 编写指令 → 编写 SKILL.md(frontmatter + 指令正文)
3 立即使用 → 在 Claude Code 中输入 /my-skill
Skills 不是一个花哨的功能,而是一种工作方式的升级。
当你的 Skills 越积越多,你会发现:Claude Code 不再只是一个 AI 工具,而是真正懂你、配合你的专属开发伙伴。
从今天开始,把你的重复工作交给 Skills,把创造力留给自己。

如果这篇文章对你有帮助,欢迎点赞、在看、转发三连,让更多人学会打造自己的 AI 技能包!
有问题欢迎在评论区交流,我会一一回复。