[开源推荐] Claude Code Best Practice
作者 [@shanraisshan](https://x.com/shanraisshan)
开源的 Claude Code 工程化使用实战知识库,系统性地展示了如何配置、编排和优化 Claude Code 的各项能力,包括 Skills、Agents、Commands、Hooks、MCP Servers、Memory、Rules、Plugins、Sandbox 等核心机制。基于大量实际使用后提炼出的经验模式和反模式,帮助开发者避免在 Claude Code 的工程化使用中走弯路。
先解读 Claude Code 创建者 Boris Cherny 的 12 条定制技巧:
· 终端配置:主题、通知、vim 模式、自定义状态栏(显示模型、目录、上下文、费用)
·扩展生态:通过 /plugin 安装插件、MCP、Skills,medium=平衡,high=深度)
扩展生态:通过 /plugin 安装插件、MCP、Skills
· 权限管理:通配符语法预批准安全命令 + Sandbox 隔离
· 个性化:自定义快捷键、加载动画、输出风格(Explanatory 适合新项目,Learning 适合学习指导)
· 团队协作:将 settings.json 纳入版本控制,团队共享配置
--- 核心概念 ---
Command → Agent → Skills 架构
· Command 通过 Task 工具调用 Agent,而非直接用 Bash 命令
· Agent 通过 frontmatter 声明所需的 Skills、工具权限和模型
· Sub Agent 之间不能直接互相调用,必须通过 Task(subagent_type=...) 显式编排
· Skill 使用 context: fork 实现隔离执行,避免上下文污染
Memory 三层作用域
· User:个人跨项目知识(推荐默认)
· Project:团队共享的项目知识
· Local:个人的项目特定知识
系统启动时注入 MEMORY. md 的前 200 行到 Agent 系统提示中。当记忆量增长后,Agent 会自动将内容拆分为主题文件进行组织。
Agent Memory 与 CLAUDE. md、/memory 命令是互补而非替代关系:CLAUDE. md 承载项目上下文,Agent Memory 承载特定 Agent 的领域知识。
CLAUDE. md 在 Monorepo 中的加载策略
· Ancestor Loading:从当前目录向上遍历到根目录,立即加载所有沿途的 CLAUDE. md
· Descendant Loading:子目录中的 CLAUDE. md 采用懒加载,仅在会话中实际访问时才加入
· 兄弟隔离:同级目录的 CLAUDE. md 永远不会互相加载
在 /mymonorepo/frontend/ 启动 Claude Code 时,你会立即获得根目录和 frontend 的配置,而 backend 的配置只在你实际操作 backend 文件时才会加载。这避免了"数百 KB 无关指令"占用上下文窗口。
实践建议:根目录放通用编码规范,各子包放各自的框架和架构细节,个人偏好用 CLAUDE.local. md(加入 .gitignore)。
设置优先级体系(高 -> 低)
· 命令行标志(仅当前会话)
· .claude/settings.local.json(个人项目级)
· .claude/settings.json(团队共享项目级)
· ~/.claude/settings.local.json(个人全局)
· ~/.claude/settings.json(全局默认)
RPI 工作流:Research-Plan-Implement
· Research:可行性分析,输出 GO/NO-GO,需求分析师、产品经理参与
· Plan:产品需求 + UX + 技术架构,架构师、UX 设计师参与
· Implement:分阶段执行与验证,高级工程师、代码审查者参与
--- 关键实践经验 ---
1. 上下文管理
· CLAUDE. md 控制在 150 行以内——超过后模型对指令的遵循度会下降
· 在上下文使用量约 50% 时手动执行 /compact——不要等到系统自动压缩
· 子任务的上下文消耗不超过 50%——为后续操作留出空间
· 任务完成后立即 commit——释放上下文,建立检查点
2. Agent 设计原则
· 优先使用 Command 驱动工作流,而非直接创建 Agent
· 为特定功能创建专用子 Agent,而非万能 Agent
· 采用"渐进式技能披露" —— Agent 只声明当前任务所需的 Skills
· 简单任务直接用原生 Claude Code,不要过度工程化——"vanilla Claude Code is better than any workflows with smaller tasks"
3. 调试方法论
· 使用 /doctor 命令诊断环境问题
· 后台运行任务以获得终端日志可见性
· 使用 MCP(Chrome DevTools、Playwright)做真实的浏览器调试
· 报告问题时始终附带截图
4. 推荐的 MCP 配置
· Context7:获取当前版本的库文档,防止 API 幻觉
· Playwright:浏览器自动化、UI 测试
· Claude in Chrome:真实浏览器调试
· DeepWiki:获取开源仓库的结构化文档
5. 权限与安全
· 使用通配符语法预批准常用安全命令(/permissions),而非直接跳过所有权限检查
· 使用 /sandbox 做文件和网络隔离,减少权限弹窗的同时保持安全性
· 敏感文件(.env、凭证文件)不应加入 CLAUDE. md 或被 commit
高级 API 特性参考(依赖 Sonnet 4.6 和 Opus 4.6)
· Programmatic Tool Calling:减少约 37% token 消耗
· Dynamic Filtering:减少约 24% 输入 token
· Tool Search Tool:减少约 85% 工具定义 token
· Tool Use Examples:准确率从 72% 提升至 90%
开源地址:
[https://github.com/shanraisshan/claude-code-best-practice…](https://t.co/FRjLfndw4g)

在我置顶帖子里哈:

