引言

什么是 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 的价值在于:

  1. 提高效率:一键触发复杂的多步骤任务
  2. 保证一致性:确保每次执行都遵循相同的流程和标准
  3. 知识沉淀:将团队的 best practice 固化为可复用的模板
  4. 降低门槛:新成员可以通过 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 会:

  1. 在 skills 目录中查找匹配的目录
  2. 读取 skill.md 文件内容
  3. 将文件内容作为系统提示词注入到对话上下文
  4. Claude 根据提示词开始执行任务

这种机制让 Skill 成为一种轻量级的"编程"方式——无需编写代码,只需用自然语言描述流程即可。

与 MCP 的区别与联系

MCP(Model Context Protocol)是 Claude 生态中另一个重要的扩展机制,与 Skills 经常被混淆。两者的定位截然不同:

维度SkillsMCP
本质提示词模板工具协议
能力引导 Claude 执行任务提供 Claude 可调用的工具函数
形式Markdown 文件服务器进程
开发成本极低(写文档即可)较高(需要编写代码)
适用场景固化工作流、最佳实践集成外部系统、扩展能力边界

简单来说:

  • Skills 是"教 Claude 怎么做":通过提示词告诉 Claude 执行任务的步骤和标准
  • MCP 是"给 Claude 新能力":通过工具函数让 Claude 能操作数据库、调用 API、读写文件等

两者可以协同工作:一个 Skill 可以引导 Claude 使用 MCP 提供的工具。例如,一个"数据库迁移"的 Skill 可以描述迁移流程,而实际执行时调用 MCP 工具来操作数据库。

Skills 实践案例

内置 Skills 示例

Claude Code 提供了一些内置 Skills,覆盖了常见的开发场景:

/commit

最常用的 Skill 之一,用于创建符合规范的 git commit。它会:

  1. 运行 git statusgit diff 查看变更
  2. 分析变更内容,生成语义化的 commit message
  3. 确保 commit message 遵循 Conventional Commits 规范
  4. 自动添加 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:

  1. 创建目录结构:
.claude/skills/code-review/SKILL.md
  1. 编写 SKILL.md
---
name: code-review
description: 按照团队规范审查代码质量、安全性和性能
---

## 任务目标
审查当前变更的代码,确保符合团队的代码规范。

## 审查清单

### 代码质量
- [ ] 代码是否清晰易读
- [ ] 命名是否有意义
- [ ] 是否有重复代码可以抽取
- [ ] 函数是否过长需要拆分

### 安全性
- [ ] 是否有 SQL 注入风险
- [ ] 是否有 XSS 风险
- [ ] 敏感信息是否硬编码

### 性能
- [ ] 是否有 N+1 查询问题
- [ ] 是否有不必要的循环

## 输出格式
以表格形式列出问题,包含:
- 文件路径和行号
- 问题类型(质量/安全/性能)
- 问题描述
- 修复建议
  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 后,需要验证是否能正确触发:

  1. 使用 /help 查看 Skill 是否被识别
  2. 检查 description 是否准确描述了 Skill 功能
  3. 测试不同调用方式(带参数/不带参数)

优化触发准确性

如果 Skill 无法正确触发,可能是 description 不够精确。优化建议:

  1. 使用关键词:在 description 中包含用户可能输入的关键词
  2. 明确场景:描述 Skill 适用的具体场景
  3. 避免歧义:区分相似功能的 Skill
---
# 优化前
description: 检查代码

# 优化后
description: 审查代码质量、安全性和性能问题,适用于提交前的代码检查
---

常见问题

问题原因解决方案
Skill 不触发目录结构错误确保 SKILL.md 在正确路径
参数无法传递提示词未定义参数格式在 Skill 中明确参数格式
执行结果不稳定提示词过于模糊细化执行步骤和输出格式

迭代改进

Skill 不是一次性的,应该根据使用反馈持续改进:

  1. 记录每次执行的问题
  2. 收集团队成员的反馈
  3. 定期更新检查清单和输出格式
  4. 使用 skill-creator Skill 辅助优化

总结

Claude Skills 是一种轻量级但强大的扩展机制,让开发者能够将重复性的工作流程固化为可复用的模板。通过本文的实践,我们掌握了:

  1. 基础概念:Skills 的本质是提示词模板,与 MCP 工具协议形成互补
  2. 开发方法:通过简单的目录结构和 Markdown 文件即可创建自定义 Skill
  3. 实践技巧:内置 Skills 的使用、与工具链的集成、调试优化的方法

Skills 的价值不仅在于提高效率,更在于知识沉淀——将团队的 best practice 转化为可执行的"技能",降低协作成本。

进一步探索

除了在 Claude Code IDE 中交互式使用,Skills 还可以与命令行工具结合,实现更多自动化场景。各大 AI 平台都提供了 CLI 工具,可以包装 Skills 调用,集成到脚本、CI/CD 流水线、定时任务中。这部分内容将在后续文章中详细展开。

如果你正在探索 AI 辅助开发的边界,Skills 是一个值得深入的方向——从固化一个简单的代码审查流程开始,逐步构建属于你团队的 AI 工具库。