不废话,两套工作流搞定一切
curl -fsSL https://claude.ai/install.sh | bashcd 你的项目目录 && claude@文件名 — 让 Claude 看某个文件,比如 @src/app.js 这里有 bugCtrl+V — 粘贴截图给它看(调 UI 特别好用)/clear — 换个话题前先清一下,防止它记混/compact — 聊太久变慢了就压缩一下Shift+Tab — 切换模式(连按两次进入"只看不改"的 Plan 模式)直接说 → 它改 → 你看 → 满意就提交
/commit@src/app.js — 引用整个文件@src/app.js#5-30 — 只看第 5-30 行@src/ — 引用整个目录不要只说"修这个 bug",而是:"修完后跑 @tests/auth.test.ts 确认通过"。给 Claude 一个可以自我验证的标准,它会自己跑测试确认。
探索性任务用模糊指令反而更好:"这个文件有什么可以改进的?""帮我理解一下这个模块的架构"。但到了实现阶段,切回精确模式。
先规划 → 再动手 → 分步做 → 每步验证
Shift+Tab 进入 Plan 模式(只看不改)Ctrl+G 可以在编辑器里直接改计划Shift+Tab 切回正常模式,说"按计划开始,先做第一步"/rewind 回退改一个计划只需要一句话,改已经写好的代码要花十倍的时间。所以大任务一定先规划。
Ctrl+G 可以在编辑器里直接改计划——删掉不同意的部分,补充你的想法判断标准:如果实现方式只有一种,直接做。如果有多种选择,先规划。
用两个独立会话分别"写代码"和"审查代码",Reviewer 不受 Writer 思路影响,能发现盲点:
装了 Superpowers 后,上面的流程会自动触发——你说要做什么,它自动走:需求确认 → 设计文档 → 拆任务 → 子 agent 执行 → TDD 测试 → 代码审查 → 合并。可以自主工作几个小时不跑偏。
安装:在 Claude Code 里输 /plugin install superpowers@claude-plugins-official
适合正经软件项目。改个 HTML、写个脚本就别用了,流程开销大于收益。
YC CEO 开源的 21 个命令,从想法到上线全覆盖:
/office-hours — 想清楚要做什么(头脑风暴)/plan-eng-review — 锁定技术方案/review — 代码审查/qa — 浏览器自动测试 + 修 bug/investigate — 系统化 debug/ship — 一键发布安装:cd ~/.claude && git clone https://github.com/garrytan/gstack.git skills/gstack && cd skills/gstack && ./setup
/office-hours — YC 式头脑风暴,帮你想清楚再动手/plan-ceo-review — 战略评审,评估范围和方向/plan-eng-review — 架构评审,锁定技术方案/plan-design-review — 设计评审/autoplan — 自动跑完全部评审流程/design-consultation — 生成设计系统(字体、配色、布局)/design-review — 视觉 QA,找间距/层级/一致性问题并修复/review — Staff 级代码审查(SQL 安全、竞态条件、信任边界)/qa — 真实浏览器跑测试,自动修 bug + 回归测试/qa-only — 只报告不修复/investigate — 系统化 debug,4 阶段定位 root cause/codex — 调 OpenAI 做独立交叉审查(第二意见)/cso — 安全审计(OWASP Top 10、威胁建模)/ship — 测试→审查→版本号→CHANGELOG→PR 一条龙/land-and-deploy — 合并 PR + 等 CI + 验证生产环境/document-release — 自动更新文档/retro — 周报指标和趋势分析/guard — 全保护模式(危险命令警告 + 目录锁定)/careful — 只警告危险操作/freeze / /unfreeze — 锁定/解锁指定目录/browse — 内置无头浏览器(100ms 级操作)/benchmark — 性能基准测试/canary — 部署后监控项目根目录放一个 CLAUDE.md 文件,相当于给 Claude 的"入职须知"。写上:怎么跑项目、怎么跑测试、有什么规范、有什么坑。写一次,每次启动自动读取。
不知道写什么?输 /init 让 Claude 自动生成一份。
~/.claude/CLAUDE.md — 个人全局配置(所有项目都读)项目根/CLAUDE.md — 项目级(提交到 git,团队共享)项目根/CLAUDE.local.md — 本地覆盖(不提交,个人偏好)这几行能省掉你几百次重复纠正:
## 身份
- 叫我大哥,用中文,简洁直接
- 非程序员,不要给我看代码/日志/报错,只要结论和结果
## 沟通
- 禁止废话客套,一句话能说清就别一段
- 能直接做就做,不要反复确认
- 犯错直说,有观点就站一边
## 工作方式
- 先做后报:动手→结果→汇报一句
- 快速迭代:先能用再好用
## 红线
- 不编造信息,不确定就说不确定
- 不删除任何东西(用 trash 不用 rm)
项目大了之后,把规则拆到 .claude/rules/ 目录下,用 YAML frontmatter 限定到特定文件:
# .claude/rules/api-style.md
---
paths: ["src/api/**/*.ts"]
---
API 路由必须包含输入验证和错误处理。
所有新端点需要添加集成测试。
这样规则只在 Claude 访问匹配的文件时才加载,节省上下文空间。
Claude 的记忆有上限。修完 bug 又加功能又重构,它会越来越糊涂。做完一件事就 /clear 清空,开始下一件。聊太久变慢了用 /compact 压缩。
/clear — 一件事做完就清,不要在同一个对话里混着干/compact 专注于 API 改动 — 压缩时加焦点,Claude 会优先保留你关心的内容/context — 查看哪些文件和 MCP 占了多少 token,经常发现没用的 MCP 占了大量空间/memory 命令查看和管理"把整个项目从 JS 迁移到 TS" 这种指令等于让它自由发挥,结果不可控。拆成小步骤,每步确认后再做下一步。每做完一小步就 commit,不满意随时 /rewind 回退。
Ctrl+V 直接粘贴截图。调 UI 时贴"现在长这样"和"我想要这样",比文字描述有效得多。报错截图也比复制粘贴日志更直观。
不确定某个方案行不行?claude --worktree 开一个隔离空间试试,不行就扔掉,零风险。怎么折腾都不影响你的主代码。
claude --worktree feature-auth — 指定名字claude --worktree — 自动生成名字.claude/worktrees/ 下创建独立副本,退出时没改动自动清理,有改动提示保留或删除/rewind 可以回退到任意 checkpointgit reset --hard、git push --force 没有 undoclaude --from-pr 123 自动加载 PR 的改动和讨论/plugin install superpowers@claude-plugins-officialclaude mcp add context7 --transport http https://mcp.context7.com/mcpclaude mcp add github --transport http https://api.githubcopilot.com/mcp/装完重启 Claude Code 生效。MCP 别装太多,5 个以内,每个都吃上下文空间。
claude mcp add context7 --transport http https://mcp.context7.com/mcpclaude mcp add github --transport http https://api.githubcopilot.com/mcp/claude mcp add playwright -- npx -y @playwright/mcp@latestclaude mcp add thinking -- npx -y @modelcontextprotocol/server-sequential-thinkingclaude mcp add postgres --env DATABASE_URL=连接串 -- npx -y @modelcontextprotocol/server-postgresclaude mcp add sqlite -- npx -y @modelcontextprotocol/server-sqlite /数据库路径.db作用范围:--scope user(所有项目)、--scope local(当前项目,默认)、--scope project(团队共享)
CLAUDE.md 里的指令是"建议",Hooks 是"铁律"——无论如何都会执行。配置在 ~/.claude/settings.json 里。
四种触发时机:
PreToolUse — 工具执行前(可拦截危险命令)PostToolUse — 工具执行后(自动格式化)Stop — Claude 回答完毕时(弹通知)SessionStart — 会话开始时(注入关键信息)实用示例 — 任务完成弹 macOS 通知:
{ "hooks": { "Stop": [{ "matcher": "", "hooks": [{
"type": "command",
"command": "osascript -e 'display notification \"任务完成\" with title \"Claude Code\" sound name \"Glass\"'"
}]}]}}
实用示例 — 拦截 rm -rf 和 force push:
{ "hooks": { "PreToolUse": [{ "matcher": "Bash", "hooks": [{
"type": "command",
"command": "bash -c 'CMD=$(cat | jq -r .tool_input.command); echo \"$CMD\" | grep -qE \"rm\\s+-rf\\s+/|git\\s+push.*--force\" && { echo BLOCKED >&2; exit 2; } || true'"
}]}]}}
用 Shift+Tab 循环切换:
精细控制在 .claude/settings.json:
{ "permissions": {
"allow": ["Bash(npm run *)", "Bash(git commit *)", "Edit(src/**/*.ts)"],
"deny": ["Bash(rm -rf *)", "Edit(.env)"]
}}
规则优先级:deny → ask → allow(deny 最优先)
以上内容够日常使用了。想深入了解某个方面,看这些: