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

相关推荐
user29876982706542 小时前
二、Skills 基础:编写第一个自定义技能
人工智能
JavaAgent架构师2 小时前
前端AI工程化(三):异步编程与并发控制
前端·人工智能
VALENIAN瓦伦尼安教学设备2 小时前
填补国内空白!瓦伦尼安发布首台船机机械故障诊断振动实验台
大数据·人工智能·嵌入式硬件
小郭哥x2 小时前
AI Agent实现CODESYS自动化编程
人工智能·ai·自动化·codesys·工业自动化·ai agent·mcp服务器
吃好睡好便好2 小时前
Matlab中三种三维图的对比
开发语言·人工智能·学习·算法·matlab·信息可视化
程序员cxuan2 小时前
对姚顺宇的4小时访谈整理
人工智能
初心未改HD2 小时前
深度学习之激活函数详解
人工智能·深度学习
2601_951515952 小时前
护眼照明进入深度洗牌期:书客SUN2如何重塑健康光行业规则?
大数据·人工智能·书客护眼大路灯·爱眼护眼·护眼大路灯
Joseph Cooper2 小时前
生产级 AI Agent 评估体系:从 12 指标框架到持续评估闭环
人工智能·ai·agent·eval·harness