前提
与其每次对话都重复说明项目规则,不如把规则写进文件,让 Claude 自动加载。
在项目根目录创建 CLAUDE.md,Claude 每次启动都会自动读取:
# 项目规范 技术栈 - 后端:Node.js + TypeScript + Express - 数据库:PostgreSQL(使用 Prisma ORM) - 测试:Jest + Supertest 编码规范 - 函数命名:camelCase - 文件命名:kebab-case - 错误处理:所有异步函数必须有 try/catch 禁止事项 - 不得直接修改 migration 文件 - 不得使用 any 类型 常用命令 - 启动:`npm run dev` - 测试:`npm test` - 构建:`npm run build`
**实践
- 单个
CLAUDE.md控制在 200 行以内(超出后 Claude 对后面内容的遵守率下降) - 用
.claude/rules/目录拆分大型规则文件,按文件名用 glob 匹配触发 - 重要规则用
标签包裹,防止被忽略
所有数据库操作必须走事务,不得裸写 SQL
.claude/settings.json 控制 Claude 的行为,比 CLAUDE.md 更可靠(由 harness 强制执行):
{ "model": "claude-opus-4-6", "permissions": { "allow": [ "Bash(npm run *)", "Bash(git *)", "Edit(src/)", "Edit(tests/)" ], "deny": [ "Bash(rm -rf *)", "Edit(.env)" ] }, "attribution": { "commit": "" } }
重要区别:在
CLAUDE.md写"NEVER add Co-Authored-By"不可靠;用settings.json的attribution.commit: ""才是确定性的。
不要一次性给出所有需求,让 Claude 用问题挖掘你可能没想到的细节:
用 AskUserQuestion 工具采访我,收集实现「用户通知系统」所需的所有信息, 直到你认为细节足够才开始规划。
这种方式产出的规划质量远高于你直接描述需求。
规划完成后,开一个新的 Claude 会话(或用 Codex)让它扮演「资深工程师」来挑规划的毛病:
codex "以资深工程师视角审查以下技术方案,指出: 1. 架构缺陷 2. 遗漏的边界条件 3. 潜在的扩展性问题 4. 安全风险 方案:$(cat plan.md)"
/ultraplan
生成云端规划草稿,可分享给团队在浏览器中添加评论,再决定是否执行。
把大任务拆成有明确验收标准的阶段,每阶段都包含测试:
请制定分阶段规划,每个阶段包含: - 具体的交付物 - 单元测试要求 - 集成测试要求 - 进入下一阶段的验收标准 需求:重构用户认证模块
在需要 Claude 深入思考时,在 prompt 中加入关键词:
claude --model claude-opus-4-6 "ultrathink:分析这个分布式系统中的竞态条件风险"
重复做同一件事超过 2 次,就把它变成一个斜杠命令。
在项目目录创建 .claude/commands/ 文件夹,每个 .md 文件就是一个命令:
mkdir -p .claude/commands
示例:创建 /review 命令
对当前 git diff 进行 code review,关注: 1. 逻辑错误和边界条件 2. 安全漏洞(OWASP Top 10) 3. 性能问题 4. 错误处理完整性 5. 测试覆盖是否足够 输出格式:Markdown 表格,列:文件 | 行号 | 严重程度 | 问题 | 建议
使用:
/review
示例:创建 /deploy-check 命令
执行上线前检查清单: 1. 运行全量测试:`npm test` 2. 检查环境变量配置是否完整 3. 检查 migration 是否有未执行的 4. 审查最近的 git diff 是否有调试代码(console.log、TODO、FIXME) 5. 生成上线摘要报告
/review 审查当前变更
/test 运行测试并分析失败原因
/techdebt 列出当前代码的技术债
/deploy-check 上线前检查清单
/context-dump 导出当前任务上下文到文件
与其让一个 Claude 做所有事,不如给特定任务配专职 Agent,每个 Agent 有独立上下文和专属工具。
在 .claude/agents/ 目录下创建
:
--- name: security-reviewer description: 专门审查代码安全问题,当涉及认证、授权、数据验证时自动调用 model: opus tools: Read, Grep, Glob --- 你是一个专注安全审查的工程师,专注于: - OWASP Top 10 漏洞检测 - 认证和授权缺陷 - SQL 注入、XSS、CSRF - 敏感数据泄露 - 加密使用是否正确 审查完成后输出结构化报告,包含严重程度(Critical/High/Medium/Low)。
分析 src/auth/ 目录的代码,用 subagents 并行审查安全性和性能
同一模型,两个独立上下文,让一个 Agent 写代码,另一个找 bug:
# Agent 1 实现功能 claude --model claude-opus-4-6 "实现用户登录功能" > login.ts # Agent 2(独立上下文)找 bug cat login.ts | claude --model claude-opus-4-6 "找出这段代码中所有可能的 bug 和安全问题,不要提供修复,只报告问题"
为什么有效? 独立的上下文窗口让第二个 Agent 没有“确认偏差”,能更客观地找问题。
Skills 是比 Commands 更强大的复用单元,支持:预加载到 Agent、独立上下文运行、动态注入 shell 输出。
mkdir -p .claude/skills/code-review
--- name: code-review description: 对代码进行全面审查,关注质量、安全和性能 context: fork allowed-tools: Read, Grep, Glob --- 审查框架 安全检查 - 输入验证(所有用户输入是否经过校验) - 认证和授权 - 依赖版本是否有已知漏洞:!`npm audit --json 2>/dev/null | head -50` 性能检查 - 数据库查询(N+1 问题、缺少索引) - 内存泄漏风险 - 同步操作阻塞事件循环 代码质量 - 函数复杂度(超过 20 行的函数需要拆分) - 错误处理完整性 - 测试覆盖率 Gotchas(Claude 常犯的错误) - 不要忽略 async/await 中未捕获的 Promise rejection - 检查 TypeScript 的 any 类型是否过度使用
技巧:
!command语法会在 Skill 加载时执行 shell 命令并注入结果,上例中npm audit的输出会直接进入 Claude 的上下文。
模式一:用户手动调用
/code-review
模式二:预加载到 Subagent(推荐用于专职 Agent)
--- name: backend-dev skills: - code-review - database-migration ---
Hooks 让 Claude Code 在特定事件发生时自动执行脚本,无需人工干预。
场景一:提交代码后自动格式化
// .claude/settings.json { "hooks": { "PostToolUse": [{ "matcher": "Edit|Write", "hooks": [{ "type": "command", "command": "npm run format -- $CLAUDE_TOOL_INPUT_PATH 2>/dev/null || true" }] }] } }
场景二:Stop Hook 让 Claude 自我核查
{ "hooks": { "Stop": [{ "hooks": [{ "type": "prompt", "prompt": "检查你的工作是否完整:1) 有没有遗留的 TODO?2) 测试是否通过?3) 有没有调试代码未清理?如有问题请继续处理。" }] }] } }
场景三:git commit 前安全检查
] }] } }
多个 Agent 同时处理不同功能分支,互不干扰,效率翻倍。
# 为新功能创建独立工作区 git worktree add .worktrees/feature-auth -b feature/auth git worktree add .worktrees/feature-payment -b feature/payment # 在两个 worktree 中分别启动 Claude cd .worktrees/feature-auth && claude --model claude-opus-4-6 & cd .worktrees/feature-payment && claude --model claude-opus-4-6 &
每个 Claude 实例在独立分支上工作,不会互相冲突。
# 创建 tmux 会话,左右分屏 tmux new-session -d -s dev tmux send-keys -t dev "cd .worktrees/feature-auth && claude" Enter tmux split-window -h -t dev tmux send-keys -t dev "cd .worktrees/feature-payment && claude" Enter tmux attach -t dev
让多个 Agent 共享任务协调:
# 设置环境变量启用 Agent Teams export CLAUDE_AGENT_TEAMS=1
# 启动主 Claude,它会自动协调子 Agent claude –model claude-opus-4-6 “并行实现用户模块和支付模块,用 subagents 分别处理,完成后合并方案”
# 查看所有 worktrees git worktree list # 删除不再需要的 worktree git worktree remove .worktrees/feature-auth
# 规划阶段用 Opus /model claude-opus-4-6 # 切到实现阶段,改用 Sonnet 节省成本 /model claude-sonnet-4-6 # 查看当前模型和上下文用量 /model /context
上下文超过 50% 后,Claude 的表现会下降。主动管理上下文:
# 在交互模式中查看上下文用量 /context
上下文到 50% 时主动压缩
/compact
切换到完全不同的任务时,清空上下文重开
/clear
命名会话,随时续接:
# 给当前会话命名 /rename “feat: 用户注册模块”
以后恢复这个会话
/resume
# 启用沙箱模式,减少约 84% 的权限确认弹窗 /sandbox
- 目标:p50 控制在 ~120 行以内
- 原则:一个 PR 只做一件事
- 好处:更容易 review、更容易 revert、更容易 cherry-pick
# 让 Claude 帮你拆分大 PR claude "分析当前的 git diff,建议如何拆分成多个小 PR,每个 PR 专注一个逻辑变更"
始终用 squash merge,保持主分支线性历史:
- 每个功能 → 主分支一个 commit
- 方便 git revert 和 git bisect
gh pr merge –squash –auto
# 用内置的 code-review 功能 /code-review # 或用 Codex 做第二视角 git diff main...HEAD | codex "以资深工程师身份审查这个 PR 的所有变更"
发现某类问题在 review 中反复出现?让 Claude 自动生成 lint 规则:
claude “分析最近 20 个 PR 的 review 意见,总结高频问题,为每类问题生成对应的 ESLint 规则”
遇到 UI 问题时,直接截图丢给 Claude:
# 截图后在 claude 中 > 查看截图 /path/to/screenshot.png,诊断为什么按钮没有居中
配合 MCP 服务(Chrome DevTools / Playwright),让 Claude 直接看到控制台报错:
# 安装 Playwright MCP npm install -g @playwright/mcp
# 在 .mcp.json 中配置 # 然后 Claude 可以直接: > 打开 http://localhost:3000,检查控制台报错
# 在 claude 交互模式中,让长命令在后台跑 > 在后台启动 npm run dev,监控输出,有报错时通知我
# 按两次 Esc,或: /rewind # 回退后,换一个角度重新描述问题 > 忽略上面的方案,换一种更简单的实现思路
# 切到支持更长上下文的模型再压缩 /model claude-opus-4-6 # Opus 支持 1M token /compact
# 每 5 分钟检查一次 CI 状态 /loop 5m 检查 CI 状态,如果失败输出错误原因 # 每小时运行一次测试 /loop 1h npm test,分析失败的测试用例
# 每天早上 9 点生成每日代码质量报告 /schedule "每天 9:00" 运行 npm run lint 和 npm test,生成质量报告发给我 # 每周五下午生成本周技术债报告 /schedule "每周五 17:00" 分析本周的 git log 和 PR,总结技术债积累情况
# 创建安全扫描脚本 cat > security-scan.sh << 'EOF' #!/bin/bash echo "=== 依赖安全扫描 ===" npm audit echo "=== 代码安全审查 ===" git diff main | codex "审查这些变更的安全问题,重点关注 OWASP Top 10" EOF chmod +x security-scan.sh # 在 claude 中设置定期运行 /loop 24h ./security-scan.sh
# 要求更优雅的方案(不满意初版时) "knowing everything you know now, scrap this and implement the elegant solution" # 让 Claude 证明方案可行 "prove to me this works — grill me on these changes before making a PR" # 要求深度推理 "ultrathink: 分析这个设计的所有边界情况"
// .claude/settings.json 中精细控制权限 { "permissions": { "allow": [ "Bash(npm run *)", "Bash(git add *)", "Bash(git commit *)", "Edit(src/)", "Edit(tests/)" ] } }
# 让 Claude 用 ASCII 图解释架构,比文字更清晰 claude "用 ASCII 图展示用户注册流程的完整架构,包括服务间调用关系"
# 每天更新 Claude Code claude update
# 查看 changelog(了解新功能) # https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
# 会话开始时确认环境 /doctor
适合复杂的多步骤工作流:
用户输入 /my-workflow
↓
.claude/commands/my-workflow.md (入口,描述工作流)
↓ 调用
.claude/agents/my-agent.md (执行者,有专属工具和技能)
↓ 使用
.claude/skills/my-skill/SKILL.md (可复用的知识包)
优势:
- Command 负责编排,Agent 负责执行,Skill 负责知识
- 每层职责清晰,独立可测试
- Skill 可以跨 Agent 复用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/268800.html