背景与动机
Claude Code 的扩展能力大致可以分成三类:Skills、Hooks 和 MCP。它们都能让 Agent 更强,但解决的问题不同。
简单理解:
Skills = 把经验写成可复用工作流Hooks = 在关键时机自动执行规则MCP = 让 Agent 调用外部工具或数据源不要把所有问题都塞进同一种机制。选错扩展方式,会让系统变复杂,也更难调试。

Skills:沉淀重复经验
Skills 适合放“人经常解释给 Agent 的流程”。
例如:
- 写技术博客的结构和风格。
- 做代码审查的检查维度。
- 修 Bug 时的排查顺序。
- 生成图表或文档的格式要求。
Skill 重点是指导 Agent 如何思考和执行,不一定需要外部 API。
适合用 Skill 的判断标准:
- 这件事会反复发生。
- 规则比较稳定。
- 需要多步骤流程。
- 只靠一句提示词容易遗漏。
Hooks:固定时机的自动动作
Hooks 适合处理“某个事件发生时,总要做的事”。
例如:
- 执行命令前检查是否危险。
- 修改文件后运行格式检查。
- 任务结束前提醒输出测试结果。
Hooks 的优势是稳定触发,缺点是容易隐藏副作用。Hook 里不要放需要复杂判断的业务流程,否则排查时很难分清是 Agent 决策还是 Hook 自动动作。
MCP:连接外部世界
MCP 适合让 Agent 安全、结构化地访问外部系统。
例如:
- 查询数据库。
- 读取项目管理工具。
- 调用日志平台。
- 访问内部文档。
- 操作浏览器或设计工具。
MCP 工具应该有清楚的输入输出和权限边界。不要给 Agent 一个过宽的“万能执行器”,否则它会把外部系统风险带进对话。
如何选择
可以用这张判断表:
| 需求 | 优先选择 |
|---|---|
| 固定写作/审查/排查流程 | Skill |
| 命令前后自动检查 | Hook |
| 访问外部 API 或数据库 | MCP |
| 一次性任务约束 | 当前对话提示词 |
| 项目长期规则 | CLAUDE.md |
常见陷阱
- 把一次性偏好写成 Skill,后续每次都被影响。
- 在 Hook 里做太多隐藏修改,用户难以感知。
- MCP 权限过大,没有只读和写入边界。
- 用扩展机制弥补需求不清楚的问题。
选型示例
场景:每次写博客都要遵循固定结构。选择:Skill。
场景:每次执行删除命令前都要确认。选择:Hook。
场景:Agent 需要查询 Jira、GitHub、数据库或日志平台。选择:MCP。
场景:今天这次任务不要改 UI。选择:当前对话约束。一句话总结
Skills 管流程,Hooks 管时机,MCP 管外部能力;先分清问题类型,再决定扩展方式。