深度

Claude Code Skills vs CLAUDE.md vs Plugins vs Sub-agents:何时用哪个的完整决策指南

Claude Code 四种扩展机制的完整决策指南:四种机制本质对比表;CLAUDE.md 适合放/不适合放的内容清单(含内容精简测试);Skills 四种模式和完整决策树;Plugins 与 Skills 的选择对比表及 Token 开销警告;Sub-agents 三种触发方式和 context: fork 对比;四种组合使用模式;以及快速决策查询表(12 个场景)。

2026/5/108分钟 阅读ClaudeEagle

Claude Code 有四种扩展机制,功能上有重叠,初学者常常不知道该用哪个。本文从"解决什么问题"出发,给出清晰的决策框架,包含每种机制的本质、适用场景、不适合的场景,以及它们组合使用的进阶模式。


四种机制的本质

机制是什么何时加载Token 开销能否执行代码
CLAUDE.md项目说明文档每次会话自动全量加载每次请求都消耗否(纯文本)
Skills可复用指令模板被调用时按需加载只在用时消耗是(!! 预处理)
Plugins(MCP)自定义工具启动时连接,工具随时调用工具目录始终占用是(核心功能)
Sub-agents独立 AI 实例主 Claude 委托时创建有独立上下文是(完整工具集)

CLAUDE.md:持久的项目"宪法"

本质

每次会话自动加载的文档。Claude 带着它启动,它定义了这个项目的基本规则。

放什么

markdown
# CLAUDE.md 内容清单

## ✅ 适合放的
- 构建/测试命令(Claude 无法猜到的)
- 代码规范(与语言默认不同的约定)
- 架构决策(单体 vs 微服务、状态管理方案)
- 环境要求(特殊环境变量、工具版本要求)
- 禁止操作(不要修改 scripts/deploy.sh)
- 团队约定(分支命名规范、PR 模板格式)

## ❌ 不适合放的
- 逐步骤的操作流程(用 Skills)
- 只在特定场景用到的详细文档(用 Skills 按需加载)
- 可以从代码推断的内容(如"这是 TypeScript 项目")
- 频繁变化的信息(动态内容用 Skills 的 !! 注入)
- 超过 1000 字的内容(会稀释重要规则的影响力)

内容精简测试

对每一行问:"去掉这行,Claude 会犯什么具体的错?"如果答案是"不会犯错",删掉它。


Skills:按需加载的工作流模板

本质

只在被调用时才加载到上下文的 Markdown 文件,用于封装可复用的工作流程。

用 Skills 而不是 CLAUDE.md 的信号

❶ 你不断把同样的指令粘贴到对话里 ❷ CLAUDE.md 的某个部分变成了"步骤清单"而不是"规则/事实" ❸ 某些指令只在特定场景需要(PR 审查/部署/调试) ❹ 指令涉及需要实时数据的内容(git diff、PR 信息)

Skills 的四种模式

① 参考类(Reference):知识文档,Claude 工作时参考

markdown
---
name: api-conventions
description: 这个代码库的 API 设计规范
---
# API 设计规范
(详细的规范文档)

② 任务类(Task):分步骤的操作流程,通常只允许用户手动触发

markdown
---
name: deploy
disable-model-invocation: true  ← 关键:防止 Claude 自动触发部署!
---
# 部署流程
1. 运行测试...

③ 动态注入类:包含 !! 命令,在加载时注入实时数据

markdown
---
name: pr-context
---
当前 PR 状态:!`gh pr view`

④ Subagent 运行类:在独立上下文里执行,适合大量探索工作

markdown
---
name: deep-explore
context: fork
agent: Explore
---
调研 $ARGUMENTS...

Skills 决策树

需要实时数据(git diff、环境变量)? → 用 !! 命令注入 操作有副作用(部署、发邮件、git push)? → disable-model-invocation: true → 确保只有用户手动触发 会产生大量噪音输出(日志、搜索结果)? → context: fork,在 Subagent 里运行 只在特定文件类型上需要? → paths: "**/*.tsx" 路径限定 背景知识,不是操作步骤? → user-invocable: false,让 Claude 自动应用

Plugins(MCP 服务器):新工具而非新指令

本质

给 Claude 新的工具(函数),而不是新的指令。Claude 像调用 ReadBash 一样调用 MCP 工具。

用 Plugin 而不是 Skill 的判断

❶ 你需要 Claude 调用外部 API(GitHub、Slack、数据库) ❷ 你需要 Claude 做认证(OAuth、API Key 认证) ❸ 操作需要实时、双向的数据交互(不只是读取) ❹ 工具会被频繁调用(Plugin 比 !! 命令更高效)

Token 开销警告

每个 MCP 服务器的工具目录计入每次请求的上下文。安装 10 个 MCP 服务器、每个 10 个工具 = 每次对话多出约 100 个工具描述 = 显著的固定 Token 开销。

Plugin 的选择原则:只装实际使用的 临时需求 → 用 !! 命令(Skill 里) 频繁使用 → 安装成 Plugin

典型 Plugin vs Skill 对比

需求用 Plugin用 Skill
查看 GitHub PR 信息(频繁)✅ GitHub MCP❌(每次都调用 gh CLI 也可以,但 Plugin 更快)
查看当前 PR 差异(一次性)✅ !! `gh pr diff`
查询数据库 Schema(频繁)✅ postgres MCP
运行自定义安全扫描脚本✅ !! `./scripts/security-scan.sh`
发送 Slack 通知(偶尔)🤔 看频率✅ !! `curl slack-webhook`

Sub-agents:上下文隔离和并行执行

本质

独立运行的 Claude 实例,有自己的上下文窗口。主 Claude 委托任务给它,它执行后返回结果摘要。

用 Sub-agent 而不是直接在主会话做的场景

❶ 任务会产生大量"一次性"输出(日志、搜索结果、文件列表) → 这些输出用完就没用了,但会占满主会话上下文 → Sub-agent 在自己的上下文里做,只返回摘要 ❷ 需要并行执行多个独立任务 → 多个 Sub-agent 同时工作 ❸ 需要不同的工具访问权限 → 自定义 Sub-agent 只有只读工具 ❹ 需要不同的模型/努力等级 → 探索任务用 Haiku,主任务用 Opus

Sub-agents 的三种触发方式

①自动委托(Claude 决定)

Claude 根据 Sub-agent 的 description 自动判断是否委托。这需要 description 写得足够精准。

②显式调用(你指定)

> 用 security-reviewer agent 审查最近的变更 > 让 Explore agent 分析 src/api 的整体结构

③Skills 触发(通过 context: fork)

markdown
---
name: my-skill
context: fork
agent: Explore
---

调用这个 Skill 会自动创建一个 Explore Sub-agent 来执行 Skill 的任务。

Sub-agent vs Skills 的 context: fork

什么时候用命名 Sub-agent 文件(.claude/agents/xxx.md)? → 这个配置会被重复使用(安全审查员、调试专家) → 需要持久内存(agent 跨会话积累知识) → 需要精细的工具控制(只允许只读工具) 什么时候用 Skill 的 context: fork? → 这个任务是一次性的,不需要重复调用的配置 → 主要目的是隔离上下文(防止探索结果污染主会话) → 任务相对简单,不需要复杂的 Sub-agent 配置

组合使用模式

模式 1:CLAUDE.md + Skills 分工

CLAUDE.md: - "测试命令:npm test" - "代码规范:使用 ES modules" Skills: - commit: 完整的提交流程(带 !! git status 注入) - deploy: 完整的部署流程(disable-model-invocation: true) - security-review: 安全审查流程(复杂但偶尔用)

模式 2:Plugin + Skill 互补

GitHub MCP Plugin: - 获取 PR 列表、创建 Issue、检查 CI 状态 Skills(用 !! 命令): - 获取当前 PR 的具体差异(一次性操作) - 检查本地 git log(不需要 API)

模式 3:Sub-agent + Skill 组合

主会话 → 调用 Skill(context: fork)→ Explore Sub-agent 执行 → 返回摘要 ↓ ↓ Skill 提供任务指令 独立上下文,大量探索,只返回结果

模式 4:完整的自动化工作流

每次 PR 创建时(通过 Routine): 1. 加载 security-check Skill(含 !! gh pr diff 注入) 2. 触发 Explore Sub-agent 分析变更 3. 调用 GitHub MCP Plugin 发布审查评论 4. 如果有 Critical 问题,通过 Slack MCP Plugin 通知

快速决策表

你的需求用什么
项目规则,每次 Claude 都需要知道CLAUDE.md
某个操作流程,偶尔用到Skills
同样的指令反复粘贴把它做成 Skill
连接外部 API(GitHub、数据库)Plugin(MCP)
探索代码库,不想污染主会话Sub-agent 或 Skill(context: fork)
并行执行多个独立任务Sub-agents
特定目录/文件类型的规范Skills(paths: 限定)
有副作用的操作(部署、发送消息)Skill(disable-model-invocation: true)
实时数据(git diff、环境状态)Skill(!! 命令注入)

来源:Claude Code 官方文档 - Skills | Sub-agents | Best Practices | 整理:ClaudeEagle

相关文章推荐

深度Claude Code Plugins 开发指南:从零创建插件、打包 Skills 与发布到官方市场Claude Code 插件开发完整指南:独立配置 vs 插件的选择标准、创建 plugin.json 清单、添加 Skills/子代理/Hooks/MCP 服务器、本地 --plugin-dir 测试、LSP 服务器集成、发布到官方市场,以及从现有 .claude/ 配置迁移的步骤。2026/3/2深度Claude Code 记忆系统深度解析:CLAUDE.md、Auto Memory、.claude/rules/ 如何协同Claude Code 记忆系统完整解析:CLAUDE.md 和 Auto Memory 的分工、四种作用域配置、.claude/rules/ 路径感知规则用法、写有效指令的 4 个原则,以及记忆不生效的排查方法。2026/4/13深度Claude Code Memory 系统完全指南:CLAUDE.md vs Auto Memory、.claude/rules/ 路径规则与大团队管理Claude Code Memory 系统完整指南:CLAUDE.md vs Auto Memory 5 维度对比(谁写/内容/范围/加载/适合内容)、四个作用域(Managed policy/Project/User/Local 文件路径/优先级)、/init 快速创建、4 条高效指令原则(<200行/结构化/具体可验证/一致性)、@ 语法导入(相对路径/5层递归/批准对话框)、CLAUDE.md 向上遍历加载机制(CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD)、.claude/rules/ 路径规则系统(路径特定规则/glob 模式/按需加载节省 Token/symlink 跨项目共享)、大团队管理(组织 MDM 部署/claudeMdExcludes 排除),以及 Auto Memory(工作机制/目录 hash 存储/启用禁用 /memory 界面)和四大故障排查。2026/3/9深度Claude Code 扩展能力全景图:CLAUDE.md、Skills、MCP、Subagent、Agent Teams、Hooks 选型指南Claude Code 六大扩展能力选型完整指南:CLAUDE.md/Skills/Subagent/Agent Teams/MCP/Hooks 功能对比表、相似能力深度辨析(Skill vs Subagent/CLAUDE.md vs Skill/CLAUDE.md vs Rules vs Skills/Subagent vs Agent Teams/MCP vs Skill)、分层优先级规则(managed>user>project)、各扩展 Context 成本对比,以及数据库开发/代码审查/CI/CD 三大实战组合方案。2026/3/6深度2026 企业 AI Agent 现状报告:80% 已获可量化 ROI,编程是突破口Anthropic 联合 Material 公司调研 500+ 技术领导者的《2026 State of AI Agents Report》:57% 已部署多阶段工作流;86% 在生产代码部署 Agent;80% 报告可量化 ROI;编程时间节省覆盖规划/代码生成/文档/测试各 58-59%;真实案例(Doctolib 功能交付快 40%、eSentire 威胁分析从 5 小时到 7 分钟、L'Oréal 44000 月活数据直查);三大规模化挑战;以及企业 Claude Code 四阶段部署路径。2026/5/7深度Claude Code Auto Mode 技术深度解析:两层分类器架构如何防止 AI 越权行为Anthropic 工程博客深度解析 Auto Mode 背后的技术:用户审批了 93% 的权限请求却仍有疲劳感;内部事故日志(误删远程分支/上传 GitHub Token/生产数据库误迁移);两层防御(输入层提示注入探针+输出层对话记录分类器);三层许可决策;实测数据(0.4% 误报率,17% 漏报率,附原因分析);多 Agent 传递的安全处理;以及 Deny-and-Continue 机制。2026/5/3