第2章 技能系统 (Skills)

把 AI 的专长封装成可复用的「技能包」,像调用函数一样调用专家能力

2.1 什么是技能?

技能就像是给 Claude 安装的专业应用。每个技能封装了一套特定领域的知识和操作流程。比如:

技能的强大之处在于:它把领域知识 + 操作流程 + 工具调用打包在一起。调用一个技能,Claude 就自动切换到对应的专家模式。

2.2 内置技能一览(全部免安装)

以下技能随 Claude Code CLI 自带,不需要安装任何东西,直接在对话中输入 /技能名 就能用。输入 / 然后按 Tab 可以查看完整列表和自动补全。

🔧 update-config

配置 settings.json,管理权限、环境变量、Hook 等

🔍 review

审查 Pull Request,给出结构化反馈

🛡️ security-review

对当前分支的改动进行安全审查

📝 init

为新项目创建 CLAUDE.md 文档

♻️ simplify

审查代码质量,发现复用机会,自动修复问题

🎹 keybindings-help

自定义键盘快捷键和绑定

🔄 loop

按时间间隔重复运行命令或提示词

📡 claude-api

构建和调试 Claude API / Anthropic SDK 应用

✅ fewer-permission-prompts

扫描常用命令,生成白名单减少权限弹窗

2.3 技能 vs 普通对话——有什么区别?

当你直接对 Claude 说「帮我审查这个 PR」和你输入 /review ,效果是不同的:

普通对话使用技能
Claude 自行理解你的意图技能提供预定义的审查框架
输出格式不固定输出结构化的审查报告
可能遗漏关键检查项技能包含完整的检查清单
质量取决于你的提示词水平技能内置了最佳实践的提示词模板
一句话:技能 = 专家写的「标准化操作手册」+ 自动化工具链。你不需要每次都手写复杂提示词。

2.4 如何使用技能

技能通过斜杠命令调用,语法是 /技能名

# 审查 PR
/review

# 简化代码
/simplify

# 配置 Claude Code
/update-config

# 初始化项目文档
/init

# 安全审查
/security-review

# 循环执行任务
/loop 5m "检查部署状态"

练习 1:用 /simplify 审查代码质量

假设你刚写了一些代码,想检查有没有冗余或可以改进的地方:

/simplify

技能会自动检查当前改动,发现可以复用、简化或优化的地方,然后自动修复。

2.5 实践:/init 初始化项目

练习 2:为新项目创建 CLAUDE.md

CLAUDE.md 是 Claude Code 的项目配置文件,告诉 Claude 项目的结构、编码规范、常用命令等。

/init

/init 技能会:

  1. 扫描项目目录结构
  2. 查看 package.json / requirements.txt 等配置文件
  3. 分析代码风格和框架
  4. 自动生成一份描述项目的 CLAUDE.md

之后 Claude 在处理这个项目时,就会自动参考 CLAUDE.md 中的信息。

2.6 实践:/review 审查 PR

练习 3:用 /review 审查代码

/review

/review 技能会:

  1. 检查当前分支相对于主分支的所有改动
  2. 从多个维度审查:正确性、安全、性能、可维护性
  3. 输出结构化的审查报告,包括严重程度分级

2.7 技能从哪来?

技能分为两种来源:内置技能项目自定义技能

内置技能(随 Claude Code CLI 自带)

上面列出的 9 个技能(review、init、simplify 等)都是Claude Code CLI 自带的,不需要安装,开箱即用。你输入 /技能名 就能直接调用。

如何查看所有可用技能:

# 在 Claude Code 对话中输入:
/help

# 这会列出所有可用的斜杠命令和技能
# 你也可以直接输入 / 然后按 Tab 键查看自动补全列表

项目自定义技能

除了内置技能,你还可以为特定项目创建自定义技能。这些技能定义在项目目录下的 .claude/skills/ 文件夹中。

一个技能就是一个 Markdown 文件,包含了给 Claude 的指令模板。比如:

# 项目结构示例:
your-project/
└── .claude/
    └── skills/
        ├── deploy.md      ← /deploy 技能
        ├── migrate.md     ← /migrate 技能
        └── review.md      ← 覆盖内置 /review 技能

每个技能文件的格式:

---
name: deploy
description: 部署项目到 staging 环境
---

# 部署流程

1. 运行 `npm run build` 构建项目
2. 运行 `npm test` 确保测试通过
3. 执行 `./deploy.sh staging` 部署
4. 确认部署成功后输出访问链接

部署前请确认:
- 所有改动已提交
- CI 已通过
注意:自定义技能和内置技能可以共存。如果自定义技能和内置技能同名(比如你写了一个 review.md),自定义版本会覆盖内置版本。

2.8 技能的工作原理

当你调用 /review 时,背后发生了什么?

  1. 查找技能:Claude Code 先在项目 .claude/skills/ 目录找,找不到就用内置的
  2. 加载提示词:将技能文件中的系统提示词模板注入到当前会话的上下文中
  3. 执行流程:Claude 按照技能定义的步骤和检查清单一步步执行
  4. 返回结果:输出格式化好的结果(如审查报告、项目文档等)

关键理解:

2.9 什么时候用技能 vs 子代理?

用技能用子代理
需要标准化的操作流程需要并行执行独立任务
结果需要在当前上下文中使用中间过程不想污染主对话
重复执行相同的操作需要独立的思考空间
例如:审查、初始化、配置例如:搜索、研究、并行构建
核心区别:技能增强「当前 Claude」的能力;子代理创建「新的 Claude」去干活。

2.10 常见问题

Q: 我能自己写技能吗?

可以,但这是高级操作。你需要在特定目录创建技能定义文件。对于大多数用户,内置技能已经覆盖了常见需求。

Q: 技能和 MCP 有什么区别?

技能是提示词 + 流程的封装,MCP 是外部工具的连接协议。下一章会详细讲 MCP。