ClaudeCode 实战指南(六):Skills 技能包开发与自动化实战
2026/5/3 18:51:04 网站建设 项目流程

前言:在[上一篇《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,分析代码变更并生成规范的提交信息

三种部署方式

  1. 个人 Skills(~/.claude/skills/) - 存储在用户目录,所有项目可用

  2. 项目 Skills(.claude/skills/) - 存储在项目中,通过 Git 与团队共享

  3. 插件 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 --staged
3. 查询当前会话中激活的 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 --stagedmvn 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.sh

SKILL.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. 总结与下一步

关键要点

  1. Skills 是自主激活的- 无需手动命令,自然语言即可触发

  2. 三种部署方式- 个人、项目、插件,灵活选择

  3. 官方仓库丰富- 200+ Skills 可直接使用

  4. 创建很简单- SKILL.md 文件 + 清晰的描述和指令

推荐实践

团队协作

# 在项目中创建 Skillscdyour-projectmkdir-p .claude/skills# 提交到 Gitgitadd.claude/skills/gitcommit -m"chore: add team Skills"gitpush

团队成员git pull后即可使用。

持续改进

  1. 从简单 Skill 开始(如提交信息生成)

  2. 收集团队反馈

  3. 迭代优化描述和指令

  4. 逐步添加更多 Skills

推荐的 Java 开发 Skills

从官方仓库集成:

自行创建:

学习资源

立即行动

  1. 安装 Claude Code

  2. 集成 2-3 个官方 Skills

  3. 创建一个团队专用的 Skill

  4. 与团队分享,收集反馈

通过 Skills,Claude Code 不仅是 AI 助手,更是可以持续学习和进化的团队协作工具。现在就开始构建属于你们团队的 Skills 生态系统吧!

本文是《ClaudeCode 实战指南》系列的第六篇,更多 AI 编程实战技巧,欢迎关注 晨启AI。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询