在 AI 辅助编程的领域,Claude Code (Anthropic 推出的命令行 Agent 工具) 正迅速成为开发者的心头好。除了强大的代码理解能力外,它最“杀手级”的功能莫过于 Skills(技能)。
如果你觉得每次都要重复输入长串的 Prompt 来让 Claude 遵循特定的代码规范,或者希望它能自动执行一系列复杂的本地脚本,那么 Skill 就是为你量身定制的功能。
本文将带你深入了解 Skill 的作用、原理,并手把手教你如何打造自己的专属技能。
?️ 什么是 Claude Code 的 "Skill"?
简单来说,Skill 是你外挂给 Claude 的“短期记忆”与“工具箱”的结合体。
在 Claude Code (CLI) 中,Skill 本质上是一个包含特定指令文件(SKILL.md)和相关资源(如脚本、模板)的文件夹。

它的核心作用:
-
固化工作流 (Standardization): 将复杂的 Prompt 变成可重复调用的“技能”。例如:“按照公司 V2 架构生成 API 文档”。
-
扩展能力 (Extensibility): 允许 Claude 调用本地脚本(Python, Bash 等)来完成它本身做不到的事情(如操作数据库、生成特定格式的二进制文件)。
-
上下文管理 (Context Optimization): 采用“渐进式披露” (Progressive Disclosure) 原则。Claude 不会一次性加载所有技能的详细内容,而是先看“简介”,觉得需要用了才加载详细指令,从而节省 Token 并保持上下文清晰。
? Skill 的结构与原理
一个标准的 Skill 只是一个放在特定目录下的文件夹。
典型的文件结构如下:
Plaintext
my-skill/ <-- 技能文件夹
├── SKILL.md <-- 核心:包含元数据(Metadata)和详细指令
├── scripts/ <-- 可选:存放 Python/Bash 脚本
│ └── optimize_img.py
└── assets/ <-- 可选:存放模板或参考文件
└── template.json
核心文件:SKILL.md
这是 Claude 的“说明书”。它必须包含 Frontmatter (元数据头),告诉 Claude 这个技能叫什么、什么时候用。
---
name: image-optimizer # 技能名称(唯一 ID)
description: 当用户想要压缩或优化项目中的 PNG/JPG 图片时使用此技能。 # 触发条件
---
# Image Optimizer Guide
当用户要求优化图片时,请遵循以下步骤:
1. 确认用户想要优化的目标文件夹。
2. 使用 `scripts/optimize_img.py` 脚本进行处理。
3. 报告优化了多少张图片以及节省的空间。
⚡️ 实战教程:如何设置你的第一个 Skill
假设我们要创建一个 "Git Commit 规范助手",让 Claude 每次提交代码时,都严格遵循 Angular Commit Message 规范(如 feat:, fix: 等)。
第一步:找到技能目录
Claude Code CLI 会自动扫描以下两个位置:
-
全局技能 (Global):
~/.claude/skills/(对所有项目生效) -
项目技能 (Project): 项目根目录下的
.claude/skills/(仅对当前项目生效)
建议初学者先从全局目录开始。
第二步:创建文件夹
打开终端,执行:
mkdir -p ~/.claude/skills/conventional-commit
第三步:编写 SKILL.md
在文件夹中创建 SKILL.md 文件,并填入以下内容:
---
name: conventional-commit
description: 当用户要求提交代码 (git commit) 或生成提交信息时,必须使用此技能。它确保所有提交都符合 Conventional Commits 规范。
---
# Conventional Commits Guide
你是 Git 提交专家。当用户要求提交代码时,请**严格**遵循以下规则,不要询问用户偏好,直接执行。
## 1. 提交格式
格式必须为:`(): `
### Type 列表:
- `feat`: 新功能
- `fix`: 修复 Bug
- `docs`: 文档变更
- `style`: 代码格式调整(不影响逻辑)
- `refactor`: 重构(无 Bug 修复,无新功能)
- `test`: 测试用例
- `chore`: 构建过程或辅助工具变动
## 2. 执行步骤
1. 分析 `git status` 和 `git diff` 了解变更内容。
2. 生成符合上述格式的提交信息。
3. **展示生成的提交信息给用户看**,并简要解释为什么选择这个 type。
4. 只有在用户确认后,才执行 `git commit -m "..."`。
## 3. 禁止事项
- 禁止使用模糊的提交信息,如 "update code" 或 "fixed bug"。
- 描述部分必须用英文(除非用户特别指定中文)。
第四步:测试生效
-
重启或新开一个 Claude Code 终端会话。
-
随便修改一个文件。
-
输入指令:
commit these changes。 -
观察: Claude 会在思考过程中显示 "Activating skill: conventional-commit",然后按照你的 Markdown 规则生成规范的提交信息。
? 进阶技巧:带脚本的 Skill
Skill 的强大之处在于它可以包含可执行代码。
例如,你可以做一个 "Database Seeder" (数据库填充器) 技能:
-
在
scripts/下放一个 Python 脚本seed_users.py。 -
在
SKILL.md中写道:"当用户需要测试数据时,运行python {skill_dir}/scripts/seed_users.py"。 -
Claude 会自动识别路径并执行脚本,无需你手动敲命令。
设置小贴士 (Best Practices)
-
Description 是关键: Claude 是根据
description字段来决定是否加载这个技能的。描述要包含“触发词”(Trigger words),例如“当用户提到 X 时...”。 -
不要 Hardcode 密钥: 永远不要在 Skill 文件里写 API Key。应该让脚本从环境变量中读取。
-
保持原子性: 一个 Skill 最好只做一类事(Unix 哲学)。不要把“写代码”和“部署服务器”混在一个 Skill 里。
结语
通过配置 Skills,你实际上是在“编程”你的 AI 助手。你不再是每次都对着 AI 喊话的指挥官,而是设计了一套精密 SOP(标准作业程序)的架构师。
现在的 Claude Code 不仅仅是一个聊天框,它是一个可以通过文件系统进行无限扩展的智能终端。
下一步行动: 现在就去检查你的 ~/.claude/ 目录,尝试创建一个简单的 readme-generator 技能,让 Claude 学会按照你们团队特定的风格生成文档!
这个视频非常相关,因为它详细演示了如何在 2026 年(即当前最新版本环境)创建 Claude Code 的 Agent Skills,涵盖了从文件夹结构创建到编写 SKILL.md 以及测试的完整流程。
自由排版你的广告内容