Claude Code 全方位速查指南

这是我日常使用 10 个月后的完整配置:技能 (Skills)、钩子 (Hooks)、子智能体 (Subagents)、MCPs、插件,以及真正有效的工作流。

自 2 月份实验性推出以来,我一直是 Claude Code 的狂热用户,并完全使用 Claude Code 与 @DRodriguezFX 一起赢得了 Anthropic x Forum Ventures 纽约黑客松(构建了 PMFProbe)。

1. 技能与命令 (Skills and Commands)

技能的操作方式类似规则,但被限制在特定的范围和工作流中。当你需要执行特定工作流时,它们就是提示词的“速记符”。

场景:在用 Opus 4.5 进行了长时间编码后,想清理死代码和散落的 .md 文件?
运行 /refactor-clean
需要测试?运行 /tdd, /e2e, /test-coverage
技能和命令可以在同一个提示词中串联使用。

我可以制作一个在检查点更新代码图谱 (Codemaps) 的技能——这是一种让 Claude 快速导航代码库而无需消耗上下文进行探索的方法。

# 示例技能结构 ~/.claude/skills/
pmx-guidelines.md      # 项目特定模式
coding-standards.md    # 语言最佳实践
tdd-workflow/          # 多文件技能,包含 README.md
security-review/       # 基于检查清单的技能
高级 AISE 专家洞察
**Prompt as Code (PaC)**:这里作者实际上是在将非确定性的 LLM 交互转化为确定性的“宏 (Macros)”。通过将复杂 Prompt 固化为文件系统中的 Skill,你不再是每次都在“聊天”,而是在调用 API 端点。这是从“聊天机器人”进化到“开发工具”的关键一步。

2. 钩子 (Hooks)

钩子是基于触发器的自动化,在特定事件发生时启动。与技能不同,它们被绑定在工具调用和生命周期事件上。

钩子类型:

示例:在运行耗时命令前提醒使用 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"
        }
      ]
    }
  ]
}

专家提示: 使用 hookify 插件通过对话方式创建钩子,无需手写 JSON。

高级 AISE 专家洞察
**防御性 AI 编程**:Hook 的价值在于“护栏 (Guardrails)”。AI 经常会在没有保护的情况下运行破坏性命令或忘记格式化代码。PreToolUse 是你的防火墙,PostToolUse 是你的 CI/CD 流水线。

3. 子智能体 (Subagents)

子智能体是你的协调者(主 Claude)可以委派任务的进程,具有有限的范围。它们可以在后台或前台运行,为主智能体释放上下文。

子智能体与技能配合得很好——一个能够执行你技能子集的子智能体可以自主工作。它们还可以通过特定的工具权限进行沙盒化。

# 示例子智能体结构 ~/.claude/agents/
planner.md           # 功能实现规划
architect.md         # 系统设计决策
tdd-guide.md         # 测试驱动开发
code-reviewer.md     # 质量/安全审查
security-reviewer.md # 漏洞分析
refactor-cleaner.md  # 清理代码

4. 规则与记忆 (Rules and Memory)

你的 .rules 文件夹保存了 Claude 应始终遵循的最佳实践 .md 文件。

~/.claude/rules/
  security.md      # 无硬编码密钥,验证输入
  coding-style.md  # 不可变性,文件组织
  testing.md       # TDD 工作流,80% 覆盖率
  agents.md        # 何时委派给子智能体

5. MCPs (模型上下文协议)

MCP 将 Claude 直接连接到外部服务。例如:Supabase MCP 让 Claude 直接在上游运行 SQL,而无需复制粘贴。

关键:上下文窗口管理 (Context Window Management)
对 MCP 要挑剔。我虽然配置了很多,但禁用了未使用的。如果启用了太多工具,你压缩前的 200k 上下文窗口可能只剩下 70k。性能会显著下降。

经验法则: 配置 20-30 个 MCP,但保持启用状态的少于 10 个(或少于 80 个活跃工具)。

高级 AISE 专家洞察
**上下文经济学**:每一个启用的工具都会在 System Prompt 中占据大量 Token(工具定义)。这不仅贵,更重要的是它“挤占”了模型的注意力,增加了幻觉风险。在最新的 Claude Code 更新中,Lazy Loading(懒加载)部分缓解了这个问题,但保持精简依然是最佳实践。

6. 插件 (Plugins)

插件将工具打包以便安装。LSP 插件特别有用,如果你在编辑器之外运行 Claude Code,语言服务器协议 (LSP) 能提供实时类型检查和跳转定义。

# 启用插件示例
typescript-lsp@claude-plugins-official  # TypeScript 智能提示
hookify@claude-plugins-official         # 对话式创建钩子
mgrep@Mixedbread-Grep                   # 比 ripgrep 更好的搜索

7. 技巧与窍门 (Tips and Tricks)

键盘快捷键

并行工作流

Tmux 用于长时间运行命令

让 Claude 启动服务器并在 tmux 中监控日志,而不是阻塞当前会话。

mgrep > grep

mgrep 是 ripgrep 的重大改进。它支持本地和网络搜索。

mgrep "function handleSubmit"  # 本地搜索
mgrep --web "Next.js 15 app router changes"  # 网络搜索

沙盒模式 (Sandboxing)

对高风险操作使用沙盒模式。反之,使用 --dangerously-skip-permissions 让 Claude 自由漫游(需小心)。

8. 编辑器集成 (On Editors)

虽然不是必须的,但搭配编辑器能解锁实时文件跟踪。

Zed (我的首选)

Rust 编写,轻量快速。Agent Panel Integration 让你可以实时跟踪 Claude 的更改。使用 CMD+Shift+R 快速访问自定义斜杠命令。

VSCode / Cursor 也是可行的选择,特别是配合官方扩展。

高级 AISE 专家洞察
**工具链融合**:Zed 与 Claude Code 的深度集成代表了未来方向。不再是“复制粘贴代码到 ChatGPT”,而是 AI 直接操作文件系统,IDE 实时反映变更。这大大降低了 AI 辅助编程的摩擦成本。

9. 我的完整设置 (My Setup)

MCP Servers 配置 (User Level)

我有 14 个已配置,但每个项目只启用约 5-6 个。

{
  "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] },
  "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" },
  "clickhouse": { "type": "http", "url": "https://mcp.clickhouse.cloud/mcp" }
  // ... 其他配置见原文
}

关键钩子 (Key Hooks)

{
  "PreToolUse": [
    // Tmux 提醒
    { "matcher": "npm|pnpm|yarn|cargo|pytest", "hooks": ["tmux reminder"] },
    // 阻止不必要的 .md 文件创建
    { "matcher": "Write && .md file", "hooks": ["block unless README/CLAUDE"] },
    // git push 前审查
    { "matcher": "git push", "hooks": ["open editor for review"] }
  ],
  "PostToolUse": [
    // Prettier 自动格式化
    { "matcher": "Edit && .ts/.tsx/.js/.jsx", "hooks": ["prettier --write"] },
    // TypeScript 检查
    { "matcher": "Edit && .ts/.tsx", "hooks": ["tsc --noEmit"] }
  ]
}

原文

源链接