这位作者是Claude Code的深度玩家。他与搭档 @DRodriguezFX 凭借完全由 Claude Code 构建的项目Zenith,在纽约举办的Anthropic x Forum Ventures 黑客松中一举夺魁。
在积累了海量实战经验后,他整理出了一套顶级配置指南,完全开源。
Skills 和 Commands
Skills(技能)有点像rules,但它们会被限制在特定范围和工作流里。本质上,它们是把一段常用 prompt 压缩成速记口令:当你想跑某个固定流程时,直接调用它。
比如:你用 Opus 4.5 写了一整天代码,想清理死代码和散落的.md文件?
直接跑:/refactor-clean,需要写测试?用:/tdd、/e2e、/test-coverage。
而且技能/命令可以链式组合,你可以在一个 prompt 里连续跑多个。
Image
我还会做一个Skills:在关键节点自动更新codemap——让 Claude 能快速理解项目结构,而不用每次都花上下文去“逛代码库”。
~/.claude/skills/codemap-updater.md
**Commands(命令)**可以理解成“用斜杠触发的技能”。它们和 skills 有重叠,但存放位置不同:
•Skills:~/.claude/skills—— 更偏“完整工作流定义”
•Commands:~/.claude/commands—— 更偏“可快速执行的短 prompt”
# 示例:技能目录结构
~/.claude/skills/
pmx-guidelines.md # 项目特定的模式/规范
coding-standards.md # 语言最佳实践
tdd-workflow/ # 多文件技能(带 README.md)
security-review/ # checklist 风格技能Hooks
Hooks是事件触发型自动化。它们会在特定事件发生时自动执行。和 skills 不同,hooks 被限制在工具调用和生命周期事件上。
Hook 类型
•PreToolUse:工具执行前(校验、提醒)
•PostToolUse:工具执行后(格式化、反馈闭环)
•UserPromptSubmit:你发送消息时
•Stop:Claude 完成回复时
•PreCompact:上下文压缩前
•Notification:权限请求时
示例:长命令前提醒你用 tmux
{
"PreToolUse": [
{
"matcher": "tool == \"Bash\" && tool_input.command matches \"(npm|pnpm|yarn|cargo|pytest)\"",
"hooks": [
{
"type": "command",
"command": "if [ -z \"$TMUX\" ]; then echo '[Hook] Consider tmux for session persistence' >&2; fi"
}
]
}
]
}
Image
小技巧:用hookify插件可以“对话式创建 hooks”,不用你手写 JSON。
直接跑/hookify,然后描述你想要的行为即可。
Subagents
Subagents是由你的总控 Claude委派出去的进程:它们有\有限作用域**,可以在**前台或后台做事,从而给主代理省上下文。
Subagents和 skills 的组合特别舒服:你可以做一个只会用某一小撮技能的子代理,把任务交给它,让它自主执行。你还可以给Subagents做 sandbox,限制它能用哪些工具和权限。
# 示例:子代理目录结构
~/.claude/agents/
planner.md # 规划功能实现
architect.md # 系统设计决策
tdd-guide.md # 测试驱动开发
code-reviewer.md # 质量/安全审查
security-reviewer.md # 漏洞分析
build-error-resolver.md
e2e-runner.md
refactor-cleaner.md
你可以为每个子代理配置:允许使用的工具、MCP、权限,确保它只做它该做的事。
Rules 和 Memory
你的.rules文件夹放的是 Claude必须始终遵守的最佳实践(.md文件)。常见有两种组织方式:
•单个 CLAUDE.md:用户级或项目级放一个大一统文件
•Rules 文件夹:把规则按主题拆成模块化.md
~/.claude/rules/
security.md # 禁止硬编码密钥、输入校验等
coding-style.md # 不可变性、文件组织
testing.md # TDD 工作流、80% 覆盖率
git-workflow.md # commit 格式、PR 流程
agents.md # 何时委派给子代理
performance.md # 模型选择、上下文管理
一些示例规则:
• 代码库里不要用 emoji
• 前端不要用紫色系
• 部署前必须跑测试
• 优先模块化,不要写巨型文件
• 永远不要提交console.log
MCP
MCP让 Claude 能直接连接外部服务。它不是API 的替代品,更像是一个用 prompt 驱动的外壳:让 Claude 更灵活地浏览信息、执行操作。
例子:Supabase MCP能让 Claude 直接上游拉数据、直接跑 SQL,不用你复制粘贴。数据库、部署平台等也是同理。
还有一个:Chrome in Claude——这是内置的插件 MCP,让 Claude 可以自动操作浏览器(点来点去看看系统怎么工作)。
关键:上下文窗口管理
MCP 一定要挑剔。我会把 MCP 都放在用户级配置里,但不用的全部禁用。你可以进/plugins往下翻,或者跑/mcp看状态。
你的 200k 上下文窗口,在启用了太多工具后,可能实际可用只有 70k,性能会明显下降。
(用 /plugins 查看已安装 MCP 及其状态)
经验法则:
• 配置里可以有20–30 个 MCP
• 但每个项目实际启用最好< 10 个,或活跃工具总数< 80 个
Plugins
插件把工具打包成一键安装,不用你手动折腾配置。插件可以是:skill + MCP 的组合,或 hooks/tools 的合集。
安装插件示例:
# 添加一个 marketplace
claude plugin marketplace add https://github.com/mixedbread-ai/mgrep
# 打开 Claude,运行 /plugins,找到新 marketplace,从里面安装
(安装 Mixedbread-Grep marketplace 的界面)
LSP 插件尤其有用:如果你经常在终端用 Claude Code,不依赖 IDE,那么Language Server Protocol能给你实时类型检查、跳转定义、智能补全——相当于 Claude 自带轻量 IDE 大脑。
# 启用插件示例
typescript-lsp@claude-plugins-official # TypeScript 智能
pyright-lsp@claude-plugins-official # Python 类型检查
hookify@claude-plugins-official # 对话式创建 hooks
mgrep@Mixedbread-Grep # 比 ripgrep 更强的搜索
同样一句话:插件也会吃上下文,要盯紧窗口健康。
Tips & Tricks
键盘快捷键
•Ctrl+U:删除整行(比疯狂退格快)
•!:快速 bash 命令前缀
•@:搜索文件
•/:触发斜杠命令
•Shift+Enter:多行输入
•Tab:切换 thinking 展示
•Esc Esc:打断 Claude / 恢复代码
并行工作流
•/fork:把对话分叉成并行线程,避免消息排队互相干扰
•Git worktrees:更硬核的并行:多个 Claude 实例同时干不同分支,互不冲突
git worktree add ../feature-branch feature-branch
# 现在你可以在不同 worktree 里跑不同 Claude 实例长命令一定配 tmux
让 Claude 去启动前后端服务、跑长测试时,你用 tmux 盯日志最稳。
tmux new -s dev
# Claude 在这个会话里跑命令,你可以随时 detach/attach
tmux attach -t devmgrep > grep
mgrep比 ripgrep/grep 强很多。通过插件 marketplace 安装后,用/mgrep技能。
mgrep "function handleSubmit" # 本地搜索
mgrep --web "Next.js 15 app router changes" # 网页搜索其他实用命令
•/rewind:回到之前的状态
•/statusline:自定义状态栏(分支、上下文%、todo 等)
•/checkpoints:按文件做“撤销点”
•/compact:手动触发上下文压缩
GitHub Actions CI/CD
你可以用 GitHub Actions 配 PR 自动 code review。配置好之后,Claude 能自动审 PR。
(Claude 通过一个 bugfix PR 的示例)Sandboxing
做风险操作时用 sandbox mode:Claude 在受限环境里运行,不会影响你的真实系统。
反过来,--dangerously-skip-permissions会让 Claude 权限几乎放开——很可能破坏系统,慎用。
关于编辑器
编辑器不是必须,但它会显著影响 Claude Code 的体验:更好的实时文件追踪、快速跳转、集成执行。
Zed(我的偏好)
我用 Zed:Rust 写的编辑器,轻量、快、可定制。
为什么它搭 Claude Code 很顺:
•Agent Panel 集成:Claude 改了哪些文件实时可见,点一下就能跳到对应文件
•性能:启动快,大项目也不卡
•CMD+Shift+R:命令面板能快速搜到你自定义的 slash commands、调试器、工具
• 资源占用低:不会和 Claude 抢太多系统资源
• Vim mode:喜欢 Vim 的也能爽用
我的一些配套建议:
• 屏幕左右分:左边终端 Claude Code,右边编辑器
•Ctrl + G:在 Zed 里快速打开 Claude 正在处理的文件
• 开启自动保存:保证 Claude 读到的是最新内容
• 用编辑器的 git 集成功能:提交前检查 Claude 改了啥
• 确保 file watchers 生效:文件变更能自动 reload
VSCode / Cursor
也完全可行:既能在终端模式跑,也能在编辑器里跑扩展版,UI 更一致。
你也可以用\ide让它和编辑器自动同步启用 LSP(现在插件更强了,某种程度上有点冗余)。
我的配置
Plugins
我通常一次只启用 4–5 个:
ralph-wiggum@claude-code-plugins # 循环自动化
frontend-design@claude-code-plugins # UI/UX 模式
commit-commands@claude-code-plugins # Git 工作流
security-guidance@claude-code-plugins # 安全检查
pr-review-toolkit@claude-code-plugins # PR 自动化
typescript-lsp@claude-plugins-official # TS 智能
hookify@claude-plugins-official # Hook 创建
code-simplifier@claude-plugins-official
feature-dev@claude-code-plugins
explanatory-output-style@claude-code-plugins
code-review@claude-code-plugins
context7@claude-plugins-official # 实时文档
pyright-lsp@claude-plugins-official # Python 类型
mgrep@Mixedbread-Grep # 更强搜索MCP Servers
{
"github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] },
"firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"] },
"supabase": {
"command": "npx",
"args": ["-y", "@supabase/mcp-server-supabase@latest", "--project-ref=YOUR_REF"]
},
"memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] },
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"vercel": { "type": "http", "url": "https://mcp.vercel.com" },
"railway": { "command": "npx", "args": ["-y", "@railway/mcp-server"] },
"cloudflare-docs": { "type": "http", "url": "https://docs.mcp.cloudflare.com/mcp" },
"cloudflare-workers-bindings": {
"type": "http",
"url": "https://bindings.mcp.cloudflare.com/mcp"
},
"cloudflare-workers-builds": { "type": "http", "url": "https://builds.mcp.cloudflare.com/mcp" },
"cloudflare-observability": {
"type": "http",
"url": "https://observability.mcp.cloudflare.com/mcp"
},
"clickhouse": { "type": "http", "url": "https://mcp.clickhouse.cloud/mcp" },
"AbletonMCP": { "command": "uvx", "args": ["ableton-mcp"] },
"magic": { "command": "npx", "args": ["-y", "@magicuidesign/mcp@latest"] }
}按项目禁用(为了上下文窗口健康)
# 在 ~/.claude.json 的 projects.[path].disabledMcpServers
disabledMcpServers: [
"playwright",
"cloudflare-workers-builds",
"cloudflare-workers-bindings",
"cloudflare-observability",
"cloudflare-docs",
"clickhouse",
"AbletonMCP",
"context7",
"magic"
]
这点是关键:我虽然配置了 14 个 MCP,但每个项目只启用大概 5–6 个。上下文窗口能一直保持“清爽”。
核心 Hooks
{
"PreToolUse": [
{ "matcher": "npm|pnpm|yarn|cargo|pytest", "hooks": ["tmux reminder"] },
{ "matcher": "Write && .md file", "hooks": ["block unless README/CLAUDE"] },
{ "matcher": "git push", "hooks": ["open editor for review"] }
],
"PostToolUse": [
{ "matcher": "Edit && .ts/.tsx/.js/.jsx", "hooks": ["prettier --write"] },
{ "matcher": "Edit && .ts/.tsx", "hooks": ["tsc --noEmit"] },
{ "matcher": "Edit", "hooks": ["grep console.log warning"] }
],
"Stop": [
{ "matcher": "*", "hooks": ["check modified files for console.log"] }
]
}自定义状态栏
显示:用户、目录、git 分支(脏标记)、剩余上下文百分比、模型、时间、todo 数。
(我 Mac root 目录下的 statusline 示例)Rules 结构
~/.claude/rules/
security.md # 强制安全检查
coding-style.md # 不可变性、文件大小限制
testing.md # TDD、80% 覆盖率
git-workflow.md # Conventional commits
agents.md # 子代理委派规则
patterns.md # API 返回格式
performance.md # 模型选择(Haiku / Sonnet / Opus)
hooks.md # Hook 文档Subagents
~/.claude/agents/
planner.md # 功能拆解
architect.md # 系统设计
tdd-guide.md # 先写测试
code-reviewer.md # 质量审查
security-reviewer.md # 漏洞扫描
build-error-resolver.md
e2e-runner.md
refactor-cleaner.md
doc-updater.md # 文档同步关键结论
• 别把配置搞得太复杂:把它当“微调”,不是重新造架构
• 上下文窗口是硬通货:不用的 MCP 和插件一定要禁用
• 并行执行才是生产力:/fork+ git worktrees
• 重复劳动就自动化:格式化、lint、提醒都交给 hooks
• SubAgent一定要“定界”:工具越少越专注,结果更稳