Skip to content

Claude Code Skill与MCP详解:工作流与外部工具完整教程

2026年4月22日

Claude Code Skill与MCP详解:工作流与外部工具完整教程

每次让Claude做代码审查,都要重复说一遍"先看改动范围,再检查测试覆盖,最后按风险分级输出"?Skill要解决的就是这个问题:把工作方法写下来,让Claude记住,以后直接执行。而MCP解决的是另一个问题:让Claude能连上GitHub、Notion、Slack这些外部系统。两者配合,才能真正实现"一句话交代,AI自主完成"。


先分清四个概念

概念解决什么问题
Skill用自然语言写的工作流定义
Agent SkillsSkill遵循的开放标准
MCP连接外部工具的开放协议
Plugin把skills、hooks、agents、MCP servers打包分发的机制

Skill:用自然语言写工作流

Skill是一份用自然语言写的操作说明。它告诉Claude:这类任务先做什么、中间查什么资料、哪些地方要小心、最终以什么格式交付。

最简单的Skill示例

文件结构:

.claude/
  skills/
    review-pr/
      SKILL.md

SKILL.md内容:

markdown
---
name: review-pr
description: 审查当前改动,按风险、可读性和测试覆盖整理结论
disable-model-invocation: true
---

按下面顺序完成审查:

1. 先看当前分支的改动范围
2. 再看受影响的核心文件
3. 检查有没有明显的范围问题和回归风险
4. 检查测试是否覆盖到关键改动
5. 最后用"高风险/中风险/低风险/建议"四段格式输出

输入/review-pr,Claude就会按这个流程执行。

Skill和脚本的区别

维度脚本Skill
执行方式固定命令序列,死板执行带判断的流程说明,根据上下文调整
适用场景固定操作有稳定步骤但不是固定脚本能写死的
举例把git log拉出来看改动涉及哪些模块,按"新增/修复/调整"分组

脚本是死的,Skill是活的——因为执行者是能理解的AI,不是机械的解析器。

最值得先记住的设置

disable-model-invocation: true

只要这份Skill会发消息、会部署、会提交、会改远端资源,就把它设成手动触发。

Skill类型触发方式
/review-pr 审查类自动调用问题不大
/deploy、/send-slack 会产生结果的最好手动调用

怎么写出好用的Skill

一份好用的Skill,通常有三个特点

  1. 主文件短:只写目标、顺序、判断和交付
  2. 资料分散:大段内容放到examples.md、template.md,需要时再加载
  3. 关键操作手动触发:会改远端资源的动作,默认加上disable-model-invocation: true

不好的写法

  • 把所有背景资料一次性塞进去
  • 每条都像规定,但轻重缓急不分
  • 没有交付格式
  • 没有判断标准

更好的写法

.claude/
  skills/
    release-note/
      SKILL.md
      examples.md
      template.md

SKILL.md里只保留几件事:

  • 这份Skill是拿来做什么的
  • 先做哪一步,再做哪一步
  • 哪些地方不要乱猜
  • 最终以什么格式交付

实用Skill范例:发布说明

markdown
---
name: release-note
description: 根据本次改动整理发布说明
disable-model-invocation: true
---

目标:
- 根据最近一次发布后的改动,整理一份能直接发给团队或用户的更新说明

顺序:
1. 先确认本次整理的范围
2. 读取git log和git diff
3. 把改动分成新增、修复、调整、注意事项
4. 对用户可见的变化单独提出来
5. 不确定的地方直接标成待确认

交付:
- 先给一段短摘要
- 再给完整版本说明
- 最后给一版适合群里发的短消息

MCP:连接外部工具

Skill管的是"怎么做",MCP管的是"能不能连上"。

MCP(Model Context Protocol)让Claude能访问外部系统:GitHub、Notion、Slack、数据库、浏览器等。

怎么接入MCP

HTTP方式(如Notion)

bash
claude mcp add --transport http notion https://mcp.notion.com/mcp

本地程序方式(如Playwright)

bash
claude mcp add --transport stdio playwright -- npx -y @playwright/mcp@latest

配置后用/mcp查看状态。


Skill和MCP怎么配合

举个例子:读GitHub issue,查Notion规范,整理成Slack消息。

分工

  • MCP提供GitHub、Notion、Slack的连接能力
  • Skill定义"先读issue→再查规范→最后发消息"的流程
markdown
---
name: ship-issue
description: 读issue、查规范、整理成Slack消息
disable-model-invocation: true
---

1. 去GitHub读取指定issue的内容
2. 去Notion查询相关团队规范
3. 把需求和规范合并成实现说明
4. 整理成适合发Slack的消息草稿
组合效果
只配MCP,没有Skill能访问系统,但每次执行方式不同
只写Skill,没有MCP知道要做什么,但访问不了外部系统
两者配合把事完整自动化

浏览器集成:两种方式

方式一:Playwright MCP(需要主动操作网页)

适合:打开本地页面、点按钮、看DOM、做交互、截图

bash
claude mcp add --transport stdio playwright -- npx -y @playwright/mcp@latest

方式二:Chrome集成(需要利用浏览器登录状态)

适合:访问已登录的网站(Notion、Gmail、内部后台)

前提条件:

  • Google Chrome
  • Claude in Chrome扩展 ≥ 1.0.36
  • Claude Code ≥ 2.0.73
  • 直接Anthropic计划
bash
claude --chrome
# 或在会话中输入
/chrome

注意:如果只是想让Claude看截图,直接把图片贴进对话就行,不必装工具。


什么时候用Skill,什么时候用MCP

场景选择
任务在本地项目(代码审查、发布说明)先用Skill
不需要访问外部系统只用Skill
重点是"按固定步骤执行"只用Skill
要访问GitHub、数据库、浏览器等需要MCP

推荐顺序:先用Skill,等动作重复出现后再补MCP。


容易混的概念一览

概念解决什么问题
脚本"这一步具体怎么跑"
Hook"什么时候自动跑"(如改完文件就检查)
Plugin"怎么把一整套能力打包分发"
Skill"这类任务的顺序、判断和交付标准"

动手试试:写第一个Skill

bash
mkdir -p ~/.claude/skills/my-first-skill

创建~/.claude/skills/my-first-skill/SKILL.md

markdown
---
name: my-first-skill
description: 我的第一个Skill,列出当前目录下的Python文件
---

1. 用Glob查找所有.py文件
2. 统计文件数量
3. 列出文件名
4. 输出:"找到X个Python文件:" + 文件列表

然后在Claude Code里输入/my-first-skill,看看效果。

从小场景开始,把工作方法教给AI,比每次都亲自做更高效。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来