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

相关推荐
用户5191495848452 分钟前
WordPress File Upload 插件路径遍历漏洞利用工具 (CVE-2024-9047)
人工智能·aigc
宋哥转AI6 分钟前
学了Spring AI Graph再看LangGraph,发现API几乎一模一样
java·人工智能·agent
Z-D-K6 分钟前
考验AI的“自我和意识“-AI对《红楼梦》后40回的改写(16)
人工智能·ai·aigc·交互·agi
AI破壁猿9 分钟前
我做了一个 AI 工具,把 GitHub 仓库 5 分钟转成专利交底书
人工智能·llm·saas
升鲜宝供应链及收银系统源代码服务12 分钟前
升鲜宝 AI助手模块功能关联、调用关系与软件开发说明(二)---升鲜宝生鲜配送供应链管理系统源代码服务
人工智能·生鲜配送系统·生鲜供应链源代码·供应链源代码出售·生鲜配送源代码服务·猪肉生产加工系统源代码·生鲜供应链系统
杨江27 分钟前
codex开始使用
人工智能
财经资讯数据_灵砚智能28 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月6日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
落羽的落羽31 分钟前
【项目】JsonRpc框架——开发实现1(细节功能、字段定义、抽象层、具象层)
linux·服务器·网络·c++·人工智能·算法·机器学习
Harvy_没救了33 分钟前
【github爆款】Headroom:AI代理的智能上下文压缩层 —— 深度解析与洞察
人工智能·github
圣殿骑士-Khtangc36 分钟前
GPT-5.5 全面上线:大模型进入“价值验证“之年,幻觉率断崖式下降52.5%
人工智能