系列第二篇。上一篇聊了 vibe coding 是什么、为什么选 Claude Code,以及第一次完整体验。这一篇原打算写 CLAUDE.md,但写着写着发现,得先把 Claude Code 的工具版图讲清楚,不然很多概念会打架。所以我们先把工具箱打开看看,CLAUDE.md 放到第三篇慢慢聊。

刚开始用 Claude Code 的时候,我经常被一堆名词绕晕:MCP、Skill、Plugin、斜杠命令、Hook、Subagent……它们看起来都在"扩展 Claude 的能力",到底谁是谁?这一篇就想把这件事讲明白,顺便聊聊两个特别容易搞混的功能——rewind 和 resume。一个管"倒退",一个管"重回",用错了场景,体验会差很多。

一、三个概念一次说清:MCP、Skills、Plugins

MCP:给 AI 接上外部世界的插座

MCP(Model Context Protocol)是 Anthropic 在 2024 年底推出的一个开放协议,解决的问题很朴素:AI 模型关在自己的房间里,怎么安全地使用外面的工具和数据?

理解 MCP 最省力的方式,是记住它的三个角色:

  • Host(宿主):就是 Claude Code 本身,是发起对话、调度一切的那一方。

  • Client(客户端):住在 Host 里面,每个 Client 和一个 Server 保持一对一的连接,负责传话。

  • Server(服务端):真正提供能力的那一方,比如一个连接 GitHub 的服务、一个查询数据库的服务、一个操作浏览器的服务。

打个比方:Claude Code 是你的电脑(Host),MCP 就是电脑上的 USB-C 接口规范(Client 遵循它),而各种 MCP Server 是插上来的外设——移动硬盘、显示器、手绘板。因为有了统一的接口规范,外设厂商只需要按规范做一次开发,就能插到所有支持 MCP 的电脑上。GitHub 官方做了一个 MCP Server,Claude Code 能用,Cursor 也能用,就是这个道理。

在 Claude Code 里添加一个 MCP Server 也很简单,以 GitHub 官方的远程版为例:

claude mcp add --transport http github https://api.githubcopilot.com/mcp/

加完之后用 /mcp 命令可以查看连接状态、完成登录授权。

Skills:教 AI "怎么做事"的说明书

如果说 MCP 给 AI 的是"工具",那 Skill 给的是"手艺"。

一个 Skill 本质上就是一个文件夹,里面有一个 SKILL.md 文件,用自然语言写清楚:这类任务应该按什么流程做、有什么讲究、输出要长什么样。比如"做 PPT"这个 Skill 里,会写清楚版式怎么设计、母版怎么用、有哪些常见的坑。Claude 在发现当前任务和某个 Skill 匹配时,会自己去读这份说明书,然后照着做。

我很喜欢 Skill 的一个设计细节:渐进式加载。平时它只占一行简介的位置(几十个字),告诉 Claude "我存在、我管什么事";只有当任务真的匹配时,完整的说明书才会被读进上下文。你可以装很多 Skill,又不用担心它们把上下文塞爆。这个思路和第一篇聊过的"把上下文当稀缺资源精管"是一脉相承的。

Plugins:把上面这一切打包带走的盒子

Plugin 就很好理解了:它是一个打包好的插件包,可以把斜杠命令、子 agent、Skills、Hooks、MCP 配置统统装在一起,一键分发。

一个插件的目录长这样(这是官方的标准结构):

plugin-name/
├── .claude-plugin/
│   └── plugin.json      # 插件的"身份证",必需
├── .mcp.json            # 附带的 MCP 配置,可选
├── commands/            # 斜杠命令
├── agents/              # 子 agent 定义
├── skills/              # Skill 定义
└── README.md

插件通过“市场”(marketplace)来发现和安装。官方市场 claude-plugins-official 会在你启动 Claude Code 时自动就绪。如果你想浏览可用的插件,可以输入以下命令:

/plugin

这会打开一个插件管理界面,可以浏览、安装、管理。看到喜欢的也可以直接用命令装:

/plugin install feature-dev@claude-plugins-official

一句话总结三者的关系:MCP 管"连接外部工具",Skill 管"传授做事方法",Plugin 管"把这些能力打包带走"。它们并不互相竞争,更像一个工具箱里不同层格的东西。

二、官方出品的几个好东西

官方市场里的东西不少,我挑自己真正用过、觉得值回票价的,每类说一两个。

MCP:GitHub MCP

这是我日常使用频率最高的 MCP。它是 GitHub 官方维护的,能力按"工具集"(toolset)分组:仓库(repos)、议题(issues)、拉取请求(pull_requests)、Actions、代码安全等等,默认开启最常用的几组。

安装命令很简单:

claude mcp add --transport http github https://api.githubcopilot.com/mcp/

装上之后,很多原本要切到浏览器里做的事,直接在对话里就完成了:

帮我把当前的改动 commit 并 push,然后创建一个 PR 到 main 分支,
标题和描述根据这次的改动来写

它会自己完成提交、推送、创建 PR 的整条链路,PR 描述也写得有模有样。再比如:

看看我们仓库里标了 bug 的 issue,帮我按严重程度排个序
帮我 review 一下 #87 这个 PR,重点看错误处理和测试覆盖

一个小提醒:这类 MCP 功能很全,但也很"吃"上下文。如果你只用得到 issue 和 PR,建议只开这两个工具集,给上下文省点地方。另外如果只是看看、不需要写操作,可以开只读模式,多一分安心。

如果还想再装一个,我会推荐浏览器自动化方向的 MCP(比如 Playwright MCP),让 Claude 能自己打开页面、点按钮、截图验证——做前端的时候让它"亲眼看看"页面效果,比纯靠它想象靠谱多了。

Plugins:feature-dev 与 commit-commands

你只需要输入一个"/plugins"命令,就能看到anthropic插件市场的推荐插件。

feature-dev 是官方插件里我觉得最能体现"工程化 vibe coding"的一个。你给它一句话需求:

/feature-dev 给用户系统加上头像上传功能

它会启动一个七阶段的引导式工作流:先理解需求,然后派出专门的 code-explorer 子 agent 去并行探索你的代码库,搞清楚现有代码的结构和惯例;接着列出所有需要澄清的细节问题,等你逐一回答;然后由 code-architect 设计出两三个架构方案,把各自的权衡摆给你看;你拍板之后才开始写代码;写完还有 code-reviewer 做质量审查;最后把整个过程的决策整理成文档。

有没有发现,这其实就是把"资深工程师接需求时的那套心路历程"固化成了流程。它特别适合跨多文件、需要架构决策的复杂功能;反过来,如果只是改一行 bug,用它就属于杀鸡用牛刀了。

commit-commands 则是个小而美的插件,提供 /commit/push/create-pr 这样一组命令,把 git 收尾工作变成一句话的事。如果你对 MCP 的配置还有点发怵,先从它开始就很友好。

Skills:document-skills 与 skill-creator

官方的 anthropics/skills 仓库可以注册成插件市场,里面最实用的是 document-skills——一组处理办公文档的 Skill,覆盖 docx、pdf、pptx、xlsx 四种格式。装好之后你说"用 PDF skill 把这个文件里的表格提取出来",它就知道该怎么稳稳地处理这些二进制格式。对于经常要写报告、整理数据的人来说,这组 Skill 很省心。

另一个值得一提的是 skill-creator,一个"教你怎么写 Skill 的 Skill"。当你发现自己反复在对 Claude 解释同一套工作流程时,就可以让它帮你把这套流程沉淀成一个自己的 Skill。工具用到这个份上,就开始有"复利"的味道了。

三、斜杠命令:你的快捷键,也可以自己造

在 Claude Code 的输入框里敲一个 /,会弹出所有可用的斜杠命令。我用得最多的内置命令有这些:

/help      查看帮助,迷路时的第一站
/init      为项目生成 CLAUDE.md(下一篇的主角)
/clear     清空当前对话,重新开始
/compact   把前面的对话压缩成摘要,给上下文腾地方
/model     查看或切换模型
/cost      看看这个会话花了多少 token
/mcp       管理 MCP 连接和授权
/plugin    插件市场
/rewind    回退到之前的检查点(下面细讲)
/resume    找回历史会话(下面细讲)
/branch    从当前会话分叉出一个平行会话,尝试不同思路

更有意思的是,斜杠命令可以自己做。在项目里建一个 .claude/commands/ 目录,往里放一个 markdown 文件,文件名就是命令名,文件内容就是这条命令要执行的提示词。比如建一个 .claude/commands/review.md

请 review 当前暂存区的改动,重点关注:
1. 有没有潜在的空指针和边界情况
2. 错误处理是否完整
3. 是否符合项目的命名规范

之后在会话里输入 /review,这段话就会自动发出。团队里约定俗成的检查项,用这种方式固化下来特别合适——新人来了也不用背规范,敲个命令就行。

四、rewind 和 resume:一字之差,天壤之别

这两个功能我一开始一直混着用,直到有一次想回退代码却点成了重开会话,才痛下决心把它们彻底搞清楚。它们看起来都和"回到过去"有关,实际上管的是两件完全不同的事。

/rewind:会话内的"读档"

Claude Code 有一个检查点(checkpoint)机制:你每发一条消息,它都会悄悄给当时的代码状态拍一张快照,最多保留最近 100 个。/rewind(或者在输入框为空时连按两下 Esc)会打开一个列表,列出你在这个会话里发过的每条消息,选一个时间点之后,可以选三种恢复方式:

  • 恢复代码和对话:代码和聊天记录都回到那个时间点,相当于整体读档;

  • 只恢复对话:保留现在的代码,只让对话退回去——适合"代码改得对,但后来的讨论把它带偏了"的情况;

  • 只恢复代码:保留聊天记录,只把文件改回去——适合"讨论过程有价值,但代码改砸了"的情况。

这个功能最妙的地方在于它管的不只是文件。AI 对话有一个很真实的麻烦:一旦它在错误的方向上走了一段,那些错误的上下文会留在对话里,继续影响它后面的判断,你纠正它也未必拉得回来。/rewind 把对话一起退回去,相当于连它的"错误记忆"也一并抹掉了,这是单纯 git checkout 做不到的。

不过它有三个边界,一定要知道:

  1. 它只追踪 Claude 用自己的文件编辑工具做的修改。如果 Claude 是通过 bash 命令动的文件(比如 mvrm、命令行生成器),这些改动 rewind 救不回来。

  2. 它只管当前会话范围内的事,你在会话外手动改的文件、数据库里写进去的数据、已经 push 出去的提交,都不在它的能力范围内。

  3. 它是"本地撤销",Git 才是"永久历史"。重要节点记得 commit,这个习惯第一篇就说过,这里再唠叨一次。

/resume:找回一个已经存在的会话

/resume 干的则是另一件事:它列出你在这个项目目录下的历史会话,让你挑一个重新打开,从上次结束的地方接着聊。

典型的场景是这样的:昨天调一个 bug 调了一半,今天打开终端想继续,/resume 找到昨天那个会话,之前聊过的所有上下文都还在,无缝衔接。它不会回退任何代码,也不会删掉任何对话——它是"重回",时间依然是向前走的。会话记录会保存在本地(默认保留 30 天,可以配置),所以隔几天回来也找得到。

另外提一句,在终端里启动时也可以用 claude --continue 直接接着最近一次会话继续,或者 claude --resume 先弹出列表再挑。

一张表分清它们

/rewind /resume
管的什么事 倒退:回到会话内的某个时间点 重回:重新打开一个历史会话
代码会回退吗 可以(三选一) 不会
对话会回退吗 可以(三选一) 不会,只会续上
时间方向 向后退 向前走
典型场景 "刚才这几步改砸了,读档重来" "昨天的活儿还没干完,今天接着来"

我自己的口诀是:rewind 是后悔药,resume 是书签。 想撤销,找 rewind;想继续,找 resume。

还有个小补充:如果你不想丢弃现在的会话,只是想岔开一条路试试别的方案,可以用 /branch 分叉出一个平行会话,两边互不干扰。比起 rewind 的"破釜沉舟",这种方式更温柔一些。

五、再塞给你几个顺手的小工具

篇幅关系,这几个简单说,后面有机会单独展开:

  • 子 agent(/agents):可以让 Claude 把重活儿派给独立上下文的子 agent 去做,主对话保持干净。第一篇提到的大型重构不翻车,一半功劳在它。

  • Hooks:在特定事件上自动触发脚本,比如"每次编辑完文件自动跑一遍 lint"。它是团队规范自动化的利器,先记住这个名字就好。

  • @ 提及文件:输入 @ 加上文件路径,直接把文件内容带进对话,比如"@src/api.ts 这个文件的鉴权逻辑帮我看看",省得它自己满项目找。

  • ! 前缀跑命令:输入框里以 ! 开头可以直接执行 bash 命令,输出会进入上下文,比如 !git status,让它一边看状态一边帮你写提交信息。

  • # 快速记仇(褒义):以 # 开头输入的内容会被直接写进记忆文件,比如 # 这个项目禁止使用 any 类型。这个小入口特别好用,具体写到哪个文件,下一篇讲 CLAUDE.md 的时候会细说。

六、这篇的小结

  1. MCP 管连接(Host/Client/Server 三个角色),Skill 管方法,Plugin 管打包分发,三者各司其职。

  2. 官方出品里,GitHub MCP、feature-dev、document-skills 是我最推荐的三个,分别代表了 MCP、Plugin、Skill 的典型用法。

  3. 斜杠命令不只是快捷键,还可以在 .claude/commands/ 里自己造,把团队约定固化下来。

  4. rewind 管倒退(后悔药),resume 管重回(书签),一个改历史,一个续前缘,别再用混啦。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐