Claude Code Manual

进阶:子代理与技能

用熟了以后,你会发现有些任务总在重复交代同样的要求。子代理和技能就是把这些要求固定下来的办法。

子代理:专门的帮手

子代理(subagent)是一个有专门职责的助手,比如“代码审查员”“测试员”。Claude Code 可以把一部分任务交给它,它在自己独立的上下文里工作,做完把结果交回来。好处是:

  • 主对话不会被大量中间过程塞满;
  • 每个子代理可以有自己的指令、可用工具和模型。

子代理是一个 Markdown 文件,放在:

位置作用范围
~/.claude/agents/你所有的项目
项目/.claude/agents/这个项目,可以提交到 Git 共享

最简单的创建方法是直接让 Claude Code 帮你写:

在 ~/.claude/agents/ 创建一个名叫 reviewer 的子代理:只读,负责检查改动里有没有明显的错误、遗漏的边界情况和泄露的密钥,用中文列出问题。

生成的文件大致是这样:

---
name: reviewer
description: 检查改动中的错误、遗漏和泄露的密钥。修改代码后使用。
tools: Read, Grep, Glob
model: sonnet
---

你是一名代码审查员。逐条列出发现的问题,说明原因并给出修改建议,用中文回答。
  • description 决定 Claude 什么时候会把任务交给它,写清楚“做什么、什么时候用”。
  • tools 限制它能用的工具,上例只能读、不能改。

使用时直接说“用 reviewer 子代理检查这次改动”。输入 /agents 可以查看可用的子代理。如果刚新建了 ~/.claude/agents/ 目录,需要重启 Claude Code 才能识别。

技能:可复用的做法

技能(skill)是一份写好的操作说明。Claude 会在合适的时候自动使用它,你也可以输入 /技能名 直接调用。适合固定流程,比如“按公司模板写周报”“发版前检查清单”。

技能是一个文件夹,里面放一个 SKILL.md:

位置作用范围
~/.claude/skills/技能名/SKILL.md你所有的项目
项目/.claude/skills/技能名/SKILL.md这个项目,可以提交到 Git 共享

例子:创建一个周报技能。

mkdir -p ~/.claude/skills/weekly-report

在 ~/.claude/skills/weekly-report/SKILL.md 写入:

---
description: 把零散的工作记录整理成周报。用户要求写周报、周总结或工作汇报时使用。
---

## 格式

1. 本周完成:按项目分组,每条一句话,写清结果。
2. 进行中:写明进度和预计完成时间。
3. 风险与需要的支持。
4. 下周计划:不超过 5 条。

## 要求

- 用中文,语气客观,不夸大。
- 原始记录里没有的事情不要编造。
- 缺少日期或负责人时,在末尾列出需要确认的问题。

之后对 Claude Code 说“帮我把这些记录整理成周报”,它会按这个技能来写;也可以输入 /weekly-report 直接调用。

description 同样很关键:写明“做什么”和“什么时候用”,Claude 才知道何时自动调用。

子代理和技能怎么选

子代理技能
本质一个独立工作的助手一份操作说明
上下文独立的,不占用主对话加载到当前对话里
适合审查、调研这类可以单独完成的任务固定格式、固定流程

拿不准时,先写技能,它更简单。

更多细节见官方文档:子代理、技能。