5 分钟学会 Claude Code Skills & Subagents:让 AI 成为你的自动化助手
🎯 引言:为什么需要自动化助手?
想象你在编程时遇到这些场景:
- ❓ “这个 API 设计符合 RESTful 规范吗?”
- 🔍 “帮我审查这段代码有没有安全漏洞”
- 📝 “根据代码自动生成 API 文档”
- ✅ “为这个函数写单元测试”
传统方式:你需要反复告诉 AI 该遵循什么标准、检查哪些要点、输出什么格式。每次都从零开始,效率低下。
Claude Code Skills & Subagents 就像给 AI 配备了:
- 📚 Skills(技能):一个自动翻开的知识库 – AI 自己知道该查什么标准
- 🤖 Subagents(子助手):专职助理 – 一句话完成复杂任务,保证质量
核心价值:一次配置,永久复用。告别重复劳动!
🧩 核心概念:Skills vs Subagents
用一个类比理解
Skills = 图书馆的自动索引系统
- 你问:”REST API 应该怎么设计?”
- AI 自动查阅《API 设计规范》这本书,给你答案
- 你不需要告诉它去查书,它自己知道
Subagents = 专职项目助理
- 你说:”Use code-reviewer,审查这段代码”
- 助理接手任务,从头到尾完成:检查规范、发现问题、提供建议
- 你需要明确叫它的名字,但它会自动完成所有步骤
核心区别对比表
| 维度 | Skills(技能) | Subagents(子助手) |
|---|---|---|
| 激活方式 | 🟢 自动(AI 判断) | 🔵 显式调用(你喊名字) |
| 功能定位 | 提供知识/标准 | 执行复杂任务 |
| 使用场景 | 回答”怎么做” | 帮你”做完它” |
| 上下文 | 共享主对话 | 独立上下文 |
| 适用任务 | 咨询、指导 | 生成、审查、分析 |
举例说明
Skill 示例(自动激活)
你:"RESTful API 应该怎么设计 URL?"
→ code-standards skill 自动激活
→ AI:"根据 RESTful 规范,资源 URL 应使用名词复数形式..."
特点:你只是问了个问题,AI 自己找到相关知识。
Subagent 示例(显式调用)
你:"Use code-reviewer to check this function for security issues"
code-reviewer 执行:
1. 扫描代码(SQL 注入、XSS、敏感信息泄露)
2. 检查最佳实践(错误处理、输入验证)
3. 生成详细报告(问题 + 修复建议 + 代码示例)
特点:一句话触发,全流程自动化,输出标准化。
🚀 3 分钟快速上手
测试 1:体验 Skill 自动激活(最简单)
直接问这个问题:
"Python 函数命名有什么规范?"
会发生什么:
- ✅
code-standardsSkill 自动激活(如果已配置) - ✅ AI 回答:”根据 PEP 8 规范,函数名应使用小写字母和下划线…”
- ✅ 你无需任何特殊操作,就像正常对话
关键点:Skill 是隐形的,你感觉不到它的存在,但它让 AI 的回答更专业、一致。
测试 2:显式调用 Subagent(需要喊名字)
输入这个命令:
"Use code-reviewer to explain what you can check for me"
(让代码审查助手介绍自己能做什么)
会发生什么:
- ✅
code-reviewerSubagent 被激活 - ✅ 它会详细列出能检查的内容:
- 代码规范(命名、格式)
- 安全漏洞(SQL 注入、XSS)
- 性能问题(N+1 查询、内存泄漏)
- 最佳实践(错误处理、日志)
关键点:必须用 "Use [subagent-name] to ..." 格式显式调用。
测试 3:查看可用功能
输入命令:
/agents
会显示:
可用 Subagents:
- code-reviewer(代码审查)
- doc-generator(文档生成)
- test-writer(测试生成)
关键点:忘记名字了?用 /agents 随时查看。
💼 实战案例
案例 1:自动化代码审查
场景
你写了一个用户登录函数,想检查有没有安全问题。
传统方式(低效)
你:"帮我审查这个登录函数"
AI:"好的,请提供代码"
你:"[贴代码]"
AI:"这个函数有 SQL 注入风险"
你:"怎么修复?"
AI:"使用参数化查询"
你:"给个示例"
AI:"[示例代码]"
你:"还有其他问题吗?"
AI:"密码没有加密存储"
你:"怎么加密?"
AI:"..."
来回 6-8 次对话,耗时 10+ 分钟
使用 Subagent(高效)
你:"Use code-reviewer to check this login function
def login(username, password):
query = f'SELECT * FROM users WHERE name={username}'
user = db.execute(query)
if user and user.password == password:
return create_session(user)
return None
"
code-reviewer 输出:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 严重问题(2 个)
1. SQL 注入风险(第 2 行)
问题:使用 f-string 拼接 SQL,攻击者可输入 `' OR '1'='1`
修复:使用参数化查询
建议代码:
query = 'SELECT * FROM users WHERE name = ?'
user = db.execute(query, (username,))
2. 明文密码比对(第 4 行)
问题:密码应加密存储,使用 bcrypt/argon2 哈希
修复:密码哈希验证
建议代码:
import bcrypt
if bcrypt.checkpw(password.encode(), user.password_hash):
...
🟡 次要问题(1 个)
3. 缺少错误处理
建议:添加 try-except 捕获数据库异常
✅ 最佳实践建议
- 添加登录失败次数限制(防暴力破解)
- 记录登录日志(安全审计)
- 使用 HTTPS(防中间人攻击)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
一次调用,完整报告,耗时 30 秒!
案例 2:从代码自动生成文档
场景
你写了一个 API 模块,需要生成 API 文档。
使用 Subagent
你:"Use doc-generator to create API documentation from this code
class UserAPI:
def get_user(self, user_id: int) -> dict:
'''获取用户信息'''
return db.query(User).filter(User.id == user_id).first()
def create_user(self, name: str, email: str) -> dict:
'''创建新用户'''
user = User(name=name, email=email)
db.add(user)
db.commit()
return user
"
doc-generator 输出:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. User API 文档
## 端点列表
### GET /users/{user_id}
获取指定用户的详细信息
**路径参数**:
- `user_id` (integer, required): 用户唯一标识符
**响应示例**:
```json
{
"id": 123,
"name": "张三",
"email": "[email protected]"
}
状态码:
- 200: 成功
- 404: 用户不存在
POST /users
创建新用户账户
请求体:
{
"name": "string (required)",
"email": "string (required, format: email)"
}
响应示例:
{
"id": 124,
"name": "李四",
"email": "[email protected]"
}
状态码:
- 201: 创建成功
- 400: 请求参数错误
- 409: 邮箱已存在
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
自动提取代码细节,生成规范文档,可直接交付!
❓ 常见问题解答
Q1: 我什么时候该用 Skill,什么时候用 Subagent?
简单判断:
-
💬 只是咨询 → 不用管,Skill 自动帮你
- “这个设计模式怎么用?”
- “Python 异步编程有什么坑?”
-
🎯 要完成任务 → 显式调用 Subagent
- “审查这段代码”
- “生成 API 文档”
- “写单元测试”
经验法则:问问题用 Skill,干活用 Subagent。
Q2: 怎么知道 Skill 有没有激活?
通常你不需要知道,就像用 Google 搜索不关心它用了什么算法。
如果好奇,AI 会在回答中提及:
"根据 code-standards skill 的指导,函数命名应该..."
Q3: Subagent 名字太多记不住怎么办?
两个办法:
-
用命令查看:
/agents显示所有可用助手
-
直接问 AI:
"你有哪些 Subagent 可以用?"
Q4: Subagent 做错了能改吗?
当然可以,对话式改进:
你:"Use code-reviewer to check this code"
AI:[生成报告]
你:"漏掉了性能检查,再补充一下"
AI:[补充性能分析]
你:"把建议改成中文"
AI:[重新输出中文版]
Subagent 输出是起点,不是终点。
Q5: 这会影响性能吗?
Skills:
- 按需加载,只有相关时才消耗 token
- 几乎无性能影响
Subagents:
- 独立上下文,不污染主对话
- 首次启动有轻微延迟(<1 秒)
- 长会话中反而提升性能(避免上下文膨胀)
结论:收益远大于成本。
🎓 总结与下一步
核心要点回顾
✅ Skills = 自动知识库
- 你问问题,AI 自动查阅标准
- 无需特殊操作,自然对话即可
✅ Subagents = 专职助手
- 用
"Use [name] to ..."显式调用 - 一句话触发,全流程自动化
- 保证输出质量和一致性
✅ 配合使用威力倍增
- Subagents 自动加载相关 Skills
- 执行任务时自动应用领域知识
立即开始使用
第 1 步:查看可用功能
/agents
第 2 步:测试一个简单 Subagent
"Use code-reviewer to explain what you can check"
第 3 步:在实际工作中使用
"Use code-reviewer to check [你的代码]"
"Use doc-generator to create docs from [你的代码]"
进阶学习
如果你想:
- 📝 创建自己的 Skills
- 🤖 定制专属 Subagents
- 🔧 高级配置和优化
可以查阅 Claude Code 官方文档:
- Skills 文档:https://code.claude.com/docs/en/skills
- Subagents 文档:https://code.claude.com/docs/en/agents
最后的话
Skills 和 Subagents 不是复杂的技术,而是让你更高效的工具。
就像学会使用 IDE 的快捷键一样,一开始可能不习惯,但一旦掌握,你会惊讶于节省的时间。
不要想太多,现在就试试吧! 🚀
文章结束
有问题?试试问 Claude:
"关于 Skills 和 Subagents,我还有个疑问..."
祝你编程愉快!💻✨