前言:在[上一篇《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 的关键:
---name:git-commit-messagedescription:Generate conventional commit messages from git diffs. Use when user mentions commits,git,version control,or requests help with commit messages.---激活流程:
Skills 加载顺序
Claude 按以下优先级加载 Skills:
1. 个人 Skills (~/.claude/skills/) 2. 项目 Skills (.claude/skills/) 3. 插件 Skills (已安装的插件)查看当前可用的 Skills:
What Skills are available?如何查看 Skill 是否被激活
在使用 Claude Code 时,有多种方式可以确认某个 Skill 是否已被激活:
1. Claude 的明确提示
当 Claude 激活一个 Skill 时,通常会在响应中明确告知:
你:帮我写一个规范的提交信息 Claude:我将使用 git-commit-message Skill 来帮你生成规范的提交信息。 首先让我查看你的暂存变更...2. 使用调试模式
启动 Claude Code 时添加--debug或--verbose参数可以看到详细的 Skill 激活日志:
# 启用调试模式claude --debug# 或使用详细模式claude --verbose在调试模式下,你会看到类似这样的输出:
[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 --staged3. 查询当前会话中激活的 Skills
在对话过程中,你可以随时询问:
Which Skills have you used in this conversation?或
你刚才使用了哪个 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字段是否与你的请求匹配:
# 查看某个 Skill 的描述cat~/.claude/skills/git-commit-message/SKILL.md|head-n10如果description中的关键词与你的请求相关,那么这个 Skill 很可能会被激活。
实际案例
示例 1:明确的 Skill 激活
你:为 UserService.java 生成单元测试 Claude:我将使用 java-test-generator Skill 来为你生成 JUnit 测试。 [Skill 已激活] 让我先读取这个文件...示例 2:隐式的 Skill 激活
你:分析这个 PDF 文档 Claude:我会提取 PDF 中的文本和表格数据。 [pdf-processing Skill 可能已激活,即使未明说] 正在处理文档...示例 3:询问激活状态
你:你刚才用了什么 Skill? Claude:我使用了 'git-commit-message' Skill 来分析你的代码变更 并生成符合规范的提交信息。Skill 文件结构
my-skill/ ├── SKILL.md # 必需:主要配置和指令文件 ├── EXAMPLES.md # 可选:详细示例 ├── REFERENCE.md # 可选:参考文档 └── scripts/ # 可选:辅助脚本 └── helper.shSKILL.md** 基本结构**:
--- 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
# macOS/Linux/WSLnpminstall-g @anthropic-ai/claude-code# 验证安装claude --version步骤 2:克隆官方 Skills 仓库
# 克隆到个人 Skills 目录cd~/.claude/skillsgitclone https://github.com/anthropics/skills.git official-skills# 或克隆到项目 Skills 目录(团队共享)cdyour-projectmkdir-p .claude/skillscd.claude/skillsgitclone https://github.com/anthropics/skills.git official-skills步骤 3:选择需要的 Skills
官方仓库包含 200+ Skills,按类别组织:
skills/ ├── git/ │ ├── commit-message-generator/ │ └── branch-manager/ ├── code-review/ │ └── java-code-reviewer/ ├── documentation/ │ └── javadoc-generator/ └── testing/ └── junit-test-generator/选择性安装示例(只安装需要的 Skills):
# 进入 official-skills 目录cd~/.claude/skills/official-skills# 创建软链接到需要的 Skillsln-s$(pwd)/git/commit-message-generator ~/.claude/skills/commit-msgln-s$(pwd)/code-review/java-code-reviewer ~/.claude/skills/java-review步骤 4:验证集成
启动 Claude Code:
cdyour-java-project claude在 Claude 中测试:
What Skills are available?应该能看到刚刚集成的 Skills 列表。
实际使用示例
场景 1:生成提交信息
# 暂存变更gitaddsrc/main/java/com/example/UserService.java# 启动 Claudeclaude在 Claude 中:
帮我写一个规范的提交信息Claude 会自动激活commit-message-generatorSkill,分析git diff --staged并生成类似这样的提交信息:
feat(user): add user authentication service Implement JWT-based authentication with token validation. Includes user login, logout, and token refresh endpoints. Closes #123场景 2:代码审查
请审查 UserService.java 文件,检查是否有安全问题和性能隐患Claude 激活java-code-reviewerSkill,执行全面的代码审查。
4. 创建你的第一个 Skill
方式 1:使用 skill-creator(推荐)
官方提供了skill-creator工具来快速创建 Skills:
# 使用 Claude 的 skill-creatorclaude# 在 Claude 中我想创建一个新的 Skill,用于生成规范的 Git 提交信息Claude 会启动交互式创建流程,询问:
Skill 名称
功能描述
需要的工具权限
具体的执行步骤
方式 2:手动创建简单 Skill
让我们创建一个实用的 Skill:Java 代码格式检查器
步骤 1:创建目录结构
mkdir-p ~/.claude/skills/java-format-checkercd~/.claude/skills/java-format-checker步骤 2:编写SKILL.md
创建~/.claude/skills/java-format-checker/SKILL.md文件:
--- 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:
claude在 Claude 中:
请检查 src/main/java/com/example/UserService.java 的代码格式Claude 会自动激活这个 Skill,分析文件并给出格式建议。
效果如下:
检查报告(省略了一些内部信息):
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 文件 + 清晰的描述和指令
推荐实践
团队协作:
# 在项目中创建 Skillscdyour-projectmkdir-p .claude/skills# 提交到 Gitgitadd.claude/skills/gitcommit -m"chore: add team Skills"gitpush团队成员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 代码生成
日志分析和问题诊断
学习资源
官方文档:https://code.claude.com/docs/zh-CN/skills
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。