Claude Code 使用教程:用 CLAUDE.md 与 Plan 模式搭建可复现的 Skill 工作流

发布时间:2026/10/2 20:27:59
Claude Code 使用教程:用 CLAUDE.md 与 Plan 模式搭建可复现的 Skill 工作流 1. 为什么你的 Claude Code 总是“聊着聊着就失忆”很多人第一次打开 Claude Code输入claude回车看到那个朴素的终端界面心里想的是这不就是个命令行版的聊天机器人吗然后就开始一句一句地跟它聊让它写个函数、改个样式、修个 bug。聊了半小时项目文件多了对话轮次上去了突然发现它开始胡言乱语——你让它改按钮颜色它去动路由配置你让它加个接口它把数据库 schema 给改了。这不是 Claude 变笨了而是你没有给它建立一套可复现的工作流。Claude Code 真正的威力不在于“单次对话能写多少代码”而在于你能不能把项目约定、规划习惯、常用操作和回滚机制固化下来让每一次会话都从同一个起点出发产出可预期的结果。这篇文章要解决的就是这个问题。我会带你从零配置一个 Claude Code 项目用CLAUDE.md固化项目约定用 Plan 模式先规划再执行用 Skill 沉淀常用操作用 Rewind 做失败回滚。每一步都有可直接复制的配置和验证动作你跟着做一遍就能跑通一条完整的可复现工作流。适合谁看如果你已经装好了 Claude Code能跑通claude命令但每次用都觉得“差点意思”——要么重复解释项目背景要么改着改着就失控要么不知道哪一步出了问题——那这篇就是写给你的。如果你还没装也没关系配置部分我会给出完整路径和文件内容你照着建就行。核心检索词先放在这里Claude Code 使用教程、CLAUDE.md 配置、Plan 模式、Skill 工作流、Rewind 回滚。这几个词贯穿全文你可以在每一步里找到对应的实操。我试过在一个中型前端项目里连续用 Claude Code 两周最大的感受是没有CLAUDE.md的时候每天开工前要花十分钟跟它解释“这个项目用 Vite 不用 Webpack”“样式走 CSS Modules 不走 Tailwind”“API 请求统一走src/api/client.ts”。有了CLAUDE.md之后这些废话全省了打开终端直接干活。这就是可复现工作流的价值——把重复劳动压缩到零。下面进入正题。我会按照“先建约定再规划再执行再沉淀再回滚”的顺序把每个环节拆成可复制的步骤。你不需要一次全做完可以跟着章节一步步来每完成一节就验证一次输出。2. TaoToken 前置给 Claude Code 配一个稳定的模型入口在开始配置工作流之前得先确保你的 Claude Code 能稳定调用模型。很多新手卡在第一步装好了 Claude Code输入claude之后要么报 401要么提示local proxy failed要么一直转圈没响应。这些问题多半出在模型接入配置上。TaoToken 在这里的角色是提供一个兼容 Anthropic API 的模型调用入口。你不需要改 Claude Code 的源码只需要在环境变量或配置文件里把 Base URL 和 API Key 指向 TaoToken就能让 Claude Code 正常跑起来。官网地址是https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 地址是https://taotoken.net/api注意 API 地址不加 UTM 参数直接用于配置。具体怎么配Claude Code 读取配置的方式有两种环境变量和settings.json。推荐用settings.json因为它是项目级的换项目不会互相干扰。文件路径是~/.claude/settings.json全局或项目根目录下的.claude/settings.json项目级。项目级优先级更高适合团队协作时统一配置。一个最小可用的settings.json长这样{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoToken密钥 } }注意两点第一ANTHROPIC_BASE_URL填https://taotoken.net/api不要加末尾斜杠也不要加 UTM 参数第二ANTHROPIC_API_KEY填你在 TaoToken 控制台生成的密钥格式通常是sk-开头。密钥不要提交到 Git建议放在.claude/settings.local.json里然后把settings.local.json加进.gitignore。如果你用的是 Claude Code 的 OAuth 登录方式可能会遇到OAuth token expired或reading choices报错。这时候切回 API Key 模式最稳。操作方法是先退出登录然后在settings.json里显式写入ANTHROPIC_API_KEY再重启 Claude Code。重启命令就是claude不需要额外参数。配好之后怎么验证在终端里输入claude -p 回复一句配置成功如果看到类似“配置成功”的回复说明模型入口通了。如果报 401检查密钥是否复制完整如果报local proxy failed检查ANTHROPIC_BASE_URL是否写成了https://taotoken.net/api而不是其他地址如果一直无响应检查网络是否能访问taotoken.net。这里插一句TaoToken 的 API Key 管理页面在https://taotoken.net/api-keys你可以在这里生成、删除、查看密钥。建议给每个项目单独生成一个 Key方便排查问题和控制用量。模型对话调试页面在https://taotoken.net/chat如果你不确定某个模型 ID 是否可用可以先去这里试一句。配好模型入口之后Claude Code 就能正常对话了。但能对话不等于能干活接下来我们要解决的是“怎么让它记住项目约定”。3. 可复制配置用 CLAUDE.md 固化项目约定CLAUDE.md是 Claude Code 每次启动时自动读取的项目记忆文件。你可以把它理解成给 Claude 写的一份“入职须知”项目是做什么的、用了什么技术栈、代码规范是什么、哪些文件不能动、常用命令有哪些。写一次之后每次打开 Claude Code 都自动带上不用重复解释。文件位置很关键放在项目根目录下文件名必须是CLAUDE.md大写。Claude Code 启动时会从当前目录往上找找到第一个CLAUDE.md就用它。如果你在子目录里启动它会往上找到项目根目录的那份。下面是一份可直接复制的CLAUDE.md模板我按“项目简介、技术栈、代码规范、项目结构、常用命令、禁止事项”六块来写。你可以根据自己项目改但建议保留这个结构因为 Claude 对分节标题的识别效果最好。# 项目简介 这是一个番茄钟 Web 应用支持 25 分钟倒计时、开始/暂停/重置、番茄计数、休息提醒、任务标签和历史记录。目标用户是需要专注工作的个人开发者。 # 技术栈 - 框架React 18 TypeScript 5 - 构建工具Vite 5 - 样式Tailwind CSS 3 - 状态管理React useState/useEffect不引入 Redux - 持久化localStorage - 测试Vitest React Testing Library # 代码规范 - 组件文件用 PascalCase如 TimerDisplay.tsx - 工具函数用 camelCase如 formatTime.ts - 每个组件必须导出默认组件类型定义写在同文件顶部 - 样式优先用 Tailwind 类名不写独立 CSS 文件 - 所有时间相关逻辑必须考虑暂停和重置 - 提交前必须跑 npm run lint 和 npm run test # 项目结构 - src/components/UI 组件 - src/hooks/自定义 hooks - src/utils/纯函数工具 - src/types/TypeScript 类型定义 - src/api/API 请求封装当前项目无后端预留 # 常用命令 - 开发npm run dev - 构建npm run build - 测试npm run test - 检查npm run lint # 禁止事项 - 不要引入新的状态管理库 - 不要修改 vite.config.ts 除非明确要求 - 不要删除 src/utils/formatTime.ts 中的边界处理 - 不要用 any 类型必要时用 unknown 加类型守卫这份模板大概 60 行占用的 token 不多但信息密度很高。写完之后你可以用/init命令让 Claude Code 自动扫描项目生成一份然后对照上面的模板补充。/init生成的通常是英文你可以直接让 Claude 改成中文或者自己手动改。验证CLAUDE.md是否生效的方法很简单先/clear清空对话然后问 Claude“这个项目用什么状态管理”。如果它回答“React useState/useEffect不引入 Redux”说明CLAUDE.md被正确读取了。如果它说“不确定”或者“可能用 Redux”说明文件没被读到检查文件名和位置。这里有个坑要注意CLAUDE.md不是越长越好。我见过有人写了 500 行把整个 API 文档都塞进去结果每次对话光读这个文件就吃掉几万 tokenClaude 反而抓不住重点。判断标准是每条信息都问自己“如果删掉这条会不会让 Claude 犯错”如果不会就不写。详细的 API 文档应该用引用具体文件而不是全量塞进CLAUDE.md。另外CLAUDE.md是活文档。项目加了新功能、换了技术栈、改了目录结构都要同步更新。建议每次发版前花两分钟过一遍保持信息准确。配好CLAUDE.md之后Claude Code 就有了“长期记忆”。接下来我们要解决的是“怎么让它先规划再动手”。4. 验证请求用 Plan 模式跑通一条可复现工作流Plan 模式是 Claude Code 里最被低估的功能。很多人一上来就让 Claude 写代码结果写出来的东西跟预期差很远改来改去浪费大量时间。Plan 模式的核心逻辑是先让 Claude 只看不改输出一份完整的执行计划你确认没问题之后再让它动手。怎么进入 Plan 模式在 Claude Code 交互界面里按ShiftTab切换。按一次切到 Auto-accept再按一次切到 Plan再按一次回到 Normal。界面底部会显示当前模式Plan 模式下会显示plan mode字样。进入 Plan 模式后输入提示词。提示词的质量直接决定计划的质量。一个好的 Plan 提示词应该包含三要素技术栈、功能清单、约束条件。比如我要在这个番茄钟项目里添加一个统计面板展示今日完成番茄数、累计专注时长、连续完成天数。 技术栈React 18 TypeScript Tailwind CSS数据存 localStorage。 约束不要引入新依赖不要改现有 Timer 组件的接口。 请先规划实现步骤和文件改动清单不要写代码。注意最后一句“不要写代码”很关键。Plan 模式下 Claude 本来就不会改文件但明确说出来能让它更聚焦在规划上。Claude 收到后会输出一份计划通常包含需要新建哪些文件、需要修改哪些文件、每个文件改什么、执行顺序是什么、有哪些风险点。这份计划会被写入一个 md 文档你可以用CtrlG打开编辑。如果计划里有你不满意的地方直接改改完再让 Claude 执行。计划确认后Claude 会给你三个选项自动接受所有修改、手动审核每一处修改、给反馈调整方案。新手建议选第二个手动审核这样你能看到每一步改了什么。熟悉之后可以选第一个提速。执行过程中Claude 会按计划一步步来。每改一个文件它会告诉你改了哪里、为什么改。如果中途发现计划有问题随时可以按Esc暂停然后调整。验证工作流是否跑通看三个信号第一Claude 是否按计划顺序执行没有跳步第二每个文件改动是否在计划范围内没有乱动其他文件第三执行完成后是否给出总结说明完成了哪些、还有哪些没做。这里有个实用技巧在 Plan 提示词里加上“每完成一个文件后暂停等我确认再继续”。这样你可以逐步验证避免一次性改太多导致回滚困难。虽然会慢一点但对新手来说更可控。Plan 模式跑通之后你已经有了“先规划再执行”的习惯。接下来我们要解决的是“怎么把常用操作沉淀下来”。5. 本篇常见错排查401、local proxy failed、reading choices 怎么解配置和工作流跑起来之后难免会遇到报错。这一节我把最常见的几类错误和排查方法列出来你遇到问题时可以对照着查。第一类401 错误。报错信息通常是401 Unauthorized或invalid api key。原因有三个密钥没填、密钥填错、密钥过期。排查步骤先检查.claude/settings.json里的ANTHROPIC_API_KEY是否填写再检查密钥是否复制完整有没有多余空格最后去 TaoToken 控制台确认密钥是否还在有效期内。如果都没问题试试重新生成一个密钥。第二类local proxy failed。这个报错通常出现在你配置了本地代理但代理没启动或者ANTHROPIC_BASE_URL填了一个不可达的地址。排查步骤检查ANTHROPIC_BASE_URL是否写成https://taotoken.net/api不要加末尾斜杠不要加 UTM 参数检查网络是否能访问taotoken.net如果你之前配过其他代理先把相关环境变量清掉再试。第三类reading choices报错。这个通常出现在流式响应解析失败时原因可能是模型返回格式不兼容或者网络中断导致响应不完整。排查步骤先重试一次看是否偶发如果持续报错检查settings.json里是否有多余的model字段把它删掉让 Claude Code 用默认模型如果还不行去 TaoToken 的模型对话页面https://taotoken.net/chat测试同一个模型是否能正常返回。第四类OAuth 相关报错。如果你之前用 OAuth 登录过后来改成 API Key可能会遇到OAuth token expired或token refresh failed。解决办法是彻底退出登录删除~/.claude/下的credentials.json如果有然后在settings.json里显式写入ANTHROPIC_API_KEY重启 Claude Code。第五类上下文溢出。报错信息可能是context length exceeded或 Claude 开始胡言乱语。这时候用/context查看占用超过 70% 就/compact压缩任务不相关就/clear清空。如果压缩后还是不够考虑把大文件用引用而不是全量读取。第六类Rewind 回滚失败。Rewind 只能回滚 Claude Code 直接创建或编辑的文件。如果 Claude 执行了npm install生成了node_modulesRewind 撤不掉。这时候用 Git 回滚git checkout .或git reset --hard HEAD~1。建议在让 Claude 做大改动之前先git commit一次。排查错误的通用思路是先看报错信息里的关键词再对照上面的分类找原因然后按步骤验证。如果实在搞不定去 TaoToken 的接入文档页面https://taotoken.net/doc查配置示例或者去 API Keys 页面https://taotoken.net/api-keys确认密钥状态。这里提醒一句不要同时配多个模型入口。有些人既配了环境变量又配了settings.json还留着 OAuth 登录态结果 Claude Code 不知道用哪个报错五花八门。统一用一个入口最稳。6. 语义一致 CTA把工作流沉淀成可复用的 Skill前面几节我们跑通了“配模型入口 → 写 CLAUDE.md → 用 Plan 模式规划 → 执行 → 排错”这条链路。但每次做类似任务时你还是要重复写提示词、重复解释规范。这时候就该用 Skill 把常用操作沉淀下来。Skill 是 Claude Code 的“专业技能包”本质是一个 md 文件加一些参考文档。你可以自己写也可以从插件市场装。自己写的 Skill 放在.claude/skills/目录下每个 Skill 一个子目录里面至少有一个SKILL.md。一个最小 Skill 的目录结构.claude/skills/ code-review/ SKILL.md checklist.mdSKILL.md里写触发条件和执行步骤checklist.md里写具体检查项。比如一个代码审查 Skill 的SKILL.md# Code Review Skill ## 触发条件 当用户说“审查代码”“review 一下”“检查这个文件”时触发。 ## 执行步骤 1. 读取用户指定的文件如果没有指定读取最近修改的 3 个文件 2. 按 checklist.md 逐项检查 3. 输出问题列表按严重程度排序 4. 对每个问题给出修复建议不直接改代码 ## 输出格式 - 严重问题会导致 bug 或安全问题 - 中等问题影响可维护性 - 轻微问题风格建议写完之后在 Claude Code 里输入/plugin可以看到已安装的 Skill 列表。自己写的 Skill 需要手动加载或者放在项目目录下自动识别。验证方法是输入“用 code-review skill 审查 src/components/Timer.tsx”看 Claude 是否按SKILL.md里的步骤执行。Skill 和子代理的区别在于Skill 是在主对话里工作的会占用主会话上下文子代理有独立上下文不占用主会话。如果你要做复杂的、独立的审查任务用子代理更合适如果只是加载一份规范指南用 Skill 就够了。把常用操作沉淀成 Skill 之后你的工作流就完整了CLAUDE.md管项目约定Plan 模式管规划Skill 管常用操作Rewind 和 Git 管回滚。这套组合跑顺之后每次打开 Claude Code 都是同一个起点产出可预期出错可回滚。如果你想把这条工作流用在长期编码项目上可以考虑 TaoToken 的 Coding Plan地址是https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。它适合需要持续调用模型、跑 Agent 任务的场景。如果只是偶尔验证模型效果用模型对话页面就够了https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。接入文档在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI Keys 管理在https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。最后说一个我踩过的坑不要把所有东西都塞进CLAUDE.md。我一开始把 API 文档、数据库 schema、部署流程全写进去结果文件 300 多行Claude 每次读它都吃力反而忽略了真正重要的代码规范。后来拆成CLAUDE.md管约定、docs/管详细文档、Skill 管操作流程三层各司其职效率明显提升。记住一个原则CLAUDE.md只写“删掉会让 Claude 犯错”的信息其他都放别处。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询