一、扩展 Claude Code:开篇

Claude Code CLI 是一个强大的 AI 编程助手,但它的真正威力在于可扩展性。通过 Skills、Hooks 和 MCP 三大机制,你可以定制 Claude Code 的行为,接入外部工具,甚至构建完整的自动化工作流。

本系列将带你从零开始掌握 Claude Code 的扩展开发。

为什么需要扩展?

Claude Code 默认已经很好用了,但企业场景往往需要定制:

  • 团队规范:自动检查代码是否符合团队标准
  • 工具集成:接入公司内部的 API、知识库、CI/CD
  • 流程自动化:PR 审批通知、任务自动创建、部署触发
  • 安全控制:阻止危险命令、记录操作日志

这些需求无法通过 Claude Code 默认功能满足,但可以通过扩展实现。

三大扩展机制概览

Claude Code 提供三种扩展方式,各有侧重:

Skills:预定义的"技能包"

Skills 是可复用的提示模板,把常见操作封装成"技能"。

markdown 复制代码
---
name: commit
description: Create a git commit with a well-formed message
allowedTools: [Bash, Read]
---

Create a git commit following these steps:
1. Run git status and git diff to understand changes
2. Draft a commit message following conventional commits
3. Run git commit with the message

当你输入 /commit 时,Claude Code 会加载这个技能,按预设流程执行。

特点:

  • 用户可调用(/skill-name)
  • 可限制工具列表(allowedTools)
  • 可选择模型(model: opus/sonnet/haiku)

适合场景:重复性任务、标准化流程、团队共享操作

Hooks:生命周期"注入点"

Hooks 在特定事件发生时执行自定义逻辑。

json 复制代码
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": "notify-send 'Claude Code' 'Bash command completed'" }]
      }
    ]
  }
}

每当 Bash 工具执行完毕,就会触发这个 Hook,发送桌面通知。

特点:

  • 24 种事件类型(PreToolUse、PostToolUse、SessionStart、PreCompact...)
  • 可阻止操作(PreToolUse 返回 block)
  • 可修改输入/输出

适合场景:验证、审计、通知、自动记录

MCP:外部工具"接入协议"

MCP (Model Context Protocol) 让 Claude Code 连接外部工具服务器。

json 复制代码
{
  "mcpServers": {
    "slack": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-server-slack"]
    }
  }
}

连接后,Claude Code 可以调用 Slack 的工具(发消息、读取频道),就像调用内置工具一样。

特点:

  • 标准协议(Anthropic 推出)
  • 支持多种传输(stdio、HTTP SSE、WebSocket)
  • 工具、资源、提示三合一

适合场景:接入第三方服务、企业内部系统、复杂工具链

三机制对比

特性 Skills Hooks MCP
核心概念 提示模板 事件监听 外部工具
触发方式 用户调用 /skill 自动触发 AI 决定调用
主要用途 封装操作流程 验证、通知、记录 接入外部系统
复杂度 低 中 高
用户交互 主动 被动 混合
可阻止操作 否 是(PreToolUse) 否

选择指南

什么时候用 Skills?

  • 团队有固定的操作流程(如 commit 格式)
  • 想把复杂操作简化成一个命令
  • 需要限制 AI 可用的工具

什么时候用 Hooks?

  • 需要验证 AI 的操作(阻止危险命令)
  • 需要记录日志或发送通知
  • 需要在特定事件发生时自动执行操作

什么时候用 MCP?

  • 需要接入外部服务(Slack、GitHub、Jira)
  • 企业有内部 API 需要调用
  • 需要提供动态资源(如知识库搜索)

组合使用

三大机制可以组合:

  • Skill + Hook:Skill 定义操作,Hook 验证操作
  • MCP + Skill:Skill 封装 MCP 工具调用流程
  • Hook + MCP:Hook 在 MCP 工具执行后通知

一个企业级示例:

ruby 复制代码
用户调用 /deploy-pr
    │
    ▼
Skill 加载(限制工具:Bash、MCP:gitlab)
    │
    ▼
PreToolUse Hook 验证:是否在 production 分支?
    │
    ├─ 是 → 允许执行
    │       │
    │       ▼
    │   Claude 调用 MCP:gitlab 创建 PR
    │       │
    │       ▼
    │   PostToolUse Hook:发送 Slack 通知
    │
    └─ 否 → 阻止执行,提示错误

本系列学习路径

篇数 主题 你将学到
02 Skills 基础 编写第一个 Skill,了解所有属性
03 Skills 进阶 Fork 模式、contextModifier、模型选择
04 Hooks 入门 24 种事件,6 种来源,配置格式
05 Hooks 实战 验证 Hook、通知 Hook、stdin/stdout
06 MCP 基础 7 种传输类型,配置格式,企业策略
07 MCP 开发 从零开发 MCP Server
08 MCP 资源与提示 Resources、Prompts,完整能力
09 组合扩展 Skills + Hooks + MCP 协同
10 企业案例 实际场景的完整实现
11 最佳实践 调试、性能、安全、踩坑
12 总结 对比表、学习路径、资源汇总

准备开始

确保你已经:

  1. 安装 Claude Code CLI (npm install -g @anthropic-ai/claude-code)
  2. 了解基本使用(发送消息、工具调用)
  3. 有一个测试项目目录

下一篇,我们将深入 Skills,编写第一个自定义技能。

相关推荐
回眸&啤酒鸭2 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智2 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅2 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein2 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu2 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
wukangjupingbb2 天前
智能网联汽车安全能力框架
人工智能
龙亘川2 天前
明月照湾区,智启新赛道:从顶流文旅IP盛会看智慧文旅升级路径
人工智能·智慧城市·开源软件·数据可视化
飞猫的边缘AI2 天前
边缘AI应用:家用AI摄像头怎么做数据训练?
人工智能·边缘计算·ai算法·边缘ai