一、扩展 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,编写第一个自定义技能。

相关推荐
Geek-Chow6 分钟前
MCP 模型上下文协议:四、概念地图 · 八个概念与五个组件
人工智能·大语言模型·mcp
Hotchip_MEMS7 分钟前
MS2202AB-M15E输出驱动能力:直连MCU GPIO无需三极管
人工智能·笔记·物联网·电脑·制造
向哆哆10 分钟前
PCB电子元器件目标检测数据集:23类别 | 目标检测
人工智能·目标检测·计算机视觉
陈彬深大24 分钟前
《AI 渐进编程》之二十九:从面向对象到 Harness——封装 AI 的不确定性
人工智能·软件工程
克里斯蒂亚诺更新31 分钟前
机器学习和深度学习的主要区别--特征提取
人工智能·深度学习·机器学习
同元软控1 小时前
MWORKS EI:从数字空间到物理世界,面向具身智能产品的一体化研发环境
人工智能·机器学习
VivienneLuo2 小时前
1. 联邦大模型微调综述 -《Federated Large Language Models...》
人工智能·语言模型·微调·联邦学习
漂流瓶jz7 小时前
【AI】大模型本地部署与量化:Ollama、transformers、llama.cpp实践
人工智能·llm·ai编程
飞哥数智坊9 小时前
AI时代,我们到底该学什么、用什么,为什么还没提效?
人工智能
飞哥数智坊9 小时前
GPT 做架构,国内模型写代码:这条 AI 开发路线能跑通吗?
人工智能·ai编程