Appearance
Claude Code最佳实践:87条实战技巧全解析
来自 Claude Code 社区的实战指南,Boris Cherny 等核心开发者贡献了 87 条经验。
三种扩展方式
很多人搞混,先说清楚:
| 类型 | 位置 | 特点 |
|---|---|---|
| 子智能体(Agent) | .claude/agents/<name>.md | 独立上下文、自定义工具权限、重量级 |
| 命令(Command) | .claude/commands/<name>.md | 注入当前上下文、轻量、适合重复操作 |
| 技能(Skill) | .claude/skills/<name>/SKILL.md | 可配置、可预加载、支持隔离运行 |
简单说:
- 命令 = 给当前对话加点知识(轻量)
- 技能 = 给当前对话加点知识(可配置,能隔离)
- 子智能体 = 开个新对话(重量级)
什么时候用哪个?
| 场景 | 选择 |
|---|---|
| 每天重复多次的操作 | 用命令 |
| 需要隔离上下文、投入更多算力 | 用子智能体 |
| 需要可配置、可复用 | 用技能 |
简单任务直接用 Claude Code,别搞复杂了。
技能设计的几个坑
1. 技能是文件夹,不是文件
用 references/、scripts/、examples/ 子目录组织内容。
2. description 字段是触发器,不是摘要
❌ 别写:「这个技能用来做代码审查」
✅ 要写:「当用户说'review this PR'、'code review'、'检查代码'时触发」
3. 构建 Gotchas 部分
记录 Claude 的失败点,这是信噪比最高的部分:
- 「Claude 经常忘记检查边界条件」
- 「Claude 倾向于过度抽象」
4. 给目标和约束,别写逐步指令
❌ 别写:「第一步做 X,第二步做 Y」
✅ 要写:「目标是 Z,约束是不能破坏现有 API」
5. 用 context: fork 隔离运行
复杂技能在隔离的子智能体中运行,主上下文只看最终结果。
CLAUDE.md 怎么写
1. 每个文件控制在 200 行以内
太长了 Claude 会忽略。
2. 用 <important if="..."> 标签
包裹特定领域的规则,防止被忽略:
xml
<important if="working_with_payments">
始终使用幂等键处理支付请求
</important>3. 别写「最佳实践」
Claude 会忽略这种模糊表述。写具体的约束。
其他机制
| 机制 | 用途 |
|---|---|
| 钩子(Hooks) | 在特定事件触发时运行自定义处理器 |
| MCP 服务器 | 连接外部工具、数据库、API |
| 插件 | 打包技能、子智能体、钩子、MCP 服务器 |
| 检查点 | 基于 git 的自动回退,Esc Esc 或 /rewind |
| 记忆 | 通过 CLAUDE.md 和 .claude/rules/ 持久化上下文 |
典型工作流
研究 → 规划 → 执行 → 审查 → 发布命令 → 子智能体 → 技能
总结
| 概念 | 用途 | 重量 |
|---|---|---|
| 命令 | 重复操作 | 轻 |
| 技能 | 可复用流程 | 中 |
| 子智能体 | 复杂任务 | 重 |
选对工具,别把简单问题复杂化。
关键词:Claude Code最佳实践, 子智能体Agent, 命令Command, 技能Skill, CLAUDE.md写法, Hooks钩子
