当前位置: 首页 > article >正文

Claude Code 的 CLAUDE.md 与技能

“到底什么信息该写进 CLAUDE.md什么信息又该写进 Skills”说实话这不是一个小问题。恰恰相反如果你开始认真、长期、规模化地使用 Claude Code这几乎就是最关键的架构决策之一。很多团队前期觉得无所谓先堆着写等项目一多、协作一复杂就会发现整个上下文体系开始打架规则到处都是流程互相覆盖Claude 每次干活都像在不同版本的脑回路里来回横跳。所以这篇文章会把这两个概念彻底讲清楚CLAUDE.md 到底是什么Skill 又到底是什么什么时候该用前者什么时候该用后者以及它们到底该怎么配合才不会把项目越做越乱。先说结论如果非要用一句话去区分我会这样想CLAUDE.md 项目的大脑Skills 可复用的能力模块这两个东西看起来都像“给 Claude 的说明”可它们解决的根本不是同一类问题。CLAUDE.md 负责的是让 Claude 理解这个项目到底是什么、该遵守什么、边界在哪里。Skills 负责的是让 Claude 在某一类任务上能反复调用一套成熟、稳定、可执行的方法。一个偏“项目认知层”一个偏“执行能力层”。如果你从一开始就没把这两层分开后面十有八九会写乱。CLAUDE.md你可以把 CLAUDE.md 理解成一句话“凡是 Claude 为了理解这个具体项目而必须知道的东西都应该放在这里。”判断方法其实特别简单。当你在想某条信息该放哪里时只要你脑子里冒出来的开头是“在这个项目里……”或者“对于这个项目来说……”那这条信息大概率就应该写进 CLAUDE.md。因为它本质上是项目专属知识而不是某种能跨项目复用的通用能力。CLAUDE.md 一般放在哪里通常它就放在项目根目录下。也就是说当 Claude 进入这个项目时最先接触到、也最该优先建立上下文的就是这个文件。CLAUDE.md 里到底该写什么这个文件本身是 Markdown 格式所以结构上很自由但真正重要的不是你分多少标题而是你有没有把项目的关键认知信息讲清楚。比如下面这些内容就是非常典型、也非常适合写进 CLAUDE.md 的部分## Project Overview Short explanation of what the project is. ## Tech Stack - TypeScript - Next.js - Tailwind - ShadCN ## Architecture Explain folders and patterns. ## Coding Rules - Use functional React components - Prefer server components - Use Tailwind utilities instead of custom CSS ## Design System - Follow ShadCN patterns - Use tokens from /styles/tokens.ts ## Commands npm run dev你会发现这里面写的都不是“某个任务该怎么做”而是“这个项目本身是什么样、该按什么方式被理解和执行”。比如项目概览告诉 Claude 这项目到底是在解决什么问题技术栈告诉它你在这个项目里到底用什么架构说明告诉它目录、模式、组织方式怎么理解编码规则告诉它你在这个项目里有哪些明确偏好设计系统告诉它 UI 和样式层该遵守什么常用命令则是为了让它真正执行任务时别犯低级错误。说白了CLAUDE.md 的任务不是“教 Claude 干活”而是先把这个项目的世界观塞进它脑子里。Skills如果说 CLAUDE.md 解决的是“这个项目是什么”那 Skills 解决的就是“Claude 遇到某类任务时该怎么做得更稳定、更像熟练工”。所以我更喜欢把 Skills 理解成可按需调用的、可执行的专业能力。它特别适合那种反复出现、流程清晰、最好每次都别从头摸索的任务。比如这些就非常适合做成 Skill生成 PRD创建 landing page重构组件做设计审计编写 API handler这些事情的共同点在于它们不是只属于某一个项目而是你在很多项目里都会反复遇到。既然如此就没必要每个项目都从头写一遍流程说明。Skills 一般放在哪里Skills 可以分成两类本地 Skills和全局 Skills。本地 Skills 属于某个具体项目通常会放在项目里的/skills目录下。例如project-root/ ├── CLAUDE.md ├── skills/ │ ├── ux/ │ │ ├── run-ux-audit.md │ │ └── analyze-user-flow.md │ ├── coding/ │ │ ├── build-component.md │ │ └── refactor-code.md │ ├── research/ │ │ └── competitor-analysis.md │ └── content/ │ └── write-linkedin-post.md这种本地 Skill 的意义在于它只服务这个项目或者说它的使用场景强依赖这个项目当前的工作流。而如果你发现某项能力在很多项目里都能复用那它就更适合做成全局 Skill。全局 Skills 通常会放在 Claude Code 的工具目录里比如~/claude-skills/ ├── front-end-design/ ├── ux-audit/ └── content-writing/你可以把它理解成本地 Skill 更像“项目内部工具”全局 Skill 更像“你自己的长期武器库”。顺手提一句如果你根本不知道当前项目里 Claude 能用哪些 Skills可以直接问它What skills I haveSkill 里应该写什么和 CLAUDE.md 一样Skill 文件本身通常也是 Markdown。但 Skill 不是普通说明文档它更像一个带触发条件和执行说明的“能力封装”。通常一个完整的 Skill 至少要包含两部分第一部分是 YAML frontmatter也就是写在---标记之间的元信息。它的作用是告诉 Claude这是什么 Skill、它适合什么时候被使用。第二部分是 Markdown 格式的执行说明。也就是当这个 Skill 被调用时Claude 到底该按什么步骤做。比如一个用于生成 landing page 的 Skill可以写成这样name: create-landing-page description: Generate a landing page using project conventions steps: - Analyze CLAUDE.md for design system - Generate layout - Create components - Apply styling rules - Validate accessibility这里最值得注意的一点是Skill 不是在替代 CLAUDE.md而是在读取 CLAUDE.md 的前提下执行任务。也就是说Skill 更像一个熟练工的操作流程而 CLAUDE.md 则像工地总规范。没有总规范熟练工可能乱干可只有规范、没有流程Claude 又容易每次都发挥不稳定。CLAUDE.md 与技能如何协同工作很多人一开始总想二选一 要么全写进 CLAUDE.md觉得这样集中 要么疯狂造 Skills觉得这样模块化。其实最合理的方式从来不是二选一而是让它们各守自己的位置再互相配合。我自己的理解是CLAUDE.md 负责给出底层规则、项目边界和基础约束Skill 则在这些规则之内执行具体工作流。举个很典型的例子。如果你在 CLAUDE.md 里这样写## Tech Stack - React version 19.2 - Use TypeScript 5.9.3这就属于项目级约束。它告诉 Claude这个项目里React 和 TypeScript 的版本就是这些别乱来。而与此同时你又做了一个可复用的 Skill叫build-component内容像这样Workflow: 1. Generate component in React 2. Use TypeScript types 3. Ensure 200 lines 4. Document component usage in markdown format那么当build-component这个 Skill 被触发时它会照着自己的流程去生成组件但它在生成过程中又必须尊重 CLAUDE.md 里已经写好的项目约束比如 React 版本、TypeScript 版本、目录模式、设计系统等等。这才是最健康的配合关系项目规则在 CLAUDE.md任务方法在 Skill。谁也别越界。你甚至可以在 CLAUDE.md 里直接列出可用 Skills这也是一种很实用的做法。比如你可以在 CLAUDE.md 里单独写一个 “Available Skills” 区域给项目里的常用 Skill 做快捷索引## Available Skills - run-ux-audit → ./skills/ux/run-ux-audit.md - build-component → ./skills/coding/build-component.md这样做的好处是Claude 在读取项目脑子的时候就已经顺手知道这个项目里有哪些现成能力可以调用。对于复杂项目来说这能明显减少“明明有 Skill 却没用上”的情况。最容易踩的 3 个坑真的很多团队都中过说到这里其实大方向已经很清楚了。但真正把系统用顺之前还有几个特别常见的坑最好一开始就避开。坑一把流程全写进 CLAUDE.md很多人写着写着就会忍不住在 CLAUDE.md 里塞这种东西To create a landing page: 1. Do this 2. Do that表面上看这好像也没错。但问题在于这已经不是“项目背景信息”了而是一个具体任务流程。这类内容应该被放进 Skill 里如果你不打算复用那至少也该做成一个单独的 workflow.md文件在需要的时候引用而不是直接塞进 CLAUDE.md 里。因为一旦你把流程和项目脑子混写在一起后面 CLAUDE.md 会越来越像一个什么都装的杂物间。结果就是看起来信息很多实际上层次全乱了。坑二把项目专属规则写进 Skill再比如有人会在 Skill 里直接写Use Next.js 16.1.1这就属于典型的放错地方。因为 Skill 应该尽量是通用、可复用的。像某个框架的具体版本、某个项目特有的目录结构、某个产品专属的设计 token这些都应该放在 CLAUDE.md 里而不是塞进 Skill 里。否则今天这个 Skill 在 A 项目可用明天拿到 B 项目还得改一遍最后它根本不配叫“可复用能力”只是一个伪装成 Skill 的项目片段而已。坑三重复写逻辑越写越冲突还有一种更隐蔽、也更烦的错误就是重复定义。比如某条规则你已经在 CLAUDE.md 里写过了结果又在 Skill 里再写一遍甚至写得还不完全一样。短期看你可能觉得“更保险”可一旦后续改动发生两个地方不同步Claude 就会开始在冲突指令之间摇摆。所以原则一定要记住Skills 应该读取 CLAUDE.md而不是重写 CLAUDE.md。能引用就引用能继承就继承不要重复造一套几乎一样的规则。最后如果你想把这篇内容真正记住其实只需要记住一句话CLAUDE.md 讲的是身份、上下文和边界Skill 讲的是动作、流程和能力。换句话说CLAUDE.md 回答的是“这个项目到底是什么在这里该怎么理解世界”Skill 回答的是“遇到这类任务时我应该按什么成熟方法执行”一个定义环境一个定义招式。一旦你把这两个层次彻底分开Claude Code 的可控性会明显提升。项目不会再越做越乱Skill 也不会越积越废。你会发现Claude 开始更像一个真正能协作的系统而不是一个每次都要重新讲规则的临时工。真正会在 Claude Code 上规模化做事的人最后拼的从来不是 prompt 写得多花而是这套结构到底搭得清不清楚。而 CLAUDE.md 和 Skills 的边界就是这套结构里最不能糊涂的一刀。最后精通 React 面试从零到中高级CSS终极指南Vue 设计模式实战指南20个前端开发者必备的响应式布局深入React:从基础到最佳实践完整攻略python 技巧精讲React Hook 深入浅出CSS技巧与案例详解vue2与vue3技巧合集全栈AI·探索涵盖动效、React Hooks、Vue 技巧、LLM 应用、Python 脚本等专栏案例驱动实战学习点击二维码了解更多详情。

相关文章:

Claude Code 的 CLAUDE.md 与技能

“到底什么信息该写进 CLAUDE.md,什么信息又该写进 Skills?”说实话,这不是一个小问题。恰恰相反,如果你开始认真、长期、规模化地使用 Claude Code,这几乎就是最关键的架构决策之一。很多团队前期觉得无所谓&#xff…...

逆向工程OWASP ZAP:从代码到架构的软件工程实践

一、写在前面在软件工程课程中,老师反复强调一个观点:安全漏洞的本质往往是软件工程实践的系统性失败。也就是说,很多漏洞的产生,根源不在于某个具体的代码错误,而在于整个软件的设计、架构、开发流程中存在系统性问题…...

PCB设计效率翻倍:用CATIA批量导出元器件2D轮廓的隐藏技巧

PCB设计效率革命:CATIA批量导出2D轮廓的工业级解决方案 在高速迭代的电子产品开发周期中,PCB工程师常常需要处理数百个器件的3D模型转换工作。传统单器件操作模式不仅耗时费力,更可能成为项目进度的瓶颈。CATIA作为航空与汽车行业的主流CAD工…...

自动开窗器市场剖析:2026 - 2032年复合年增长率(CAGR)为6.0%

据恒州诚思调研统计,2025年全球自动开窗器收入规模约达19.73亿元,预计到2032年,这一数字将接近29.62亿元,2026 - 2032年复合年增长率(CAGR)为6.0%。在建筑智能化与节能需求日益凸显的当下,自动开…...

小波阈值去噪在生物医学信号处理中的应用:从原理到实践

小波阈值去噪在生物医学信号处理中的应用:从原理到实践 生物医学信号处理领域正面临前所未有的挑战与机遇。ECG、EEG等生理信号中往往混杂着肌电干扰、工频噪声和基线漂移等多种噪声,传统滤波方法难以在保留关键病理特征的同时有效抑制噪声。小波阈值去噪…...

基于生成对抗网络与Transformer注意力机制的股票价格预测系统

基于生成对抗网络与Transformer注意力机制的股票价格预测系统 1. 引言与相关工作 1.1 传统时序预测的局限性 股票价格预测是典型的非线性、高噪声、非平稳时间序列问题。传统的ARIMA、GARCH等统计模型难以捕捉复杂的非线性模式。LSTM虽然在一定程度上解决了长序列依赖,但其…...

工厂型卖家的商业模式、选品逻辑与实操打法

一:工厂卖家模式选择转型前,我们首先要想清楚四个问题:我们在做什么?我们有什么?我们跟谁做?我们怎么做?这四个问题直接决定了后续的投入上限和天花板。很多工厂型卖家都有个误区,觉…...

F3U源码STM32仿三菱PLC底层实现

项目概述 这个项目实现了基于STM32的仿三菱PLC底层系统,提供了类似三菱FX系列PLC的功能,包括梯形图编程、I/O处理、通信协议等核心功能。 系统架构 ----------------------- | 应用层 | | (梯形图程序/ST语言) | -----------------…...

强化学习数据长啥样?手把手教你用ViTables“透视”d4rl的CartPole/Hopper数据集

强化学习数据解剖指南:用ViTables透视d4rl数据集的内在逻辑 当你第一次打开一个强化学习数据集时,那种面对未知结构的茫然感我深有体会。去年在研究Hopper环境时,我花了整整三天才搞明白数据集里那些数字究竟代表什么。直到发现了ViTables这个…...

AI Agent团队架构演进:从1个扩到8个再砍回4个

标题 **从 1 到 8 再到 4:我的 AI Agent 团队架构演进实录**标签 AI Agent LLM 自动化 系统架构 工程实践封面图建议 一张简洁的架构图(1→8→4 的演进过程)---正文> 这是一篇关于真实踩坑的文章。不是教程,是复盘。背景三个月…...

Gephi图形导出PDF不显示节点标签

Gephi图形导出SVG、PNG均正常,但是导出PDF不显示节点标签,此时只需将节点标签字体设为英文字体即可...

FUTURE POLICE语音模型卷积神经网络前端处理优化:提升噪声环境识别率

FUTURE POLICE语音模型卷积神经网络前端处理优化:提升噪声环境识别率 你有没有试过在嘈杂的街道上对着手机说话,结果语音助手完全听不懂你在说什么?或者工厂里的工人想用语音指令操作设备,却因为机器轰鸣声而频频失败&#xff1f…...

DeepChat在Visual Studio中的智能开发插件

DeepChat在Visual Studio中的智能开发插件 1. 引言 作为一名开发者,你是否曾经在编码时遇到过这样的困扰:写了一半的代码突然卡壳,不知道下一步该怎么实现;或者遇到一个奇怪的错误提示,花了半天时间也找不到解决方案…...

Hackadmin-RTB-2 WP记录

信息搜集永远的第一步不知道666是个什么东西,可以访问一下无法访问dirsearch扫下目录依次访问一下看看有没有交互点开始找漏洞扫一下有没有注入点没扫出来并且扫phpmyadmin也没有扫出来虽然目前的两个页面可交互的地方都没有办法通过sql注入进行脱库,但是…...

挖到宝了!沃尔沃项目EPLAN工程模板全集,10套超值大放送

超值大型10套 EPLAN 工程:沃尔沃项目模板全集,高效设计一触即达 超大型I EPLAN电气工程图纸I 沃尔沃项目EPLAN图纸模板合集 另外:再10套PDF图纸(已打包一起) 1. 参考车企设备通用标准图纸层级分类(高层代号分类)&#…...

一键部署QWEN-AUDIO:赛博可视化界面,让文字秒变超自然语音

一键部署QWEN-AUDIO:赛博可视化界面,让文字秒变超自然语音 1. 引言:语音合成的未来已来 想象一下,你正在为一个重要项目准备演示文稿,需要为每张幻灯片配上专业解说。传统方法要么自己录音,要么花钱请配音…...

COCO2017数据集实战:如何利用官方API统计各类别的图片和标注框数量

COCO2017数据集深度解析:用Python API实现类别统计与可视化分析 计算机视觉领域的研究者和开发者们,一定对COCO数据集不陌生。作为目前最流行的目标检测基准数据集之一,COCO2017以其丰富的标注类别和高质量的图像数据,成为算法开发…...

告别出图焦虑!用Cadence Allegro导出Gerber文件的5个关键检查点与高效技巧

告别出图焦虑!Cadence Allegro导出Gerber文件的5个关键检查点与高效技巧 作为一名PCB工程师,你是否曾在深夜赶项目时,因为Gerber文件导出错误而被迫返工?或是面对复杂的多层板设计,对导出流程的每一步都如履薄冰&#…...

Prompt Engineering入门指南:从入门到精通的实战笔记

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕人工智能这个话题展开,希望能为你带来一些启…...

【首发实测】RTX 4060 成功捕获 Karpathy 的“自动科研助手”!5分钟跑完 3500 万 Token,进化开始!

【首发实测】RTX 4060 成功捕获 Karpathy 的“自动科研助手”!5分钟跑完 3500 万 Token,进化开始! Baseline 跑通,坐标 4060 笔记本 经过一波三折的环境折腾(解决 Windows 不支持 Triton、修改镜像源、手动魔改 train.py),我终于在我的 RTX 4060 Laptop 上成功跑通了 …...

Wireshark实战:如何从流量包中揪出黑客的蛛丝马迹(附真实案例解析)

Wireshark实战:从流量包中还原黑客攻击全链条 网络安全的世界里,数据包就像犯罪现场的指纹。作为网络取证领域的瑞士军刀,Wireshark能让我们像侦探一样,从海量流量中抽丝剥茧还原攻击过程。今天我们就通过一个真实案例&#xff0c…...

从PyInstaller到NSIS:一个全栈项目打包避坑指南当Vue遇上FastAPI,如何优雅地打包成Windows安装程序

从PyInstaller到NSIS:一个全栈项目打包避坑指南当Vue遇上FastAPI,如何优雅地打包成Windows安装程序前言最近完成了一个印章提取工具的开发,前端使用Vue 3,后端是Python FastAPI。项目开发阶段一切顺利,但到了打包交付环…...

效率系列(九) macOS 前端开发环境优化与个性化配置指南

1. 为什么需要优化macOS前端开发环境? 作为一个长期在macOS上折腾前端开发的"老司机",我深刻体会到开发环境配置对工作效率的影响。你可能遇到过这些场景:终端反应迟钝、代码补全不智能、项目切换时环境冲突...这些问题看似不大&am…...

Python 集成视频录制(Selenium):让 UI 自动化问题无处隐藏

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中…...

推荐系统工程师必看:如何高效追踪RecSys/KDD/SIGIR顶会论文中的工业落地技术?

推荐系统工程师必看:如何高效追踪RecSys/KDD/SIGIR顶会论文中的工业落地技术? 在算法驱动的互联网时代,推荐系统工程师的竞争力不仅在于代码能力,更在于对技术前沿的敏锐嗅觉。每年RecSys、KDD、SIGIR三大顶会产出的上千篇论文中&…...

PyTorch版本选不对,GPU再强也白费!手把手教你根据CUDA 12.x选对Torch版本

PyTorch版本选不对,GPU再强也白费!手把手教你根据CUDA 12.x选对Torch版本 每次打开PyTorch官网,看到密密麻麻的版本号是不是瞬间头大?CUDA 12.7驱动下到底该选12.1还是12.6的PyTorch?torchvision版本又该怎么配&#x…...

用Substance Painter制作写实金属锈蚀效果:从智能材质到粒子笔刷的完整流程

用Substance Painter制作写实金属锈蚀效果:从智能材质到粒子笔刷的完整流程 在次世代游戏和影视资产制作中,金属锈蚀效果的真实度往往决定了场景的沉浸感。许多3D美术师都曾遇到过这样的困境:明明使用了高精度模型和4K贴图,但金属…...

亚洲美女-造相Z-Turbo可部署方案:单卡3090/4090即可运行的轻量文生图服务

亚洲美女-造相Z-Turbo可部署方案:单卡3090/4090即可运行的轻量文生图服务 1. 快速了解造相Z-Turbo 造相Z-Turbo是一个专门针对亚洲女性形象生成的文生图模型,基于Z-Image-Turbo的LoRA版本进行优化。这个模型最大的特点是轻量高效,单张RTX 3…...

告别手动复制粘贴:影刀RPA内置包 + Xpath + MySQL 打造你的第一个数据自动化流水线

影刀RPAXpathMySQL:零代码构建企业级数据自动化流水线 每天早晨9点,市场部的张经理都要重复同样的工作:打开5个行业数据网站,手动复制表格数据到Excel,清洗格式后导入MySQL数据库。这种机械操作不仅消耗2小时有效工作时…...

PyTorch实战:手把手教你为图像修复任务定制Feature Loss(附VGG16/19、ResNet对比)

PyTorch实战:图像修复任务中的定制化特征损失函数设计指南 修复一张褪色的老照片时,我们常遇到这样的困境:过度强调像素级匹配会导致修复区域出现不自然的色块,而单纯依赖高层语义又可能丢失原图的纹理细节。这正是传统L1/L2损失函…...