第 9 章 Skills 生态
本章目标
- 理解 Skills 的概念及其与 Hooks、Agent 的区别
- 熟悉内置 Skills 及其用途
- 学会从社区市场安装和管理 Skills
- 能编写一个简单的自定义 Skill
- 了解如何用 Skills 组合构建完整工作流
9.1 Skills 是什么
**Skills(技能)**是 Claude Code 的可复用领域专长模块。每个 Skill 封装了一套特定的工作流程、知识体系和行为准则,当被加载时会扩展 Claude Code 的能力和决策方式。
Skills 的设计思想
Skills vs 其他机制
| 机制 | 回答的问题 | 生效方式 |
|---|---|---|
| CLAUDE.md | "这个项目的规则和约定是什么" | 自动加载,全程影响 |
| Settings.json | "行为偏好和权限边界是什么" | 配置驱动,自动生效 |
| Hooks | "在 X 发生时应该自动做什么" | 事件触发执行 |
| Skills | "做 Y 类任务时应该遵循什么方法论" | 用户按需调用加载 |
| Agent | "谁来做这件事" | 主 Agent 分发给 Subagent |
💡 Skills 的核心价值:把"人知道怎么做但 Claude 不知道"的领域经验,封装成可复用的模块。一次编写,团队共享。
9.2 内置 Skills 一览
Claude Code 内置了一批 Skills,覆盖常见开发工作流。
流程类 Skills
| Skill | 用途 | 典型触发场景 |
|---|---|---|
| brainstorming | 将创意转化为完整设计 | 开始新功能前需要梳理需求 |
| writing-plans | 编写详细实施计划 | 设计通过后要落地为执行步骤 |
| executing-plans | 按计划逐任务执行 | 有写好的计划需要执行 |
| verification-before-completion | 完成前验证 | 声称任务完成前确保没遗漏 |
开发方法类 Skills
| Skill | 用途 | 典型触发场景 |
|---|---|---|
| test-driven-development | TDD 开发流程 | 实现功能前先写测试 |
| systematic-debugging | 系统化调试方法论 | 遇到 Bug 需要排查 |
| requesting-code-review | 请求代码审查 | 功能完成准备合并 |
| receiving-code-review | 处理审查反馈 | 收到 review 意见后的处理 |
工程实践类 Skills
| Skill | 用途 | 典型触发场景 |
|---|---|---|
| dispatching-parallel-agents | 并行 Agent 分发 | 有多个独立任务同时进行 |
| subagent-driven-development | Subagent 驱动开发 | 用 Agent 执行实施计划 |
| using-git-worktrees | Git Worktree 隔离开发 | 需要工作区隔离 |
| finishing-a-development-branch | 完成开发分支 | 所有任务完成,决定如何合并 |
工具类 Skills
| Skill | 用途 | 典型触发场景 |
|---|---|---|
| writing-skills | 编写新 Skill | 创建/编辑自定义 Skill |
| claude-api | Claude API 应用开发 | 构建基于 Anthropic SDK 的应用 |
| init | 初始化项目 CLAUDE.md | 新项目需要 CLAUDE.md |
如何调用内置 Skills
在对话中使用 /skill-name 格式:
bash
/brainstorming
或者直接描述你想做的事,Claude Code 会根据上下文自动建议加载合适的 Skill。
9.3 社区 Skills 市场
Superpowers 市场是 Skills 的社区分发平台。
安装社区 Skill
Skills 以插件形式安装。当你加载一个尚未安装的 Skill 时,Claude Code 会询问是否从市场安装。
相关的管理操作:
bash
# Skills 存储在插件缓存目录中
# 通常位于 ~/.claude/plugins/cache/
管理已安装的 Skills
- Skills 会随 Claude Code 更新而自动升级
- 不再需要的 Skill 可以删除对应插件目录
- 建议安装前先了解 Skill 的功能描述和评价
⚠️ 社区 Skills 来自第三方开发者。安装前了解其功能范围,避免安装包含你不理解的权限要求的 Skill。
9.4 编写自定义 Skill
Skill 的结构
一个 Skill 是一个包含以下要素的目录:
perl
my-skill/
├── metadata.json # Skill 元数据
├── prompt.md # 核心提示词
└── checklist.md # 检查清单(可选)
元数据 (metadata)
json
{
"name": "my-custom-skill",
"description": "简短描述这个 Skill 做什么 --- 用于匹配触发场景",
"version": "1.0.0",
"author": "your-name",
"triggers": [
"描述1",
"描述2"
]
}
核心提示词 (prompt)
Prompt 是 Skill 的核心 ------ 它告诉 Claude Code 在处理这类任务时应该遵循什么方法论:
markdown
# My Custom Skill
## Overview
一句话描述。
## The Process
### Step 1: 第一步做什么
具体说明...
### Step 2: 第二步做什么
具体说明...
## Key Principles
- 原则 1
- 原则 2
检查清单 (checklist)
Checklist 确保 Skill 被正确执行。定义了执行过程中必须完成的检查项:
markdown
## Checklist
- [ ] 检查项 1
- [ ] 检查项 2
- [ ] 检查项 3
一个完整的自定义 Skill 示例
假设你需要一个"代码提交前检查"Skill:
prompt.md 核心内容:
markdown
# Pre-Commit Review
## Overview
在提交代码前运行一系列质量检查,确保代码符合团队标准。
## The Process
### Step 1: 检查变更范围
读取 `git diff --cached` 了解待提交的变更。
### Step 2: 运行质量检查
- 运行 linter
- 运行类型检查
- 运行相关测试
### Step 3: 生成提交信息
根据变更内容按 Conventional Commits 规范生成提交信息。
### Step 4: 最终确认
列出检查结果和提交信息,等待用户确认。
## Key Principles
- 任何不通过的检查都要向用户明确报告
- 不跳过 hooks
- 不在测试失败时提交
💡 编写 Skill 时,想一个问题:"如果换了一个刚入职的同事来做这件事,你会给他什么操作手册?" 那个手册的内容,就是 Skill 的 prompt。
9.5 Skills 实战组合
Skills 的真正威力在于组合使用。以下是两个典型工作流。
工作流一:完整功能开发
这个流程中,Skills 按顺序流转:从创意到设计到计划到实现到审查到完成。
工作流二:Bug 修复
💡 不必每次都走完整流程。上面的工作流是"理想态",实际使用时根据任务复杂度灵活裁剪。
本章要点回顾
- Skills 是可复用的领域专长模块,告诉 Claude Code "做这类事时应该遵循什么方法论"
- Skills 不同于 CLAUDE.md(约定)、Hooks(事件响应)、Agent(何人执行)
- 内置 Skills 覆盖了完整的开发流程:从 brainstorming 到 finishing
- 社区 Skills 可通过 Superpowers 市场获取和安装
- 自定义 Skill 由 metadata、prompt 和 checklist 组成
- Skills 的组合使用构成了完整的开发工作流