我皱眉反问面试官:“你说你懂Claude Code?”,面试官:“CLAUDE.md、Skills、Subagents、MCP、Hooks、Plugins 这些我都懂”

发布时间:2026/8/6 8:27:11
我皱眉反问面试官:“你说你懂Claude Code?”,面试官:“CLAUDE.md、Skills、Subagents、MCP、Hooks、Plugins 这些我都懂” 前面我们讲过 模型 和 Agent的区别模型负责思考Agent 内核负责读文件、改代码、跑命令和验证结果。也单独拆过 CLAUDE.md 到底怎么写、Claude Code 怎么读懂大代码库。但很多录友学到这里又被一串新名词卡住了CLAUDE.md、Skills、Subagents、MCP、Hooks、Plugins都是“给 Claude Code 加能力”为什么要分六套如果一个项目全都要用应该先配谁、后配谁这篇不按功能清单念文档。我们先说它们为什么出现再逐个讲是什么、怎么用最后把六件东西装进同一个真实项目。Claude Code扩展能力封面这张图讲的是Claude Code 从来不是靠一个“万能 Prompt”变强而是靠一套分工清楚的工作系统。长期规则、专项流程、独立角色、外部能力、自动门禁和团队分发各自解决一类问题。一、为什么只会和 Claude Code 聊天迟早会乱刚开始用 Claude Code临时聊天完全够用。“这个项目用 pnpm。”“改完记得跑单测。”“不要直接改数据库。”“发版前按我们的清单检查。”问题是真实项目不会只聊三轮。Claude 要读几十个文件、跑一堆命令、处理测试失败还可能经历上下文压缩。你临时说过的话会和越来越多的新信息挤在同一个上下文里。团队协作更麻烦。你告诉过 Claude 的规则换个同事、换台电脑、换个项目又要从头再讲一遍。临时聊天规则被新消息淹没这张图讲的是**聊天适合表达当前任务不能承载整套工程制度。**规则只存在聊天里任务一长就容易被稀释经验只存在个人会话里团队就无法复用。所以 Claude Code 的扩展能力本质上都在回答下面六个问题问题应该用什么每次进入项目都应该知道什么CLAUDE.md某类任务应该按什么方法做Skills哪些工作需要独立上下文或独立角色Subagents怎么访问仓库外的系统和数据MCP哪些动作命中事件就必须执行Hooks怎么把整套能力发给其他项目和队友Plugins先记住一句CLAUDE.md 管常驻规则Skill 管按需方法Subagent 管独立干活MCP 管外部连接Hook 管确定性动作Plugin 管打包分发。下面逐个拆。二、CLAUDE.md先让 Claude 知道“这个项目怎么干”1. CLAUDE.md 是什么CLAUDE.md是 Claude Code 会自动读取的项目说明文件。它适合放稳定、长期、几乎每次任务都用得上的信息项目用什么技术栈构建、测试、格式化命令核心目录和模块边界编码规范和命名约定哪些文件不能改团队已经踩过、又很容易重踩的坑。你可以把它理解成给新成员看的“上岗说明书”。README 面向人重点是项目是什么、怎么启动。CLAUDE.md面向 Agent重点是接到任务以后应该怎么行动。CLAUDE.md项目说明书这张图讲的是长期规则不该靠程序员一遍遍口头提醒。把命令、架构和禁区写成项目说明书Claude 每次进项目就有稳定起点。2. CLAUDE.md 放在哪里最常用的四个位置是位置作用范围适合放什么~/.claude/CLAUDE.md你本机的所有项目个人偏好、通用工作习惯项目根目录/CLAUDE.md当前项目团队共享技术栈、命令、全局规则项目根目录/CLAUDE.local.md当前项目仅自己使用本地地址、个人测试习惯某个子目录/CLAUDE.md进入该模块时按需加载模块命令、局部架构和禁区项目级文件应该提交到 Git。CLAUDE.local.md通常加入.gitignore不要把个人环境信息发给全团队。大仓库不要把所有模块规则都塞进根文件。根目录管全局前端、支付、数据等模块各放自己的CLAUDE.md。3. CLAUDE.md 怎么写先从最小版本开始## Project instructions## Commands- Install: pnpm install- Test: pnpm test- Build: pnpm build## Architecture- apps/web/ is the frontend.- services/api/ is the API service.- Shared types live in packages/types/.## Rules- Use pnpm, never npm.- Add tests for every bug fix.- Do not edit generated files under dist/.- Never run database migrations without explicit approval.判断一条内容该不该写进去问三个问题以后还会反复用到吗它会改变 Claude 的行动吗它是否值得每个会话都占上下文三个答案都是“是”再写。发布清单、安全审查步骤、几十页 API 文档不要全塞进来。那是 Skill 的活。4. CLAUDE.md 不是安全边界这一点很重要。CLAUDE.md是行为指导不是强制执行器。“不要执行危险命令”写在里面能降低误操作概率但不能提供绝对保证。真正必须阻止的动作要交给权限设置或PreToolUseHook。如果 Claude 没按规则做先运行/memory确认文件是否真的加载再检查是不是规则太模糊、太长或者彼此冲突。更完整的拆分方法可以继续看 CLAUDE.md 项目记忆与上下文管理。三、Skills把重复方法做成“按需工具箱”1. Skill 解决什么问题假设团队有一套发布流程检查工作区跑测试生成变更说明检查数据库变更给出回滚方案。这套流程很重要但你写普通业务代码时不需要它。如果塞进CLAUDE.mdClaude 每个会话都要背着它。Skill 的价值就是只在相关任务出现时加载专项知识和流程。它既可以由你用/skill-name主动触发也可以由 Claude 根据description自动判断。Claude Code按需加载Skill这张图讲的是Skill 不是把所有资料永久堆在桌面而是面对发布、评审、排障等具体任务时只拿当前需要的工具箱。2. 一个 Skill 长什么样项目级 Skill 放在.claude/skills/release-check/├── SKILL.md├── checklist.md└── scripts/ └── verify.sh其中SKILL.md是入口---name: release-checkdescription: Check whether the current changes are ready for release. Use for release preparation, pre-deployment review, or rollback planning.disable-model-invocation: true---## Release check1. Read checklist.md.2. Inspect the current git diff.3. Run scripts/verify.sh.4. Report blockers, risks, and rollback steps.Do not deploy. Only produce a release-readiness report.这里有几个关键点description不是写给人看的广告而是告诉 Claude什么时候该加载它disable-model-invocation: true表示只能由用户主动调用大段参考资料放到单独文件SKILL.md只做入口和导航脚本负责确定性检查Claude 负责结合现场解释结果。调用时输入/release-check个人通用 Skill 可以放在~/.claude/skills/项目共享 Skill 放在.claude/skills/。3. 什么时候该做 Skill最实用的信号不是“这个知识很高级”而是同一段说明已经复制了三次CLAUDE.md里某一节越来越像操作手册一个任务有固定输入、步骤和输出格式这套方法需要模板、示例或脚本多个角色都要复用同一套知识。Skill 不是越多越好。描述写得过宽会在不相关任务里乱触发内容太大加载后一样会挤占上下文。关于 Skill 的分类、渐进式披露和团队实践可以继续看 Claude Skills 实战。四、Subagents把复杂工作交给独立角色1. 为什么有 Skill 还需要 SubagentSkill 给当前 Agent 加一套方法但工作仍然发生在当前上下文。安全审查、全仓探索、测试排查这类任务会读很多文件、产生大量中间输出。如果全部塞进主会话主 Agent 的上下文很快变脏。更麻烦的是让写代码的 Agent 再审自己的代码容易产生“我已经改好了所以应该没问题”的自我认可。Subagent 的价值是另开一个独立上下文让一个专门角色完成任务只把结论和证据带回来。Claude Code Subagents独立分工这张图讲的是探索、测试和审查可以由独立角色分别完成。过程噪音留在各自上下文主 Agent 只接收有证据的结果。2. 怎么创建一个 Subagent项目级 Subagent 放在.claude/agents/---name: security-reviewerdescription: Review code changes for authentication, authorization, injection, secret exposure, and unsafe data handling.tools: Read, Grep, Glob, Bashmodel: inheritskills: - secure-coding---You are an independent security reviewer.Review changes without modifying business code.For every finding, report:1. file and location;2. trigger condition;3. impact;4. evidence;5. recommended fix.If no issue is found, list what you checked. Do not return only looks good.使用时可以直接说让 security-reviewer 独立审查这次登录模块改动只返回带证据的结论。也可以运行/agents查看和管理。3. 什么任务适合拆 Subagent适合拆的任务通常有一个共同点过程很长但主会话只需要结果。例如只读探索大代码库安全、性能、测试独立复核多个互不依赖模块的并行调查需要不同角色从相反角度挑错希望给角色限制工具、模型或权限。不适合拆的情况也很明显一个文件的小修改强依赖主会话大量隐含信息多个子任务不断互相等待拆分成本比任务本身还高。Skill 是方法Subagent 是拿着方法独立干活的角色。两者可以组合在 Subagent 的skills字段里预加载安全规范或测试方法。五、MCP让 Claude Code 接上仓库外的世界1. MCP 到底是什么Claude Code 自带的文件和终端工具擅长处理当前工作区。但真实开发还要访问很多外部系统GitHub 或其他代码托管平台Jira、Linear 等工单系统Sentry 和日志平台数据库、数据仓库内部文档、发布平台和业务后台浏览器或设计工具。MCP全称 Model Context Protocol解决的是AI 应用如何用统一方式发现和调用外部工具与数据。你不需要给每个 Agent 单独手写一套集成。MCP Server 把能力暴露出来Claude Code 作为 MCP Client 连接并调用。Claude Code通过MCP连接外部系统这张图讲的是MCP 像受控转接器让 Claude Code 够到仓库外的代码平台、数据库和浏览器权限钥匙仍然应该掌握在人和系统策略手里。2. 怎么给 Claude Code 添加 MCP Server添加远程 HTTP Serverclaude mcp add --transport http issue-tracker https://mcp.example.com/mcp添加本地 stdio Serverclaude mcp add --transport stdio my-tools -- node ./tools/mcp-server.js常用检查命令claude mcp listclaude mcp get issue-tracker进入 Claude Code 后用/mcp查看连接和认证状态。团队共享的项目级 MCP 配置可以写进.mcp.json。从仓库拉下来的配置需要经过信任和审批不要因为文件进了 Git 就默认它安全。3. MCP 最容易踩什么坑第一权限给太大。查询数据库就用只读账号不要上来就给生产库写权限。代码评审只需要读 PR就别顺手给删仓库权限。第二工具太多。一口气接几十个 Server、暴露几百个工具会增加选择成本也会污染上下文。先接最常用、返回结果最干净的能力。第三把 MCP 当成工作方法。MCP 只负责“能连接、能调用”。至于查询什么、怎么判断、输出什么格式仍然应该交给CLAUDE.md、Skill 或 Subagent。所以最常见的组合是MCP 提供手和眼Skill 提供做事方法。想继续理解协议层可以看 MCP 协议详解。六、Hooks让关键动作不再依赖“记得”1. Hook 和提醒 Claude 有什么区别你在CLAUDE.md里写“每次改完文件都要格式化。”这是提醒。你配置PostToolUseHook在编辑成功后自动运行格式化命令。这是确定性动作。Hooks 会在 Claude Code 生命周期的特定事件上触发比如会话开始时注入环境信息工具执行前检查或拦截文件修改后自动格式化工具失败后记录诊断信息Claude 等待确认时发桌面通知上下文压缩前保存关键状态。Claude Code Hooks自动门禁这张图讲的是格式化、测试和危险命令检查不该靠人追着提醒。Hook 像自动门禁命中事件就执行该通过的通过该拦的拦住。2. 怎么配置一个 HookHooks 通常写在.claude/settings.json或用户级~/.claude/settings.json。下面这个例子在 Claude 使用Edit或Write后运行格式化命令{ hooks: { PostToolUse: [ { matcher: Edit|Write, hooks: [ { type: command, command: jq -r .tool_input.file_path | xargs npx prettier --write } ] } ] }}配置后运行/hooks确认事件、匹配器和命令是否加载。真实项目里建议把复杂逻辑放进独立脚本{ type: command, command: .claude/hooks/check-edited-file.sh}这样脚本能进 Git、能单独测试也不用把一长串 shell 塞进 JSON。3. Hook 怎么用才不会变成新坑Hook 是自动执行的所以要比普通 Prompt 更谨慎。匹配范围尽量窄不要什么事件都用.*默认快速执行重任务不要卡住每次编辑脚本要有明确退出码和错误信息不要在 Hook 里偷偷做发布、删除、推送等高风险动作先手动运行脚本再接入 Hook需要复杂判断时用 Skill 或独立审查 Agent不要堆一坨 shell。最适合 Hook 的是“发生到这里就必须做”的动作。最不适合 Hook 的是需要阅读大量上下文、权衡多个方案的开放问题。七、Plugins把一套能力变成团队可安装的产品1. Plugin 不是第七种能力很多录友把 Plugin 理解成“又一个工具”。其实它更像包装和分发格式。一个 Plugin 可以同时带上SkillsSubagentsHooksMCP Server 配置LSP 配置其他可复用组件。你在一个项目的.claude/目录里做实验适合快速迭代。当这套配置已经稳定需要跨项目、跨团队安装、升级和版本管理时再把它做成 Plugin。Claude Code Plugin团队分发这张图讲的是Plugin 把零散的 Skill、Agent、Hook 和 MCP 配置装进同一个团队工具包。一份维护、多人复用才不会每台电脑手工配一遍。2. 怎么安装 Plugin在 Claude Code 里输入/plugin可以打开插件面板浏览、安装和管理插件。安装官方市场中的插件/plugin install githubclaude-plugins-official先看清插件提供什么组件、需要什么权限、会连接哪些外部系统。安装插件不是给它无限授权。3. 一个自定义 Plugin 长什么样最小目录可以是team-toolkit/├── .claude-plugin/│ └── plugin.json├── skills/│ └── release-check/│ └── SKILL.md├── agents/│ └── security-reviewer.md├── hooks/│ └── hooks.json└── .mcp.jsonplugin.json描述插件身份{ name: team-toolkit, description: Shared release and review workflows for our engineering team, version: 1.0.0}本地开发时可以用--plugin-dir加载claude --plugin-dir ./team-toolkit先在一两个项目里把组件跑稳再发布到团队市场。Plugin 解决的是分发不会自动修复里面写得很差的 Skill、过宽的 Hook 或权限过大的 MCP。八、六种能力怎么组合看一个真实项目假设录友正在给电商系统增加“退款审批”功能。这个功能涉及业务规则、数据库、权限、测试、工单和发布。正确做法不是把所有要求塞进一个超级 Prompt而是按问题分层。1. CLAUDE.md放每次都要知道的稳定事实- Money is stored in cents as integer values.- Refund APIs must be idempotent.- All approval actions require an audit log.- Run pnpm test:payments after changing the payment module.- Never run production migrations without explicit approval.这些规则和某一次任务无关任何支付改动都应该知道。2. Skill保存退款评审方法创建refund-reviewSkill里面放幂等检查清单金额精度规则审批状态机说明审计字段要求测试模板输出报告格式。以后每次做退款功能不用重新复制几十行要求。3. Subagent独立做安全复核让payment-security-reviewer只读检查是否能越权审批重放请求会不会重复退款日志是否泄露敏感信息状态转换是否能绕过有没有带证据的测试。主 Agent 不参与它的推理只接收结论再决定怎么改。4. MCP连接真实工程系统通过 MCP读取退款工单查询错误平台中的历史异常查看代码托管平台上的 PR用只读账号查询测试环境数据。连接负责拿到真实信息判断规则仍然来自项目说明和 Skill。5. Hooks自动执行硬检查修改支付代码后自动跑格式化和静态扫描执行数据库命令前检查环境准备提交时确认关键测试是否通过Claude 等待审批时给开发者发送通知。不用指望 Agent 每次都“自觉记住”。6. Plugin把成熟方案发给全团队当退款 Skill、安全 Subagent、Hooks 和 MCP 配置都跑稳后打包成payment-engineeringPlugin。新同事安装以后拿到的是同一套能力不是某个人口口相传的经验。这时候六层的关系就很清楚了CLAUDE.md告诉 Claude 这个项目长期怎么做Skill告诉 Claude 这类任务具体怎么做Subagent安排一个独立角色去做MCP给这个角色接上外部工具和数据Hook在关键节点自动检查和拦截Plugin把前面几层打包给团队九、从零开始应该按什么顺序配置不要第一天就安装几十个 Plugin、接十几个 MCP、开一队 Subagents。配置越多冲突、权限和上下文成本也越高。建议按问题出现的顺序来第一步先把根 CLAUDE.md 写到能用只写命令、架构、禁区和最常见的坑。运行/memory确认它被加载。第二步把重复出现的流程做成一个 Skill从最常复制的发布、评审或排障流程开始。运行/skills检查描述和作用域。第三步给“必须发生”的动作加 Hook先接格式化、lint、危险命令拦截这类确定动作。运行/hooks检查配置手动验证成功和失败路径。第四步只为明确场景创建 Subagent优先做安全审查或大范围只读探索。运行/agents检查它能用哪些工具、模型和 Skills。第五步按真实需求接 MCP先接一个高频系统给最小权限。运行/mcp查看认证和连接状态。第六步稳定以后再做 Plugin先证明这套能力在项目里真的有用再考虑跨项目分发。插件化太早只会把还没想清楚的配置更快地复制出去。遇到配置不生效还可以运行/doctor/status/permissions先确认“有没有加载、从哪里加载、最终权限是什么”再怀疑模型。十、最容易配错的六个地方1. 把 CLAUDE.md 写成百科全书问题每轮都占上下文真正重要的规则反而不突出。改法稳定事实留下专项流程移到 Skill长资料按需加载。2. Skill 的 description 写得太空问题“帮助开发”这种描述什么都能匹配也等于什么都没说。改法写清任务、触发语境和不适用范围。3. 为了“并行”滥用 Subagents问题拆任务、传上下文、汇总结果都要成本。改法只有任务能独立完成或者过程噪音确实需要隔离时再拆。4. MCP 一上来就连生产写权限问题接入范围扩大误操作半径也跟着扩大。改法只读优先、最小权限、敏感动作保留人工确认。5. Hook 做得又重又宽问题每次编辑都卡住还可能对不相关文件误执行。改法缩小 matcher把复杂逻辑放到可测试脚本重任务改成按需 Skill。6. 把 Plugin 当“装得越多越强”问题组件可能互相冲突工具列表膨胀权限来源也变得难审计。改法只安装能解决明确问题的插件定期用诊断命令检查来源。十一、几个高频问题CLAUDE.md 和自动 Memory 有什么区别CLAUDE.md是团队明确维护的项目规则可以进 Git、可以评审。自动 Memory 是 Claude 在使用过程中积累的本机经验适合保存调试发现和个人工作习惯。团队制度写进CLAUDE.md不要等自动 Memory 自己猜。Skill 和 Hook 到底怎么选需要结合上下文判断、执行一套方法用 Skill。命中事件就必须执行而且结果应该稳定可验证用 Hook。例如“按团队标准审查 PR”是 Skill“编辑后自动格式化”是 Hook。Skill 和 Subagent 到底怎么选希望给当前上下文补知识用 Skill。希望把长过程隔离出去只拿结果回来用 Subagent。如果一个安全角色需要固定审查方法就让 Subagent 预加载对应 Skill。MCP 和 Plugin 到底是什么关系MCP 是连接协议解决“Claude 怎么调用外部系统”。Plugin 是分发包解决“怎么把 MCP 配置连同 Skills、Agents、Hooks 一起发给别人”。配齐六件套就一定更好吗不一定。这些能力不是等级勋章。一个小项目可能只需要 30 行CLAUDE.md和一个格式化 Hook。只有重复流程出现了才加 Skill只有上下文需要隔离才加 Subagent只有仓库外能力确实要用才接 MCP。最好的 Claude Code 配置不是组件最多而是每一层都在解决真实问题。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻