引言
什么是 Claude Skills
Claude Skills 是 Claude Code 提供的一种可复用提示词模板机制。它允许用户将常用的任务流程封装成可执行的"技能",通过 /技能名称 的方式快速调用。
Skills 本质上是预定义的提示词(prompts),存储在项目的 .claude/skills/ 目录下。每个 Skill 是一个 Markdown 文件,包含任务描述和执行指令。当用户调用 Skill 时,Claude Code 会自动加载该文件的内容作为对话的起始提示。
例如,内置的 /commit Skill 会引导 Claude 按照规范的流程创建 git commit,而 /review-pr 则帮助用户审查 Pull Request。
为什么需要 Skills
在日常开发中,我们经常会重复执行某些任务,比如:
- 代码提交:遵循特定的 commit message 规范
- 代码审查:按照团队的 PR 审查清单逐项检查
- 文档生成:为新功能自动生成文档模板
- 测试运行:执行特定的测试命令并分析结果
每次手动输入这些指令不仅繁琐,还容易遗漏关键步骤。Skills 的价值在于:
- 提高效率:一键触发复杂的多步骤任务
- 保证一致性:确保每次执行都遵循相同的流程和标准
- 知识沉淀:将团队的 best practice 固化为可复用的模板
- 降低门槛:新成员可以通过 Skills 快速上手团队工作流
Skills 基础概念
Skills 的定义和作用
从技术角度看,一个 Skill 是一个 Markdown 文件,其目录层级如下:
~/.claude/skills/ # 用户级别(个人使用,跨项目可用)
└── my-skill/
└── SKILL.md # Skill 定义文件
<project>/.claude/skills/ # 项目级别(随项目共享,团队通用)
└── team-skill/
└── SKILL.md
每个 Skill 是一个独立的目录,目录名即为 Skill 名称,内部包含一个 SKILL.md 文件。文件结构如下:
---
name: my-skill
description: 简短描述,用于在 /help 中展示和触发匹配
---
## 任务目标
描述这个 Skill 要完成什么
## 执行步骤
1. 第一步要做什么
2. 第二步要做什么
...
## 注意事项
执行过程中需要注意的点
当用户输入 /skill名称 时,Claude Code 会:
- 在 skills 目录中查找匹配的目录
- 读取
skill.md文件内容 - 将文件内容作为系统提示词注入到对话上下文
- Claude 根据提示词开始执行任务
这种机制让 Skill 成为一种轻量级的"编程"方式——无需编写代码,只需用自然语言描述流程即可。
与 MCP 的区别与联系
MCP(Model Context Protocol)是 Claude 生态中另一个重要的扩展机制,与 Skills 经常被混淆。两者的定位截然不同:
| 维度 | Skills | MCP |
|---|---|---|
| 本质 | 提示词模板 | 工具协议 |
| 能力 | 引导 Claude 执行任务 | 提供 Claude 可调用的工具函数 |
| 形式 | Markdown 文件 | 服务器进程 |
| 开发成本 | 极低(写文档即可) | 较高(需要编写代码) |
| 适用场景 | 固化工作流、最佳实践 | 集成外部系统、扩展能力边界 |
简单来说:
- Skills 是"教 Claude 怎么做":通过提示词告诉 Claude 执行任务的步骤和标准
- MCP 是"给 Claude 新能力":通过工具函数让 Claude 能操作数据库、调用 API、读写文件等
两者可以协同工作:一个 Skill 可以引导 Claude 使用 MCP 提供的工具。例如,一个"数据库迁移"的 Skill 可以描述迁移流程,而实际执行时调用 MCP 工具来操作数据库。
Skills 实践案例
内置 Skills 示例
Claude Code 提供了一些内置 Skills,覆盖了常见的开发场景:
/commit
最常用的 Skill 之一,用于创建符合规范的 git commit。它会:
- 运行
git status和git diff查看变更 - 分析变更内容,生成语义化的 commit message
- 确保 commit message 遵循 Conventional Commits 规范
- 自动添加
Co-Authored-By标注
/review-pr
用于审查 Pull Request,支持传入 PR 编号:
/review-pr 123
它会检查代码质量、潜在问题、测试覆盖等。
/loop
定时执行任务,适用于需要轮询的场景:
/loop 5m /check-deploy
表示每 5 分钟执行一次 /check-deploy。
/simplify
审查已修改的代码,检查代码复用、质量和效率,并修复发现的问题。适合在完成功能开发后使用。
skill-creator
用于创建、修改和优化 Skills 本身。可以:
- 从头创建新 Skill
- 优化现有 Skill 的描述
- 运行评测测试 Skill 性能
自定义 Skill 开发
当内置 Skills 无法满足需求时,可以开发自定义 Skill。下面通过一个实际案例演示。
案例:代码审查 Skill
假设团队有特定的代码审查规范,我们创建一个 code-review Skill:
- 创建目录结构:
.claude/skills/code-review/SKILL.md
- 编写
SKILL.md:
---
name: code-review
description: 按照团队规范审查代码质量、安全性和性能
---
## 任务目标
审查当前变更的代码,确保符合团队的代码规范。
## 审查清单
### 代码质量
- [ ] 代码是否清晰易读
- [ ] 命名是否有意义
- [ ] 是否有重复代码可以抽取
- [ ] 函数是否过长需要拆分
### 安全性
- [ ] 是否有 SQL 注入风险
- [ ] 是否有 XSS 风险
- [ ] 敏感信息是否硬编码
### 性能
- [ ] 是否有 N+1 查询问题
- [ ] 是否有不必要的循环
## 输出格式
以表格形式列出问题,包含:
- 文件路径和行号
- 问题类型(质量/安全/性能)
- 问题描述
- 修复建议
- 使用 Skill:
/code-review
Claude 会按照清单逐项检查代码,并输出结构化的审查报告。
进阶技巧
Skill 与工具链集成
Skill 的真正威力在于与其他工具链的集成。以下是几种常见的集成方式:
与 MCP 工具配合
Skill 可以引导 Claude 使用 MCP 提供的工具。例如,创建一个"数据库备份"Skill:
---
name: db-backup
description: 备份指定数据库并上传到云存储
---
## 任务步骤
1. 使用 MCP postgres 工具连接数据库
2. 执行 pg_dump 导出数据
3. 使用 MCP s3 工具上传备份文件
4. 发送通知到 Slack
## 参数
- database: 数据库名称
- environment: 环境(staging/production)
与 Claude Code Hooks 配合
Hooks 是 Claude Code 的自动化机制,可以在特定事件触发时执行命令。Skill 可以配合 Hooks 实现自动化工作流:
// .claude/settings.json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "echo '命令执行完成' >> /tmp/claude.log"
}
]
}
]
}
}
例如,可以配置在每次创建 commit 后自动运行 /code-review Skill。
与 CI/CD 集成
在 CI/CD 流水线中使用 Skill 进行自动化检查:
# .github/workflows/code-review.yml
- name: Run Claude Code Review
run: |
claude --skill code-review --output review-report.md
这样每次 PR 都能自动生成代码审查报告。
调试与优化
测试 Skill 触发
创建 Skill 后,需要验证是否能正确触发:
- 使用
/help查看 Skill 是否被识别 - 检查
description是否准确描述了 Skill 功能 - 测试不同调用方式(带参数/不带参数)
优化触发准确性
如果 Skill 无法正确触发,可能是 description 不够精确。优化建议:
- 使用关键词:在 description 中包含用户可能输入的关键词
- 明确场景:描述 Skill 适用的具体场景
- 避免歧义:区分相似功能的 Skill
---
# 优化前
description: 检查代码
# 优化后
description: 审查代码质量、安全性和性能问题,适用于提交前的代码检查
---
常见问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| Skill 不触发 | 目录结构错误 | 确保 SKILL.md 在正确路径 |
| 参数无法传递 | 提示词未定义参数格式 | 在 Skill 中明确参数格式 |
| 执行结果不稳定 | 提示词过于模糊 | 细化执行步骤和输出格式 |
迭代改进
Skill 不是一次性的,应该根据使用反馈持续改进:
- 记录每次执行的问题
- 收集团队成员的反馈
- 定期更新检查清单和输出格式
- 使用
skill-creatorSkill 辅助优化
总结
Claude Skills 是一种轻量级但强大的扩展机制,让开发者能够将重复性的工作流程固化为可复用的模板。通过本文的实践,我们掌握了:
- 基础概念:Skills 的本质是提示词模板,与 MCP 工具协议形成互补
- 开发方法:通过简单的目录结构和 Markdown 文件即可创建自定义 Skill
- 实践技巧:内置 Skills 的使用、与工具链的集成、调试优化的方法
Skills 的价值不仅在于提高效率,更在于知识沉淀——将团队的 best practice 转化为可执行的"技能",降低协作成本。
进一步探索
除了在 Claude Code IDE 中交互式使用,Skills 还可以与命令行工具结合,实现更多自动化场景。各大 AI 平台都提供了 CLI 工具,可以包装 Skills 调用,集成到脚本、CI/CD 流水线、定时任务中。这部分内容将在后续文章中详细展开。
如果你正在探索 AI 辅助开发的边界,Skills 是一个值得深入的方向——从固化一个简单的代码审查流程开始,逐步构建属于你团队的 AI 工具库。