vibecoding起步注意点:插件、Skills、MCP、Hooks

以下是关于插件、Skills、MCP、Hooks四个概念的关系与具体使用的总结,直接用于博客:


插件、Skills、MCP、Hooks 的关系与具体使用

一、它们是什么?

概念 一句话定义 类比
插件(Plugin) 一个完整的工具包,包含多个组件 一个工具箱
Skills(技能) 插件的核心,定义"怎么做"的指令模板 工具箱里的具体工具
MCP 连接外部系统的标准化协议 工具箱上的USB接口
Hooks(钩子) 事件驱动的自动执行脚本 工具箱上的自动感应器

二、它们的关系

复制代码
插件(Plugin)
├── Skills      ← 核心能力(做什么、怎么做)
├── Hooks       ← 自动反应(什么事件触发)
└── MCP         ← 对外连接(怎么连外部)

关键理解:

  • 插件 ≠ Skills ,插件包含 Skills
  • Skills 决定"做什么",MCP 决定"怎么连外部"
  • Hooks 是"自动触发",不需要手动调用

三、具体怎么用?

1. Skills 的使用

定义方式:skills/ 目录下创建 SKILL.md 文件

markdown 复制代码
# 代码审查 Skill

## 描述
对代码变更进行审查,检查代码质量和安全性。

## 触发条件
- 自动触发:用户要求审查代码时
- 手动触发:输入 /review

## 执行步骤
1. 读取变更文件
2. 检查代码风格、安全漏洞、性能问题
3. 生成审查报告

调用方式: Claude 自动触发,或用户输入 /skill-name 手动调用。


2. MCP 的使用

定义方式: 在项目根目录创建 .mcp.json 文件

json 复制代码
{
  "mcpServers": {
    "销售数据库": {
      "command": "node",
      "args": ["sales-server.js"],
      "description": "查询销售额、订单量、客户信息"
    },
    "人事数据库": {
      "command": "node",
      "args": ["hr-server.js"],
      "description": "查询员工、职位、部门信息"
    }
  }
}

调用方式: Claude 根据 description 自动判断用哪个,或用户在对话中直接指定"去销售数据库查这个"。

关键机制:

  • MCP 不是把所有数据读进上下文
  • 启动时只记住"有哪些工具可用"
  • 使用时按需调用,只拿查询结果

3. Hooks 的使用

定义方式:.claude/hooks/ 目录下创建固定名称的脚本文件

复制代码
.claude/hooks/
├── pre-tool-use.sh      ← 工具使用前触发
├── post-tool-use.sh     ← 工具使用后触发
├── session-start.sh     ← 会话开始时触发
└── session-end.sh       ← 会话结束时触发

示例脚本:

bash 复制代码
#!/bin/bash
# post-tool-use.sh:每次写完代码自动格式化
npx prettier --write "$CLAUDE_FILE_PATH"

关键机制:

  • 文件名必须是22个约定名称之一,不能随便起名
  • 放对位置、取对名字,Claude 自动识别并执行
  • 一次配置,永久自动执行

4. 插件的完整结构
复制代码
plugin-name/
├── .claude-plugin/plugin.json    ← 插件元数据(必需)
├── skills/                       ← 技能定义(必需)
│   └── code-review/SKILL.md
├── hooks/                        ← 自动脚本(可选)
│   └── post-tool-use.sh
├── .mcp.json                     ← 外部连接(可选)
└── README.md

最简插件 = plugin.json + 一个 Skill


四、一句话总结

插件是工具箱,Skills 是工具,MCP 是接口,Hooks 是自动感应器。

  • Skills 告诉 Claude 做什么
  • Hooks 让 Claude 自动做
  • MCP 让 Claude 连外部做

四者配合,让大模型从"只会说话"变成"能动手干活的全能员工"。

相关推荐
兵慌码乱5 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵7 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio10 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636712 小时前
使用 Python 从零创建 Word 文档
python
Csvn16 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽17 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户5569188175319 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
倔强的石头_20 小时前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python