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。

相关推荐
牛奶5 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶5 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
KEEN的创享空间11 小时前
AI编程从0到1之10X提效(Vibe Coding 氛围式编码 )09篇
openai·ai编程
GPUStack12 小时前
Token 不再焦虑:用 GPUStack + OpenClaw 搭一个“无限用”的本地 AI 助手
ai·模型推理·gpustack·openclaw
AlienZHOU12 小时前
为 AI Agent 编写高质量 Skill:Claude 官方指南
agent·ai编程·claude
恋猫de小郭13 小时前
移动端开发稳了?AI 目前还无法取代客户端开发,小红书的论文告诉你数据
前端·flutter·ai编程
KaneLogger14 小时前
【翻译】打造 Agent Skills 的最佳实践
agent·ai编程·claude
王小酱14 小时前
Everything Claude Code 文档
openai·ai编程·aiops
雮尘15 小时前
如何在非 Claude IDE (TARE、 Cursor、Antigravity 等)下使用 Agent Skills
前端·agent·ai编程
刘贺同学15 小时前
Day12-龙虾哥打工日记:OpenClaw 子 Agent 到底看到了什么?
aigc·ai编程