主题
我的 Claude Code 改进清单(基于真实使用)
本页职责:你的整体毛病诊断 + 行动清单,也是核心数字(空转 33.7%、放行 185、追问 65 等)的唯一详述处——其它页引用这些数字都链回这里。
数据采集自本机
~/.claude/(settings、13 个项目的会话记录、stats、各项目 CLAUDE.md/AGENTS.md),对照官方 best-practices 得出。快照日期:2026-05-30,Claude Code v2.1.158。数字会随使用变化,重看时按下方命令自查最新值。想看你每一条消息的逐条点评(你怎么说→为什么不好→大佬怎么用→该怎么说,全部带真实证据):见 逐条处理(按项目)。全量真实统计:1046 条手写消息驱动 10,278 次调用,其中 352 条(33.7%)是 0 调用空转。
你的真实用量快照
| 项目 | 会话 | 请求 | 缓存命中 | 输入(B tok) | 主模型 |
|---|---|---|---|---|---|
| jiuxinshuzhi/qinghua-frontend | 70 | 11,719 | 97.3% | 2.57 | opus-4-7 |
| jiuxinshuzhi/kejizhuantifuwu | 9 | 4,600 | 87.1% | 1.91 | opus-4-8 |
| mine/GEO | 12 | 3,530 | 96.8% | 1.07 | opus-4-7 |
| jiuxinshuzhi/shanke-student | 8 | 791 | 96.2% | 0.12 | opus-4-7 |
| jiuxinshuzhi/shanke | 1 | 564 | 95.6% | 0.21 | opus-4-7 |
| 其余 8 个项目 | — | <300 各 | 91–97% | 小 | opus-4-7 |
三句话读懂自己:① 用量高度集中在 qinghua-frontend + kejizhuantifuwu + mine-GEO 三个项目;② 几乎清一色 Opus(仅最近 kejizhuantifuwu/workspace 切到 4.8);③ 缓存命中普遍 94–97% 很健康,kejizhuantifuwu 偏低(87%)是这几天大量重建文档所致。
全局配置:bypassPermissions + skipDangerousModePermissionPrompt + skipAutoPermissionPrompt(权限弹窗全跳过)、0 个自定义 hook、15 个插件(semgrep 关)、48 个个人技能、5 个 MCP(serena/context7/playwright/figma/chrome-devtools)、Anthropic 直连订阅。
你的真实操作习惯(13 项目 · 22,085 条消息实测)
这一节不是建议,是从你所有项目的会话记录里数出来的——你实际敲了什么、漏用了什么。每条都给了证据和"以后怎么改"。这是你最该看的部分。
| 你的真实行为(证据) | 这说明 | 以后这样做(具体动作) |
|---|---|---|
| context7 调用 = 0 次(22,085 条里一次没用) | 你装了"查最新文档"的工具,却从没用——查 Vue3 / SpringBlade / 任何库的 API 全靠模型记忆,可能是过时或编的 | 凡涉及第三方库/框架写法,开口就带「用 context7 查Vue 3 的 X / SpringBlade 4.7 的 Y」。这是你提升准确率最快的一步 |
| Read 整文件 2,098 次,serena 仅 15 次,Grep 0 次 | 你几乎全靠"读整个文件"找代码(qinghua-frontend 读了 1,244 次、serena 才 15;kejizhuantifuwu 读 423 次、serena 0) | 找"某函数/类在哪定义、被谁调用"时说「用 serena 找 xxx 的定义和引用」。又快又省上下文,命中率也高——这是你省 token、提速最大的杠杆 |
| plan mode 只用过 3 次 | 你是负责人、爱"看方案再拍板",又在做鉴权/路由这种架构活,但几乎从不先出计划就直接让它改 | 多文件/架构任务前先 Shift+Tab 进 plan,或 /model opusplan:先看它列"改哪些文件+方案",你批了再动手。少返工 |
| Bash 4,324 次(最高)+ 全局 bypassPermissions + 0 hook | 你大量跑 shell(构建/git/脚本),又全跳过权限、没有任何硬闸 | 给红线命令加 PreToolUse hook(见下方 2)。Bash 用得越多,这道闸越值 |
| 几乎全程 Opus(13 项目主模型都是 opus) | 日常前端小改也在用最贵最慢的模型 | 日常改 /model sonnet,架构 /model opusplan,subagent 配 haiku(见下方 3) |
| 用得好 :chrome-devtools 126 次、subagent(Agent/Task) 211 次、figma 27、playwright 30 | 你已经会用浏览器调试 + 委派 subagent + 设计稿 | 保持;把同样的"用对工具"习惯迁移到 serena/context7 上 |
一句话总览:你在"动手"上很猛(Bash/Read/Edit 几千次),但在"用对的工具找信息"上几乎空白(context7=0、serena≈0、plan=3)。把这三个习惯补上,后面会明显更快、更准、更少返工。
你 vs 大佬:同一件事的不同说法(逐句对照)
左边是你真实输入过的原话(从会话记录里捞的),右边是 Anthropic 团队/官方 best-practices 的做法。差距不在"会不会用",而在给不给上下文、给不给验证、先不先规划。依据:Best practices、How Anthropic teams use Claude Code。
1. 模糊的审美抱怨 → 给参照物 + 喂设计稿
- 你说过:「你现在这个还是太 AI 化了,一点商业规范标准都没有,是没用组件库吗」「能做得更高级、眼前一亮一些吗」
- 大佬会:先给"长什么样"的锚,再提要求——「参考这张截图/这个产品 URL 的视觉规范重做:用 ant-design-vue 组件库、主色
#1677ff、8px 栅格;改完截图和原图对比」。Product Design 团队直接把 Figma 稿喂给 Claude 让它写+测+迭代。 - 差在哪:你有
design-assets/…fig源稿 + figma MCP,却用形容词("高级""不 AI 化")让它猜。形容词无法验证,给图/给组件库/给色值才能。
2. 宽泛的"这是什么项目" → 当资深工程师提问、限定范围和工具
- 你说过:「这是什么项目」
- 大佬会:「你是本仓库资深工程师。用 serena/Explore 给我:架构总览、关键目录、blade-auth→blade-system 的调用流——别读整文件。」官方把"像问资深工程师那样问 Claude"列为最佳上手方式;Product Eng 团队把 Claude 当"任何编程任务的第一站"、让它先定位文件。
- 差在哪:你给了一个无范围、无工具、无角色的宽问题,它只能泛泛答;加"角色+范围+用 serena"立刻具体。
3. 超短放任"可以/继续"(你 30%)→ 要么自动循环、要么早纠偏
- 你说过:「可以」「继续」「go on」(≤15 字占 30%)
- 大佬会:两种都行,但都不是被动"继续"——① 原型探索:开 auto-accept(Shift+Tab)+ 明确"写代码→跑测试→迭代到通过"的自动循环;② 关键逻辑:同步盯着,跑偏立刻
Esc打断纠正。前提是给它一个能自己判停的验证(测试/pnpm type-check/截图)。 - 差在哪:你的"继续"既没给方向也没给验证,等于让它蒙着头跑。
4. 把执行甩给 codex → 让 Claude 自己跑"实现→自验→提交"闭环
- 你说过:「直接给出提示词,我会让 codex 修复和部署」「我会让 codex 执行,你直接给出命令」
- 大佬会:让 Claude Code 自己完成 agentic loop——它能跑
mvn compile、pnpm type-check、playwright 自验,再提交。Security 团队就是"引导 TDD + 定期 check in"拿到可靠可测代码。 - 差在哪:只让它"出提示词"= 只用了它一半(规划),丢了它最强的自验证循环。(若你是因为 codex 在 Mac、部署在别处的环境隔离需要,那保留无妨;若只是习惯,建议让 Claude Code 自己闭环。)
5. 空泛的"仔细审查" → 给范围 + 验收标准
- 你说过:「再帮我仔细审查确保没有任何问题了」「这个文件对我们有用吗仔细审查代码」
- 大佬会:「用
/code-review审这次 diff 找正确性 bug;再用 silent-failure-hunter 查吞异常;只报影响正确性/鉴权的,别过度工程」。官方的对抗式 review 强调只看 diff + 验收标准、聚焦正确性。 - 差在哪:"确保没问题"没标准、没范围,它不知道查多深、按什么算"有问题"。
6. 事后才纠正(你 5%)→ 开头就 @文件给上下文
- 你说过:「不对,我是
design-assets/pencil/科技专题服务系统.fig这个才是 figma 源码」(它找错了你才纠正) - 大佬会:第一句就
@design-assets/pencil/科技专题服务系统.fig把文件钉死。你只有 8% 的 prompt 带@文件。 - 差在哪:事后纠正浪费一整轮、还把错误上下文留在会话里拉低后续质量。官方:prompt 里直接指明文件、用
@引用。
把这 6 条变成肌肉记忆,比改任何配置都管用:给锚(图/文件/URL)、给验证(测试/截图)、先规划(plan)、要纠正趁早(Esc)。
拆解你的一次真实会话:「历史会话切换没反应」
这是你在 qinghua-frontend真实跑过的一次 bug 修复(12 轮,会话
62a70fec)。逐轮看你怎么用的、哪步本可以更好——这是把上面的对照落到你自己一次完整经历上。
真实逐轮(精简):
- 你:「历史会话切换总是没反应,有这个问题吗,先帮我定位一下」→ Claude 自动调起 systematic-debugging 技能
- Claude(一个巨大回合):
git log+ 大量grep+ 把 ResearchRadar.vue 读了 5 遍、上百条 bash、serena 0 次;写回归测试、跑 vitest/vue-tsc/eslint、更新 MEMORY - 你:「继续吧」
- 你:「我知道了,是不是因为在调用生成推荐问题的接口,推荐问题出来之后就能切了」← 真正的根因
- 你:「最优方案是什么」→ 改 ResearchRadar.vue + 测试 6–9. 你:「别的智能体有这个问题吗」「似乎还是不行」「还是不行」「还是不行」 10–12. 你:「还是不行,仔细审查代码」「再帮我确定一下」「别的智能体有没有同样问题,全修了吗,破坏别的功能没,边界都考虑了吗」
你做得好的(已是大佬级,保持)
- 第1轮说"先定位"而不是"直接改"——根因优先;Claude 还自动用了你装的 systematic-debugging 技能。
- 全程 TDD:先写 regression 测试再改,每改一次
vitest + vue-tsc + eslint自验,还把结论写进 MEMORY——这正是 Security 团队的"TDD + 定期 check in"。
4 个"这一轮本可以"(按影响排序)
- 根因你第4轮才说,本该是第1句。你其实早就观察到"要等推荐问题生成完才能切"——但第1轮只说"没反应",害得 Claude 在第2轮盲目读了 ResearchRadar.vue 5 遍、跑上百条命令去逼近。
- 大佬版第1句:「ResearchRadar 历史会话切换在'推荐问题生成中'时点不动、要等接口返回才行。先复现确认,再定位是哪个 running/busy 状态卡住」。把观察+复现一次给够,整个第2轮的盲探都省了。
- 第2轮靠 grep+Read(同一文件读 5 遍、serena=0)。→ 「用 serena找 ResearchRadar 里控制
running/busy/allowOpenWhileBusy的符号和所有引用」一步定位,省一半 token、也不会读重复。 - 第7–9轮「还是不行」连说 3 次、不给新信息、也没回退。→ 失败 2 次就该停:
/rewind回到改之前,给更尖的复现——「切换时 console 报错没?busy何时变 false?先让 Claude 加一行日志打印 busy 状态再复现」。光说"还是不行"它只能继续猜,越猜上下文越脏。 - 没用 plan、第12轮才想起"别的智能体"。这 bug 横跨 ResearchRadar/KnowledgeQA 等多个智能体页面 → 一开始就
Shift+Tab让它先列"哪些智能体受影响 + 统一改法 + 逐个验证",而不是修完一个、最后才回头问"别人有没有同样问题"。
一句话
你这次的工程纪律(TDD + 每步自验)已经是大佬级;真正拖慢你的是开局信息密度(把"推荐问题生成中才卡"这种关键观察、和文件、一次给够)和纠偏方式(失败就 /rewind 重描述,别陷进"还是不行"循环)。
自检脚本(重看时挑一个最近会话照样扒一遍,看自己改了没):
bashls -t ~/.claude/projects/<项目>/*.jsonl | head -5 # 找最近会话,按上面的维度回看:第1句给够信息没?serena 用了没?失败时 rewind 了没?
场景速查:这种情况该用什么(最实用)
你装的好工具大多没用在刀刃上。下面按你真实的活给"直接这么做"。核心一句:能让 Claude 自己验证的(type-check/编译/截图)一定让它验;查资料用 context7 别信记忆;找代码用 serena 别 grep 整仓。
前端(kj-frontend / qinghua-frontend)
| 你遇到的情形 | 直接这么做 |
|---|---|
| 在大组件/工具里找某函数、它在哪被调用 | 「用 serena找 useAuth 的定义和所有引用」(find_symbol / find_referencing_symbols)——别读整文件再 grep |
| 改完 Vue/TS 想确认没崩 | 让它跑 pnpm type-check(vue-tsc 0 error);动了 vite.config/main.ts 再 pnpm dev 看启动 |
| 改完登录页/某页面想"真的看一眼" | 起 pnpm dev(:8000),「用 playwright打开 http://localhost:8000 登录页、填表、截图」自验 |
| 把 Figma 稿做成页面 | 「用 figma读 get_design_context + 截图,再实现」;新组件可配 frontend-design |
| 页面卡 / LCP 慢 / 内存涨 | chrome-devtools:/debug-optimize-lcp、/memory-leak-debugging |
查 Vue3 script setup / Pinia / 某库最新写法 | 「用 context7查 Vue 3 的 X」——别信模型记忆(它可能过时) |
| 模型 | 日常前端改 → Sonnet(快、省) |
SpringBlade 后端(鉴权 / 路由 / 联调)
| 你遇到的情形 | 直接这么做 |
|---|---|
| 找某 Controller/Service/实体及调用链 | serena符号检索(比 grep 准、省上下文) |
| 改完确认能编译/起得来 | mvn -pl <模块> compile;严重改动 spring-boot:run(先起 Nacos+Redis+DB) |
| 查 SpringBlade 4.7 / Spring Boot 3.2 配置 | context7查官方文档 |
| 鉴权打通 / 路由重构(架构活) | 先 plan mode(Shift+Tab)或 opusplan 列方案+要改哪些文件,你拍板再写 |
| 写鉴权代码防漏洞 | 装 security-guidance(边写边自审),或写完 /security-review |
| 登录 500、联调出错 | /investigate(先根因再改,不瞎试) |
排错 / 评审 / 质量
| 情形 | 用什么 |
|---|---|
| 报错/行为不对、要找根因 | /investigate 或 superpowers:systematic-debugging(根因优先) |
| 怀疑"吞异常/静默失败" | pr-review-toolkit 的 silent-failure-hunter |
| 卡住 / 想要第二意见 | /codex(让 OpenAI 模型对一下)或 superpowers:brainstorming |
| 写完功能自查 bug | /code-review(本地审 diff);更深 /code-review ultra(云端多 agent,Pro/Max 含 3 次免费) |
| 要多专业视角审 | pr-review-toolkit subagents(code-reviewer / type-design-analyzer / pr-test-analyzer …) |
| 全面测一个页面并修 | /qa(测+改+复验);只报告不改 /qa-only |
| 重构后想简化(不找 bug) | /simplify 或 code-simplifier |
| 安全审计 | /cso 或 /security-review |
重构 / 迁移 / 批量(Umi→Vue3 这种)
| 情形 | 用什么 |
|---|---|
| 一处大改拆成很多独立单元、各开 PR | /batch(5–30 个 worktree 隔离 subagent 并行) |
| 全库审计 / 几百文件迁移 / 要交叉验证 | dynamic workflow:/deep-research,或 prompt 里带 workflow 关键词 |
| 跨多文件协调改 | 一个会话一次性给整组改动;先把 plan 写成 md 落盘(长会话会被 compact 冲掉) |
查资料 / 设计 / 文档
| 情形 | 用什么 |
|---|---|
| 查任何第三方库/框架最新 API | context7(你装了,务必用,别让它凭记忆编 API) |
| 上网查 / 抓页面数据 | /browse、/scrape |
| 设计稿 → 代码 | figmaMCP |
| 方案/文档导出 PDF | /make-pdf |
| docs/ 文档整改(你这个项目) | 注意 docs/scripts/*.py 依赖 ROOT 推算、*.bak-* 保留——这些在 docs/AGENTS.md 里(先把它 @import 进来,见下) |
想方案 / 提交 / 日常会话
| 情形 | 用什么 |
|---|---|
| 新功能没想好怎么做 | plan mode 或 superpowers:brainstorming;想大点 /office-hours |
| 提交代码 | /commit;连推带开 PR /commit-push-pr |
| 一周回顾 | /retro |
| 会话变长/变慢 | /context 看占用 → /compact 只保留 X(带焦点压缩) |
| 切不相关任务 | /clear(旧会话还能 /resume) |
| 改坏了想撤 | 双击 Esc 或 /rewind(注意 Bash 的 rm/mv 不被检查点追踪) |
| 挂后台去忙别的 | claude --bg "..." / claude agents |
| 同时改前端+后端 | 各开 claude --worktree <名>,文件不打架 |
| 简单活提速省钱 / 难架构 | /model sonnet / /model opusplan |
一条贯穿全场景的反模式:别让 Claude
Read整个大文件再 grep——你装了 serena,符号级检索又准又省;这也正是你 AGENTS.md 里"用 Explore 不要 grep 全仓库"的升级版。
完整操作流示范:打通 blade-auth(照着做)
把上面的"场景速查"组合成一个真实任务的完整路径,用你真实的端口/接口/模块名。每步标了【模式/模型】和【用什么】。这条流刻意把你现在缺的 context7 / serena / plan三个习惯全用上。
第 1 步 · 先确认环境起得来(你这步一直没验证过)
【模式】default 【用】Bash
- 你 AGENTS.md 记了中间件,但"本地启动验证状态:暂未确认"。先确认依赖在:
text
确认本机这些起没起:Nacos 127.0.0.1:8848、Redis :3379。
没起就告诉我启动命令——别自己改任何配置。- 起服务:
mvn -pl blade-auth spring-boot:run(确保 Nacos/Redis/DB 先就绪);网关按需mvn -pl blade-gateway spring-boot:run。 - 改启动/Nacos/端口配置前先问你(你的红线)。
第 2 步 · 先查文档、先摸代码(别让它凭记忆写鉴权)
【模式】plan(Shift+Tab)或 /model opusplan 【用】context7 + serena
- 查官方最新写法(你从没用过 context7,这步最该补):
text
用 context7 查 SpringBlade 4.7 的 token/鉴权配置,以及 Spring Boot 3.2 的安全写法- 用 serena 摸清现有鉴权链,别读整仓:
text
用 serena 在 blade-auth 找 /blade-auth/token 的 Controller,
以及校验 Blade-Auth: Bearer 和 Tenant-Id 的过滤器/拦截器,列出定义和调用链第 3 步 · 让它出计划,你拍板
【模式】plan 【模型】Opus
text
目标:打通登录鉴权全链路——
POST /blade-auth/token (grantType=password&tenantId=000000&account=..&password=..) 拿 token,
之后请求带 Blade-Auth: Bearer <token> + Tenant-Id: 000000 经网关到 blade-system 能通过。
先别改代码:列出要改哪些文件、前端 src/services/blade-auth 怎么对接、风险点、怎么验证。- 看它的计划(
Ctrl+G可在编辑器里改),满意再批准(plan 批准后自动切执行)。
第 4 步 · 实现(后端 → 前端)
【模式】default / acceptEdits 【模型】执行切 Sonnet(opusplan 自动切)
- 后端:按计划改 blade-auth 与网关对 Tenant-Id 的透传。
- 前端:在
src/services/blade-auth/写登录请求、存 token、请求拦截器自动加Authorization+Tenant-Id(dev :8000 的 proxy/api/*→ Gateway 15800)。
第 5 步 · 验证(让它自己证明通了,别口说"好了")
【用】Bash + curl + playwright
- 后端编译:
mvn -pl blade-auth compile;必要时spring-boot:run看启动。 - 直接打 token 接口,让 Claude 解读返回、拿 token 再打一个受保护接口确认 200:
bash
curl -s "http://127.0.0.1:15800/blade-auth/token?grantType=password&tenantId=000000&account=admin&password=admin" -H "Tenant-Id: 000000"- 前端真验:起
pnpm dev,「用 playwright 打开 http://localhost:8000 登录页,输账号密码提交、截图,确认进了首页、且网络请求带上了 token」。 - 类型:
pnpm type-check(vue-tsc 0 error)。
第 6 步 · 安全审查(鉴权代码必做)
【用】security-guidance 或 /security-review
text
/security-review鉴权重点查:token 有没有被打进日志、Tenant-Id 能不能被前端伪造绕过(串户)、密码有没有明文、错误信息有没有泄露。建议这阶段顺手 /plugin install security-guidance@claude-plugins-official 边写边审。
第 7 步 · 提交
【用】commit-commands
text
/commit-push-pr你把 git push 列为红线——所以这步正好会触发你该配的 PreToolUse hook(见 2):hook 拦一下、你确认了再推。这就是那道闸的用处。
一眼回顾这条流用了什么
opusplan/plan(少返工)→ context7(查准,别编 API)→ serena(定位省 token)→ Sonnet 执行(省钱)→ curl + playwright + mvn(自验)→ /security-review(鉴权必做)→ commit hook(红线兜底)。你现在缺的 context7 / serena / plan 三个习惯,这条流全用上了——下次做"路由重构""新建 blade-kj- 微服务"照这个骨架套。*
1 · AGENTS.md 没被 Claude 读到(6 个项目的系统性问题)
事实:Claude Code 只读 CLAUDE.md,不读 AGENTS.md。你以下项目的 AGENTS.md 内容基本进不了上下文:
| 项目 | 情况 |
|---|---|
| jiuxinshuzhi/kejizhuantifuwu | 4 层 CLAUDE.md 均无 @AGENTS.md(520 行 AGENTS.md 大半看不到) |
| jiuxinshuzhi/shanke、mine/GEO、mine/sanzhixiongzuhao、obsidian | 有 CLAUDE.md 但没 @import |
| mine/二手交易平台 | 只有 AGENTS.md、连 CLAUDE.md 都没有 → 全看不到 |
副作用:kejizhuantifuwu 还在 CLAUDE.md 手抄了一份端口/登录接口/Tenant-Id = 两份真相,迟早漂移。
官方做法(memory / best-practices 节):CLAUDE.md 顶部 @AGENTS.md 导入,两边读同一份、不重复。
改法:
- 每个有 AGENTS.md 的项目,在
CLAUDE.md顶部加一行:
markdown
@AGENTS.mdmine/二手交易平台:新建CLAUDE.md,内容就一行@AGENTS.md(或ln -s AGENTS.md CLAUDE.md)。- 然后把 CLAUDE.md 里和 AGENTS.md 重复的事实删掉,只留"Claude Code 特有"的部分 → 单一真相源。
收益最大、风险最低的一改。改完
/memory+/context能看到 AGENTS.md 真进了上下文。
2 · bypassPermissions + 零 hooks = 你写的红线全是摆设
事实:你全局跳过所有权限弹窗,且没有任何 hook。但 kejizhuantifuwu 的 CLAUDE.md 列了一串"必须先确认":git push / rm -rf / git reset --hard / git push --force / pnpm uninstall / 改 AGENTS.md / 改 SpringBlade 启动配置。
问题:bypass 下这些只是建议、拦不住——Claude 可以不问就 git push --force 或改 Nacos 端口。意图(写了红线)和配置(全跳过)矛盾。
官方做法:只有 PreToolUse hook(exit 2)能硬拦,且 bypass 下仍生效。
改法:建脚本 ~/.claude/hooks/guard-redlines.sh:
bash
#!/usr/bin/env bash
cmd=$(jq -r '.tool_input.command // empty')
for p in 'git push' 'git reset --hard' 'git push.*--force' 'rm -rf' 'pnpm uninstall' 'npm uninstall' 'mvn dependency:purge'; do
if echo "$cmd" | grep -Eq "$p"; then
echo " 红线命令被 hook 拦截:$cmd(按 CLAUDE.md 需先人工确认)" >&2
exit 2
fi
done
exit 0chmod +x 后,在项目 .claude/settings.json 挂上:
json
{
"hooks": {
"PreToolUse": [
{ "matcher": "Bash", "hooks": [ { "type": "command", "command": "~/.claude/hooks/guard-redlines.sh" } ] }
]
}
}或者(更省心的替代):高危活改用 /sandbox(OS 级隔离)兜底,bypass + sandbox 是更安全的组合。
3 · 全项目几乎只用 Opus —— 成本/速度都有空间
事实:13 个项目主模型几乎全是 Opus。官方建议:Sonnet 干大多数编码、Opus 留给难架构、subagent 用 Haiku。
改法:
- 日常前端改/重构(qinghua-frontend、kj-frontend)→
/model sonnet,更快更省。 - 架构决策(SpringBlade 鉴权打通、路由重构)→ 用
opusplan:plan 模式 Opus 想清楚、执行切 Sonnet 干活——正好契合你"先看方案再拍板",还省钱。
text
/model opusplan- subagent 配
model: haiku(你重度用 pr-review-toolkit subagent,这里省最多)。 - 你已在 4.8(kejizhuantifuwu),其它项目可统一切到 Opus 4.8 或
default。
4 · plan mode 没用起来(你最该用的人)
你是负责人、爱"看方案再拍板",当前阶段又是跨多文件的架构改造——这正是官方强推 plan mode 的场景(Explore → Plan → Implement → Commit)。但 bypass 下 Claude 默认直接动手。
改法:这类活先 Shift+Tab 进 plan 模式(或用上面的 opusplan),让它先列"要改哪些文件 + 方案",你批了再实现。
5 · 你在做鉴权,却关了安全检查
事实:semgrep 插件关着,也没装 security-guidance。当前阶段恰是 SpringBlade 鉴权——最该查注入/越权/凭据处理的时候。
改法:
text
/plugin install security-guidance@claude-plugins-official
/reload-plugins它在 Claude 写代码时自动自审常见漏洞并当场修;对鉴权改造性价比很高。或重新启用 semgrep。
6 · 小优化
| 项 | 现状 | 建议 |
|---|---|---|
| 并行联调 | 常前端+后端同时改 | claude --worktree <名> 各开隔离会话,不互相覆盖文件 |
| stale 配置 | .claude/settings.local.json 有 enabledMcpjsonServers:["linear"] 但没 .mcp.json 定义 | 删掉这条,或补 .mcp.json 接上 linear |
| 缓存命中 | kejizhuantifuwu 87%(全局 97%) | 切任务时 /compact;别频繁改靠前的稳定内容(改一字、其后全重算) |
| 技能/插件噪音 | 48 技能 + 15 插件 | 偶尔 /context 看占用;用不到的 /plugin 关掉 |
| Opus 4.8 | 仅部分项目 | 统一切新版本,享受更好推理 |
做得好的(别改)
- kj-frontend 有
pnpm type-check(vue-tsc 0 error)、SpringBlade 有mvn -pl … compile—— 给了 Claude 可自查的验证手段,正是官方第一实践。 - pnpm 绝对路径、增量编译、不全量 install/不
pnpm up—— 环境约定到位。 - 缓存命中长期 94–97%、用 serena 语义检索代替整文件 grep —— 上下文管理意识好。
行动清单(按优先级勾选)
- [ ] 给 6 个项目的 CLAUDE.md 加
@AGENTS.md并去重(mine/二手交易平台 先建 CLAUDE.md) - [ ] 写
guard-redlines.shPreToolUse hook,挂到常用项目的.claude/settings.json - [ ] 架构类任务改用
opusplan+ plan mode;日常编码切 Sonnet;subagent 用 Haiku - [ ] 鉴权阶段启用
security-guidance(或开 semgrep) - [ ] 并行联调用
--worktree;清理 stale 的linearMCP 配置 - [ ] 偶尔
/context、/usage自查;切任务/compact
怎么自查最新数据(重看本页时跑)
bash
# 各项目用量 + 缓存命中
node -e 'const fs=require("fs"),p=require("path"),r=require("os").homedir()+"/.claude/projects";for(const d of fs.readdirSync(r)){const dir=p.join(r,d);if(!fs.statSync(dir).isDirectory())continue;let rd=0,cr=0,ip=0,n=0;for(const f of fs.readdirSync(dir)){if(!f.endsWith(".jsonl"))continue;for(const l of fs.readFileSync(p.join(dir,f),"utf8").split("\n")){if(!l.trim())continue;let o;try{o=JSON.parse(l)}catch{continue}const u=o?.message?.usage;if(o.type!=="assistant"||!u)continue;n++;rd+=u.cache_read_input_tokens||0;cr+=u.cache_creation_input_tokens||0;ip+=u.input_tokens||0}}const t=rd+cr+ip;if(n)console.log(d.slice(-30),n,"req",(rd*100/t).toFixed(1)+"% hit")}'
# 哪些项目 AGENTS.md 没被 @import
for d in $(find ~/aZhe_project -maxdepth 3 -name AGENTS.md | xargs -n1 dirname); do grep -ql "@AGENTS" "$d/CLAUDE.md" 2>/dev/null || echo "未导入: $d"; done
# 全局累计统计
cat ~/.claude/stats-cache.json | jq '.modelUsage'全功能细节见左侧各章节;本页是"对你"的浓缩行动版。