前言 :在[上一篇《ClaudeCode 实战指南(五):SubAgent 深度解析与专家团队构建》]中,我们组建了 SubAgent 专家团队。今天,我们要解锁 Claude Code 的另一个大杀器------Skills(技能包)。如果说 SubAgent 是"人",那么 Skills 就是"SOP(标准作业程序)"。它能让 AI 严格按照你设定的规范(如代码风格、提交格式)来工作,是团队协作的神器。
1. 什么是 Claude Code Skills?
Claude Code Skills 是 Anthropic 推出的功能扩展机制,让 Claude 能够通过加载"技能包"来完成特定任务。简单来说,Skills 就是一个包含指令和资源的文件夹,教会 Claude 如何以标准化、可重复的方式完成工作。
核心特性
自主激活机制
这是 Skills 最重要的特点。你不需要手动输入命令,只需用自然语言描述需求,Claude 会自动判断并激活相应的 Skill。例如:
-
你说:"帮我写个符合规范的提交信息"
-
Claude 自动激活
git-commit-messageSkill,分析代码变更并生成规范的提交信息
三种部署方式
-
个人 Skills (
~/.claude/skills/) - 存储在用户目录,所有项目可用 -
项目 Skills (
.claude/skills/) - 存储在项目中,通过 Git 与团队共享 -
插件 Skills - 通过插件安装,由社区或官方提供
实际应用场景
-
自动生成符合团队规范的 Git 提交信息
-
Java 代码审查和质量检查
-
Maven/Gradle 项目配置生成
-
单元测试代码生成
-
API 文档自动生成
-
日志分析和问题诊断
2. Skills 工作原理
发现与激活机制
每个 Skill 包含一个 SKILL.md 文件,其中的 description 字段是 Claude 判断何时使用该 Skill 的关键:
yaml
---
name: git-commit-message
description: Generate conventional commit messages from git diffs. Use when user mentions commits, git, version control, or requests help with commit messages.
---
激活流程:

Skills 加载顺序
Claude 按以下优先级加载 Skills:
plaintext
1. 个人 Skills (~/.claude/skills/)
2. 项目 Skills (.claude/skills/)
3. 插件 Skills (已安装的插件)
查看当前可用的 Skills:
plaintext
What Skills are available?
如何查看 Skill 是否被激活
在使用 Claude Code 时,有多种方式可以确认某个 Skill 是否已被激活:
1. Claude 的明确提示
当 Claude 激活一个 Skill 时,通常会在响应中明确告知:
plaintext
你:帮我写一个规范的提交信息
Claude:我将使用 git-commit-message Skill 来帮你生成规范的提交信息。
首先让我查看你的暂存变更...
2. 使用调试模式
启动 Claude Code 时添加 --debug 或 --verbose 参数可以看到详细的 Skill 激活日志:
bash
# 启用调试模式
claude --debug
# 或使用详细模式
claude --verbose
在调试模式下,你会看到类似这样的输出:
plaintext
[DEBUG] Loading Skills from ~/.claude/skills/
[DEBUG] Found 5 Skills
[DEBUG] Analyzing user request: "帮我写个提交信息"
[DEBUG] Matched Skill: git-commit-message (confidence: 0.95)
[DEBUG] Activating Skill: git-commit-message
[DEBUG] Executing: git diff --staged
3. 查询当前会话中激活的 Skills
在对话过程中,你可以随时询问:
plaintext
Which Skills have you used in this conversation?
或
plaintext
你刚才使用了哪个 Skill?
Claude 会列出已激活的 Skills。
4. 观察 Claude 的行为模式
即使 Claude 没有明确说明,你也可以通过以下线索判断 Skill 是否激活:
文件操作迹象:
- 如果 Claude 主动提到"让我读取文件"或"我会创建一个文件",说明相关的 Skill 可能已激活
特定格式输出:
- 例如,如果你请求提交信息,Claude 输出了严格遵循 conventional commits 格式的内容,说明 git-commit-message Skill 很可能已激活
执行特定命令:
- 如果 Claude 提到执行了特定的 bash 命令(如
git diff --staged、mvn dependency:tree),这通常意味着相关 Skill 被激活
5. 检查 Skill 配置文件
你也可以手动验证 Skill 的 description 字段是否与你的请求匹配:
bash
# 查看某个 Skill 的描述
cat ~/.claude/skills/git-commit-message/SKILL.md | head -n 10
如果 description 中的关键词与你的请求相关,那么这个 Skill 很可能会被激活。
实际案例
示例 1:明确的 Skill 激活
plaintext
你:为 UserService.java 生成单元测试
Claude:我将使用 java-test-generator Skill 来为你生成 JUnit 测试。
[Skill 已激活]
让我先读取这个文件...
示例 2:隐式的 Skill 激活
plaintext
你:分析这个 PDF 文档
Claude:我会提取 PDF 中的文本和表格数据。
[pdf-processing Skill 可能已激活,即使未明说]
正在处理文档...
示例 3:询问激活状态
plaintext
你:你刚才用了什么 Skill?
Claude:我使用了 'git-commit-message' Skill 来分析你的代码变更
并生成符合规范的提交信息。
Skill 文件结构
plaintext
my-skill/
├── SKILL.md # 必需:主要配置和指令文件
├── EXAMPLES.md # 可选:详细示例
├── REFERENCE.md # 可选:参考文档
└── scripts/ # 可选:辅助脚本
└── helper.sh
SKILL.md** 基本结构**:
markdown
---
name: skill-name
description: Brief description with trigger keywords
allowed-tools: Read, Write, Bash # 可选:限制可用工具
---
# Skill Title
## Instructions
清晰的分步指导
## Examples
具体使用示例
## Best Practices
最佳实践建议
3. 快速集成官方 Skills 仓库
步骤 1:安装 Claude Code
bash
# macOS/Linux/WSL
npm install -g @anthropic-ai/claude-code
# 验证安装
claude --version
步骤 2:克隆官方 Skills 仓库
bash
# 克隆到个人 Skills 目录
cd ~/.claude/skills
git clone https://github.com/anthropics/skills.git official-skills
# 或克隆到项目 Skills 目录(团队共享)
cd your-project
mkdir -p .claude/skills
cd .claude/skills
git clone https://github.com/anthropics/skills.git official-skills
步骤 3:选择需要的 Skills
官方仓库包含 200+ Skills,按类别组织:
plaintext
skills/
├── git/
│ ├── commit-message-generator/
│ └── branch-manager/
├── code-review/
│ └── java-code-reviewer/
├── documentation/
│ └── javadoc-generator/
└── testing/
└── junit-test-generator/
选择性安装示例(只安装需要的 Skills):
bash
# 进入 official-skills 目录
cd ~/.claude/skills/official-skills
# 创建软链接到需要的 Skills
ln -s $(pwd)/git/commit-message-generator ~/.claude/skills/commit-msg
ln -s $(pwd)/code-review/java-code-reviewer ~/.claude/skills/java-review
步骤 4:验证集成
启动 Claude Code:
bash
cd your-java-project
claude
在 Claude 中测试:
plaintext
What Skills are available?
应该能看到刚刚集成的 Skills 列表。
实际使用示例
场景 1:生成提交信息
bash
# 暂存变更
git add src/main/java/com/example/UserService.java
# 启动 Claude
claude
在 Claude 中:
plaintext
帮我写一个规范的提交信息
Claude 会自动激活 commit-message-generator Skill,分析 git diff --staged 并生成类似这样的提交信息:
plaintext
feat(user): add user authentication service
Implement JWT-based authentication with token validation.
Includes user login, logout, and token refresh endpoints.
Closes #123
场景 2:代码审查
plaintext
请审查 UserService.java 文件,检查是否有安全问题和性能隐患
Claude 激活 java-code-reviewer Skill,执行全面的代码审查。
4. 创建你的第一个 Skill
方式 1:使用 skill-creator(推荐)
官方提供了 skill-creator 工具来快速创建 Skills:
bash
# 使用 Claude 的 skill-creator
claude
# 在 Claude 中
我想创建一个新的 Skill,用于生成规范的 Git 提交信息
Claude 会启动交互式创建流程,询问:
-
Skill 名称
-
功能描述
-
需要的工具权限
-
具体的执行步骤
方式 2:手动创建简单 Skill
让我们创建一个实用的 Skill:Java 代码格式检查器
步骤 1:创建目录结构
bash
mkdir -p ~/.claude/skills/java-format-checker
cd ~/.claude/skills/java-format-checker
步骤 2:编写 SKILL.md
创建 ~/.claude/skills/java-format-checker/SKILL.md 文件:
markdown
---
name: java-format-checker
description: Check Java code formatting issues like missing braces, inconsistent indentation, or naming conventions. Use when user mentions code format, style check, or formatting issues.
allowed-tools: Read, Bash
---
# Java 代码格式检查器
## Instructions
当用户请求检查代码格式时:
1. 使用 Read 工具读取 Java 文件
2. 检查以下格式问题:
- 类名是否使用 PascalCase
- 方法名是否使用 camelCase
- 常量是否使用 UPPER_SNAKE_CASE
- 缩进是否一致(4 个空格或 1 个 tab)
- 大括号位置是否统一
3. 生成格式问题报告
4. 提供修复建议
## Example
**用户请求**:检查 UserService.java 的代码格式
**执行步骤**:
1. 读取文件内容
2. 分析命名和格式规范
3. 列出发现的问题
4. 给出具体的修改建议
**报告示例**:
发现 3 个格式问题:
1.第 15 行:方法名 'GetUser' 应该使用 camelCase → 'getUser'
2.第 23 行:缩进不一致,应该使用 4 个空格
3.第 45 行:常量 'maxSize' 应该使用 UPPER_SNAKE_CASE → 'MAX_SIZE'
步骤 3:测试你的 Skill
启动 Claude Code:
bash
claude
在 Claude 中:
plaintext
请检查 src/main/java/com/example/UserService.java 的代码格式
Claude 会自动激活这个 Skill,分析文件并给出格式建议。
效果如下:

检查报告(省略了一些内部信息):
bash
Java 代码格式检查报告
---------------------------------
文件:ChatClientService.java
检查状态:发现 5 个问题
🔴 严重问题:
1. 第 56 行:if 语句后缺少空格
❌ if(modelContext...
✅ if (modelContext...
🟡 轻微建议:
2. 第 50 行:方法参数逗号后建议加空格
3. 第 3-20 行:Import 建议按字母排序
📊 评分:78/100 (还不错,但需要改进呢)
5. 总结与下一步
关键要点
-
Skills 是自主激活的 - 无需手动命令,自然语言即可触发
-
三种部署方式 - 个人、项目、插件,灵活选择
-
官方仓库丰富 - 200+ Skills 可直接使用
-
创建很简单 - SKILL.md 文件 + 清晰的描述和指令
推荐实践
团队协作:
bash
# 在项目中创建 Skills
cd your-project
mkdir -p .claude/skills
# 提交到 Git
git add .claude/skills/
git commit -m "chore: add team Skills"
git push
团队成员 git pull 后即可使用。
持续改进:
-
从简单 Skill 开始(如提交信息生成)
-
收集团队反馈
-
迭代优化描述和指令
-
逐步添加更多 Skills
推荐的 Java 开发 Skills
从官方仓库集成:
-
git/commit-message-generator- Git 提交信息 -
code-review/java-code-reviewer- Java 代码审查 -
documentation/javadoc-generator- JavaDoc 生成 -
testing/junit-test-generator- JUnit 测试生成
自行创建:
-
Maven/Gradle 依赖管理
-
Spring Boot 配置生成
-
MyBatis Mapper 代码生成
-
日志分析和问题诊断
学习资源
-
Skills 仓库:https://github.com/anthropics/skills
-
视频教程:https://egghead.io/courses/the-essential-guide-to-claude-code-skills~7349k
-
skillsmp: https://skillsmp.com/
立即行动
-
安装 Claude Code
-
集成 2-3 个官方 Skills
-
创建一个团队专用的 Skill
-
与团队分享,收集反馈
通过 Skills,Claude Code 不仅是 AI 助手,更是可以持续学习和进化的团队协作工具。现在就开始构建属于你们团队的 Skills 生态系统吧!
本文是《ClaudeCode 实战指南》系列的第六篇,更多 AI 编程实战技巧,欢迎关注 晨启AI。