claude code中的skills如何使用
Claude Code的Skills系统是一套可定制化技能包,允许用户将专业知识、任务流程或代码打包成模块供AI自动调用。核心特性包括自动触发、按需加载、可组合性和跨平台复用,支持嵌入Python等脚本扩展功能。Skills分为个人级、项目级和插件级,存储在特定路径并遵循优先级规则。用户可通过插件市场或手动创建SKILL.md文件来自定义技能,利用变量占位符和工具调用实现复杂功能。典型应用包括代码
在 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
- 通过插件市场安装(推荐):
/plugin marketplace add anthropics/skills # 添加市场 /plugin install document-skills@anthropic-agent-skills # 安装文档技能包 /plugin install example-skills@anthropic-agent-skills # 安装示例技能包 - 手动安装:
- 创建目录(如个人 Skill):
mkdir -p ~/.claude/skills/my-skill - 在目录中创建
SKILL.md文件,定义 Skill 逻辑(见下文结构)。
- 创建目录(如个人 Skill):
2. 创建自定义 Skill
文件结构示例:
.claude/skills/my-skill/
├── SKILL.md # 核心描述文件
├── scripts/ # 可选:存放脚本
│ └── helper.py # 示例脚本
└── REFERENCE.md # 可选:详细说明
SKILL.md 模板:
---
name: my-skill # 技能名称(与目录名一致)
description: | # 关键字段:描述功能及触发条件
生成规范的 Git 提交消息,遵循 Conventional Commits 规范。
当用户输入“写提交信息”或提及“git commit”时触发。
allowed-tools: Read # 可选:限制工具权限(如仅允许读取文件)
---
# 提交消息生成规则
1. 分析代码变更类型(feat/fix/docs等)。
2. 生成清晰描述,包含关联 Issue ID。
3. 示例:
feat: 添加用户登录功能 (#123)
3. 测试与使用
-
验证 Skill 是否加载:
> 你有哪些可用的 Skills?Claude 会列出已加载的 Skill 及其描述。
-
触发 Skill:
直接输入与 Skill 描述匹配的请求,例如:> 写提交信息Claude 会自动调用“提交消息生成器” Skill。
四、高级技巧
-
变量占位符
在SKILL.md中使用{{args}}、{{cwd}}等变量接收用户输入或上下文信息。 -
组合工具调用
Skill 可调用 Claude Code 的内置工具(如Read、Write、Bash),例如:# 读取文件并生成摘要 1. 使用 `Read` 工具读取 `{{file_path}}`。 2. 提取关键内容并返回。 -
渐进式披露
将辅助文件(如模板、示例)存放在 Skill 目录中,Claude 仅在需要时加载,避免占用上下文。 -
错误处理
在SKILL.md中定义异常情况的处理逻辑,例如:# 错误处理 - 若文件不存在,提示用户重新输入路径。 - 若权限不足,说明原因并建议解决方案。
五、实战案例
案例 1:代码审查助手
功能:自动检查代码风格、潜在 Bug 和性能问题。SKILL.md 片段:
---
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 编程助手,显著提升开发效率并标准化团队工作流程。
更多推荐


所有评论(0)