在 Claude Code 中,Skills 是一套可定制化的"技能包"系统,允许用户将专业知识、任务流程或可执行代码打包成独立模块,供 Claude 根据上下文自动调用。以下是其核心用法和操作指南:
一、Skills 的核心特性
-
自动触发
Claude 会根据任务需求和 Skill 的描述(
description字段)自动匹配并调用相关 Skill,无需手动指定。例如:- 输入"生成项目文档",Claude 会自动加载"文档生成器" Skill。
- 输入"审查代码",Claude 会激活"代码审查专家" Skill。
-
按需加载
Skill 仅在需要时加载,避免占用上下文资源,尤其适合 token 敏感的场景。
-
可组合性
多个 Skill 可像积木一样组合,形成完整任务流。例如:
读取 Excel → 数据处理 → 生成图表 → 输出 PDFClaude 会自动协调各 Skill 的执行顺序。
-
跨平台复用
Skill 格式统一,一次构建可在 Claude Code、Claude.ai 网页版、桌面应用及 API 中使用,支持 Git 版本控制,方便团队共享。
-
支持可执行代码
对于传统编程更高效的任务(如数据处理、文件操作),Skill 可直接嵌入脚本(如 Python、Bash),扩展 Claude 的功能边界。

二、Skills 的分类与存储位置
| 类型 | 存储路径 | 适用场景 |
|---|---|---|
| Personal Skills | ~/.claude/skills/ |
个人项目通用,跨项目可用 |
| Project Skills | ./.claude/skills/(项目根目录) |
仅当前项目生效,团队共享 |
| Plugin Skills | 随插件捆绑安装 | 安装插件后直接使用 |
优先级规则 :若同名 Skill 存在于多个位置,优先级为:Enterprise > Personal > Project > Plugin。
三、使用步骤
1. 安装 Skills
-
通过插件市场安装 (推荐):
bash/plugin marketplace add anthropics/skills # 添加市场 /plugin install document-skills@anthropic-agent-skills # 安装文档技能包 /plugin install example-skills@anthropic-agent-skills # 安装示例技能包 -
手动安装 :
-
创建目录(如个人 Skill):
bashmkdir -p ~/.claude/skills/my-skill -
在目录中创建
SKILL.md文件,定义 Skill 逻辑(见下文结构)。
-
2. 创建自定义 Skill
文件结构示例:
.claude/skills/my-skill/
├── SKILL.md # 核心描述文件
├── scripts/ # 可选:存放脚本
│ └── helper.py # 示例脚本
└── REFERENCE.md # 可选:详细说明
SKILL.md 模板:
markdown
---
name: my-skill # 技能名称(与目录名一致)
description: | # 关键字段:描述功能及触发条件
生成规范的 Git 提交消息,遵循 Conventional Commits 规范。
当用户输入"写提交信息"或提及"git commit"时触发。
allowed-tools: Read # 可选:限制工具权限(如仅允许读取文件)
---
# 提交消息生成规则
1. 分析代码变更类型(feat/fix/docs等)。
2. 生成清晰描述,包含关联 Issue ID。
3. 示例:
feat: 添加用户登录功能 (#123)
3. 测试与使用
-
验证 Skill 是否加载:
bash> 你有哪些可用的 Skills?Claude 会列出已加载的 Skill 及其描述。
-
触发 Skill :
直接输入与 Skill 描述匹配的请求,例如:
> 写提交信息Claude 会自动调用"提交消息生成器" Skill。
四、高级技巧
-
变量占位符
在
SKILL.md中使用{``{args}}、{``{cwd}}等变量接收用户输入或上下文信息。 -
组合工具调用
Skill 可调用 Claude Code 的内置工具(如
Read、Write、Bash),例如:markdown# 读取文件并生成摘要 1. 使用 `Read` 工具读取 `{{file_path}}`。 2. 提取关键内容并返回。 -
渐进式披露
将辅助文件(如模板、示例)存放在 Skill 目录中,Claude 仅在需要时加载,避免占用上下文。
-
错误处理
在
SKILL.md中定义异常情况的处理逻辑,例如:markdown# 错误处理 - 若文件不存在,提示用户重新输入路径。 - 若权限不足,说明原因并建议解决方案。
五、实战案例
案例 1:代码审查助手
功能 :自动检查代码风格、潜在 Bug 和性能问题。
SKILL.md 片段:
markdown
---
name: code-review
description: |
对代码进行全面审查,包括:
- 代码风格(ESLint/Prettier)
- 潜在 Bug(如未处理异常)
- 性能优化建议
触发条件:用户输入"审查代码"或"code review"。
---
# 审查步骤
1. 使用 `Bash` 运行 ESLint:
```bash
eslint {{file_path}}
-
分析输出结果,生成报告。
案例 2:数据库查询助手
功能:根据自然语言查询生成 SQL 语句。
SKILL.md片段:markdown--- name: sql-query description: | 将自然语言转换为 SQL 查询,例如: - "查询用户表中年龄大于 30 的记录" → `SELECT * FROM users WHERE age > 30` 触发条件:用户输入包含"查询""SQL"等关键词。 --- # 转换规则 1. 解析用户输入中的实体(表名、字段、条件)。 2. 映射为 SQL 语法,支持简单 JOIN 操作。
六、常见问题
-
Skill 未触发
- 检查
description是否明确描述了触发条件。 - 确保 Skill 存储在正确路径(如个人级或项目级)。
- 检查
-
Skill 未加载
- 重启 Claude Code 以刷新 Skill 列表。
- 运行
/plugin manage检查插件状态。
-
多个 Skill 冲突
- 避免同名 Skill,或通过优先级规则调整存储位置。
七、最佳实践
- 保持专注:每个 Skill 只解决一个具体问题。
- 清晰描述 :在
description中明确功能、触发条件和关键词。 - 提供示例:在文档中包含使用示例,降低用户学习成本。
- 充分测试:在不同场景下验证 Skill 的行为,确保鲁棒性。
- 迭代优化:根据用户反馈持续改进 Skill。
通过合理使用 Skills,你可以将 Claude Code 打造成高度定制化的 AI 编程助手,显著提升开发效率并标准化团队工作流程。