Claude的 冷知识和实用经验。大部分来自 Boris Cherny(Claude Code 作者)在 X 上分享的若干轮 tips1234、Thariq 关于 skill 的分享5,以及作者自己日常用下来的沉淀。
以及精选20个command
目录概要
- 会话管理类——fork、teleport、remote-control、/btw
- 并行执行类——worktree、/batch、/loop
- 输入效率类——/voice、/vim、shift+enter
- 配置类——/model、--agent、--bare、--add-dir
- 调试类——/doctor、Chrome、Dispatch
- 认知类——sub-agent 当临时工、总让 Claude 验证、/compact 的时机
- 小结
一、会话管理——别每次都从零开始
用 Claude Code 最容易犯的错是:开新会话时带着上一次的一堆历史继续往下走,context 秒爆。一套更顺的做法是:
1.1 /branch 或 --fork-session——会话分叉
你跑着一个会话,想做一个"假设性"的尝试——比如换一种重构思路——但又不想丢失当前进度。
# 会话里直接:
/branch
# 或者从 CLI:
claude --resume <session-id> --fork-session
/branch 创建一个分支会话,你立刻切换到分支里。原会话还在,用 claude -r <original-session-id> 可以回到原会话。
使用场景:
- 跑到一半想试试另一个实现方案
- 改完一版不满意想"回退到改之前再试一遍"
- 主会话做 A 任务,想分出去做个相关 B 任务
这比每次新开会话再手动补 context 强 10 倍。
1.2 /teleport 和 /remote-control——跨设备接力
场景:早上在家里笔记本用 Claude Code 跑了个任务,到公司想接着干。
# 把云端会话拉到本地终端
/teleport
# 让远端设备(手机 / 网页)控制本地正在跑的会话
/remote-control
Boris 的配置里默认开了 "Enable Remote Control for all sessions"——每个会话都随时可被远端接管。
想象一下场景:你在外面吃饭,发现代码跑炸了——掏出手机打开 Claude 的 web 端,接管当前会话,让它修,然后继续吃饭。这就是 remote-control 的价值。
1.3 /btw——主会话在忙时问点杂事
这是我最喜欢的一个小功能。Claude 正跑着一个大任务,你想问一个与它无关的小问题——"dachshund 怎么拼?""React 18 的 useTransition 怎么用?"——不想打断它。
/btw how do I spell dachshund?
> dachshund — German for "badger dog" (dachs + badger, hund + dog).
/btw(by the way)打开一个侧边查询——不进主上下文、不打断主 agent、查完就结束。
比在别处开浏览器搜方便得多。
1.4 --add-dir——跨 repo 协作
有时候你工作的是一个 repo 的前端 + 另一个 repo 的后端——两个独立的 git 仓库,但任务是关联的。
cd frontend/
claude --add-dir ../backend
或者进入会话后:
/add-dir ../backend
这样 Claude 既能看到 frontend/ 下的所有文件,也能看到 backend/——而且权限也跟着放开(不然你读 ../backend 要一遍遍弹确认)。
进阶:想让整个团队默认都加载多个目录,写进 .claude/settings.json:
{
"additionalDirectories": ["../backend", "../shared-types"]
}
二、并行执行——"多个 Claude 同时干"
Boris 说他"at all times 有几十个 Claude 在跑",这不是夸张。关键是三个东西:worktree、/batch、/loop。
2.1 claude -w 或 /worktree——git worktree 加持
Git worktree 本来就是好东西——同一个 repo 可以 check out 到多个独立工作目录,互不干扰。Claude Code 原生支持:
claude -w
起一个新会话,自动在一个新的 worktree 里跑。Claude 在 worktree 里改来改去不影响你主 checkout。搞完 merge 回主分支。
配合 06 篇讲过的 isolation: "worktree" frontmatter,每个 subagent 都能自动跑在独立 worktree 里。
2.2 /batch——大规模并行迁移
这是 Boris 特别推荐的。场景:你要做一个跨几百个文件的代码迁移——比如把所有 axios 换成 fetch、把所有 moment 换成 dayjs。
/batch
> 我要把项目里所有 axios 调用迁移到 fetch ...
/batch 会先跟你"面谈"——搞清楚要迁什么、怎么验证——然后自动开一堆 worktree agent 并行干。每个 agent 一个 worktree、一份独立 codebase,各自搞自己的那一部分,最后合并。
规模可以很大——几十、几百、甚至上千个并行 agent。适合大型重构、library 升级、风格统一这类可并行的工作。
2.3 /loop 和 /schedule——定时跑的 agent
这是 Boris 眼里的 "most powerful features"。
/loop 5m /babysit
意思是:每 5 分钟跑一次 /babysit 这个 skill/command——自动 review 代码、自动 rebase、自动把 PR 推到生产。
Boris 自己挂的 loop 举几个:
/loop 5m /babysit— 守着 PR,自动 review、rebase、推进到 prod/loop 30m /slack-feedback— 每半小时把 Slack 收到的反馈开成 PR/loop /post-merge-sweeper— 漏掉的 review comment 自动开 PR 处理/loop 1h /pr-pruner— 每小时关掉过期 PR
把重复劳动扔给 loop,人集中时间做有价值的事。
关键洞察:把 workflow + skill + loop 组合起来,就是一个低成本的"私人助理"。你不用去写脚本、不用搞 CI——写一个 skill,挂个 loop,它就定时跑了。
三、输入效率——少打字,多产出
3.1 /voice——语音输入
Boris 说他大部分代码都是说出来的,不是敲出来的。
/voice
然后按住空格键说话,松开就发送。Desktop 版本有语音按钮。iOS 系统级 dictation 也能用。
这对长 prompt 尤其友好——"我要做一个 X,用 Y 技术栈,考虑 Z 约束,优先级是 A 高于 B"——说 30 秒搞定,打字得 3 分钟。
3.2 /vim——Vim 模式
对 vim 用户非常友好。
/vim
输入框进入 vim 模式——h/j/k/l、dd、yy、/ 搜索等都支持。
3.3 /terminal-setup——Shift+Enter 换行
默认在某些终端里,换行要打 \ 再回车,很难用。
/terminal-setup
它会自动配置你的终端(iTerm2、Warp、Alacritty、IDE 内嵌终端)以支持 Shift+Enter 换行。
这是个"一次配置,终身受益"的小命令。
3.4 终端配置一把梭
新装 Claude Code 后,作者推荐一次跑完:
/config # 主题、通知、偏好
/terminal-setup # 换行支持
/vim # 编辑模式(如果你是 vim 用户)
三条命令,把输入环境调到顺手。
四、配置调教——用更合适的档位
4.1 /model——effort level 切换
Claude Code 的 /model 不只是切模型,还能切 effort 档位:
| 档位 | 特点 | 适合 |
|---|---|---|
| Low | token 少、响应快 | 琐碎任务、短问答 |
| Medium | 平衡 | 日常默认 |
| High | token 多、智能高 | 复杂任务、关键设计 |
Boris 的选择:High for everything。
实操建议:日常 Medium、遇到难题临时切 High。
4.2 --agent——启动时直接选 agent
这个 flag 经常被忽略。正常启动是 Claude Code 默认 agent:
claude
但加个 --agent:
claude --agent=code-reviewer
就直接启动 .claude/agents/code-reviewer.md 这个 agent 作为主对话。它的工具集、model、permission 配置全都生效——等于给这个会话切了一套专属环境。
比如做 code review 时启动 code-reviewer agent(只读权限、只允许 Read/Grep/Glob),改代码时启动默认 agent——两种模式切换只用一个 flag。
4.3 --bare——SDK 启动速度提升 10 倍
这是 Boris 说的"设计初期的遗留问题"。默认 claude -p 或者 TS/Python SDK 启动时会自动扫 CLAUDE.md、settings、MCP——但对 non-interactive 调用,大多数时候你只想显式传那些你需要的,其他别管。
claude -p "summarize this codebase" \
--output-format=stream-json \
--verbose \
--bare
--bare 跳过所有自动扫描,启动速度快到 10 倍。以后默认会变成 bare,现在需要手动加 flag。
适合:CI、自动化脚本、headless 场景。
4.4 /plugin——插件市场
Claude Code 2.x 引入了插件机制。插件可以打包 skill / MCP / agent / hook,一键安装。
/plugin
进入插件面板。可以装官方 marketplace 的插件,也可以配置自己的企业 marketplace(写在 settings.json 里)。
对团队意义:把"安全规则 + 通用 skill + 内部 MCP"打包成 plugin 发布,新人 clone 仓库后自动拿到全部,不用一个个装。
五、调试——让 Claude 自己看自己的结果
5.1 /doctor——诊断配置
Claude Code 跑得不对?先跑:
/doctor
它会自检:配置文件语法、MCP 是否连上、hook 是否正确、权限是否冲突——一个不漏地扫一遍报给你。
装新 MCP 后、改完 settings 后、遇到"Claude 行为怪异"的时候,第一步永远是 /doctor。
5.2 Chrome 扩展——前端开发必装
Boris 说 Claude Code 最重要的一条原则:
Give Claude a way to verify its output. 一旦你做到这一点,Claude 就会一直迭代直到结果 OK。
前端开发给 Claude 的"验证"就是浏览器——10 篇里讲的 Playwright MCP 或 Chrome 扩展。
没浏览器 Claude 只能写完"以为 OK" 就收工;有浏览器,它会自己打开页面、截图、对比、改代码、再看——直到视觉 OK 为止。
这条是迭代质量从 60 分到 90 分的关键跳跃。
5.3 Cowork Dispatch——不在电脑前时的"遥控器"
Dispatch 是 Claude Desktop 的一个模式——从手机 / web 安全远程控制桌面 Claude。
Boris 说他"不写代码的时候在 dispatching"。典型场景:路上回顾 Slack 消息、管文件、非编码的杂事——全都通过 Dispatch 派给桌面 Claude 去干。
六、认知层——心态对了才能真的用好
前面 5 类都是"操作",最后这一类是"观念"——这几条不装技巧、不看文档、一年用下来都可能不知道。
6.1 把 subagent 当"临时工",不是"永久雇员"
很多人把 subagent 当成"必须写得非常重"的东西——精心设计 system prompt、preload 一堆 skill、配齐 memory 和 hooks。
实际上,Claude Code 的 Agent 工具支持随手起一个临时 subagent——就像你在公司临时喊一个实习生帮忙倒一杯水:
Agent(description="Search all TS files for deprecated imports",
prompt="Grep all files under src/ for `import { X } from 'old-lib'`
and list paths and line numbers")
一次性 subagent,跑完就扔。好处:
- 搜索工作在独立 context 跑,不污染主会话
- 结果以简洁摘要返回,信息密度高
- 不用写 frontmatter、不用放
.claude/agents/——直接用
实用经验:主会话被一次大搜索污染,常常比"多开一个 subagent 去搜"贵得多。学会随手派临时工。
6.2 总让 Claude 自己验证
重复强调一下 Boris 的那条原则——给 Claude 验证工具,它就会迭代到对。
具体手段:
- 前端 → Chrome / Playwright
- 后端 → 让它跑 test、跑 build
- 数据处理 → 让它打印结果、grep 验证
- 写文档 → 让它对照原文复查
没有验证手段的任务,Claude 的"完成"只是"第一版"。
6.3 /compact 的时机——50% 是红线
07 / 08 篇里提过 /compact——把 context 压缩一遍保留关键信息。但什么时候压这件事没讲过。
作者的经验是:context 使用率到 50% 时手动压缩一次。
为什么是 50%?
- < 30%:压缩没什么意义,浪费一次压缩操作
- 30%~50%:还有余量,可以再撑一会儿
- 50%~70%:压缩黄金期——既有足够多的内容值得压缩,又还有空间给压缩结果
- > 70%:来不及了,可能压完还是紧张,甚至压缩过程本身都要挤 context
手动 /compact 比被动等 auto-compact 好——你对"保留什么"有控制。
6.4 Plan mode 先行,复杂任务必开
复杂任务(改动 10+ 文件、跨 repo 重构、算法重写)一定要先进 plan mode:
/plan
或者在 settings 里默认开启。
plan mode 里 Claude 只能读、只能思考,不能动手。它给你出一份详细方案,你看完改完再退出 plan mode 让它动手。
直接就动手的代价:跑到一半发现方案有问题,回头要撤销一堆改动。前期 10 分钟的规划换后期 1 小时的返工——稳赚。
6.5 单次 task 压缩到 50% context 以内
跟 6.3 相关但不同。一个 task 从开始到完成,消耗的 context 最好不超过当前 session 的 50%。超过就拆任务。
为什么?
- 50% 以内:完成 + 验证 + 复查 + 写 PR 有余量
- 超过 50%:到后期就在"抢 context"——没空间复查,没空间修 bug
实践:任务一开始估算复杂度,大于 5 个文件修改 / 跨模块 / 要写测试 的,直接拆。拆成若干个 subtask,每个 subtask 用临时 subagent 去做。
七、挑五条带走
这一篇讲的是真用起来——不是文档能教会你的事,是一次次踩坑、一次次迭代、一次次被老用户点醒之后的经验沉淀。
最有价值的 5 条(我自己这段时间最受用的排序)——
/btw问杂事——用过一次再也离不开/loop+ skill 的组合——重复劳动彻底自动化- 临时 subagent 做搜索——主会话 context 省一大截
- 给 Claude 浏览器——前端质量从 60 到 90
- 50% compact 红线——这是 session 级的纪律
后面那些 /teleport / --bare / /vim 都是加分项——装不装随缘。
写完这篇,整个系列讲"怎么用"的部分到此为止。
但 Claude Code 毕竟是一个开放平台——你看的这些 skill、agent、hook、command,都是别人写出来的。到最后你一定会遇到"官方和社区都没有现成的,我自己从零做一个"这种场景。下一篇是整个系列的收束——做一个完整的自己用的东西:挑一个每天都在做、做起来又烦人的真实需求,从零写 skill + agent + command、配 hook + memory + permission——全套走下来,跑一遍,复盘一遍。读完那篇,你就真的 own 这套东西了。