ClaudeCode 实战指南(六):Skills 技能包开发与自动化实战

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

三种部署方式

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

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

  3. 插件 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 --stagedmvn 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. 总结与下一步

关键要点

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

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

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

  4. 创建很简单 - 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 后即可使用。

持续改进

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

  2. 收集团队反馈

  3. 迭代优化描述和指令

  4. 逐步添加更多 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 代码生成

  • 日志分析和问题诊断

学习资源

立即行动

  1. 安装 Claude Code

  2. 集成 2-3 个官方 Skills

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

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

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

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

相关推荐
怪我冷i4 小时前
wsl Ubuntu切换中科大源
linux·windows·ubuntu·ai编程·ai写作
飞哥数智坊4 小时前
Cursor 可视化编辑器实测:前端效率新利器,但仍需完善
人工智能·ai编程·cursor
我很哇塞耶5 小时前
英伟达开源发布最新AI模型!引入突破性专家混合架构,推理性能超越Qwen3和GPT,百万token上下文,模型数据集全开源!
人工智能·ai·大模型
undsky_5 小时前
【n8n教程】:n8n CLI 命令行工具
人工智能·ai·aigc·ai编程
醇氧5 小时前
springAI学习 (二) 模型
java·学习·spring·ai·ai编程
羑悻的小杀马特5 小时前
破局IoT与大数据协同难题!Apache IoTDB用硬核性能打底、强生态护航,成行业新宠!
大数据·物联网·ai·apache·iotdb
填满你的记忆5 小时前
Gemini使用教程
java·后端·ai编程
Z3r4y5 小时前
【AI】2025 0x401新生交流赛 wp
人工智能·ai·ctf·wp
applebomb5 小时前
经济、能打的vibe coding后端组合:IDEA+Claude Code(WSL)+GLM4.6安装与配置
java·idea·ai编程·vibecoding