这是黑客松冠军日常使用 10 个月后的完整配置:技能(skills)、钩子(hooks)、子代理(subagents)、MCP、插件(plugins),以及真正好用的部分。
自从 2 月份实验性发布以来,我一直是 Claude Code 的深度用户,并且在 Anthropic x Forum Ventures 黑客松上与 @DRodriguezFX 一起完全使用 Claude Code 构建了 Zenith 并获胜。
cogsec @affaanmustafa · 2025年9月16日
在纽约的 @AnthropicAI x @forumventures 黑客松上拿下了冠军,感谢主办方举办这次精彩的活动(还有 15k 的 Anthropic Credits)
@DRodriguezFX 和我构建了 PMFProbe,帮助创始人从 0 到 1,在 MVP 阶段前验证你的想法,后续还有更多内容
![]()
![]()
![]()
Skills and Commands
技能与命令
技能类似于规则,被限定在特定的作用域和工作流中。它们是执行特定工作流时的快捷提示词。
在用 Opus 4.5 长时间编码后,想清理无用代码和零散的 .md 文件?运行 /refactor-clean。需要测试?/tdd、/e2e、/test-coverage。技能和命令可以在一条提示词中链式调用。
链式调用命令
我可以创建一个在检查点更新代码地图(codemap)的技能------让 Claude 快速导航你的代码库,而不必在探索上消耗上下文。
~/.claude/skills/codemap-updater.md
命令是通过斜杠命令执行的技能。它们有重叠,但存储方式不同:
- Skills:
~/.claude/skills- 更广泛的工作流定义 - Commands:
~/.claude/commands- 快速可执行的提示词
bash
# Example skill structure
~/.claude/skills/
pmx-guidelines.md # Project-specific patterns
coding-standards.md # Language best practices
tdd-workflow/ # Multi-file skill with README.md
security-review/ # Checklist-based skill
Hooks
钩子
钩子是基于触发器的自动化,在特定事件上触发。与技能不同,它们被限定在工具调用和生命周期事件中。
钩子类型
- PreToolUse - 工具执行前(验证、提醒)
- PostToolUse - 工具完成后(格式化、反馈循环)
- UserPromptSubmit - 当你发送消息时
- Stop - 当 Claude 完成响应时
- PreCompact - 上下文压缩前
- Notification - 权限请求
示例:在运行长时间命令前提醒使用 tmux
json
{
"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"
}
]
}
]
}

在 Claude Code 中运行 PostToolUse 钩子时获得的反馈示例
专业提示: 使用 hookify 插件通过对话方式创建钩子,而不是手动编写 JSON。运行 /hookify 并描述你想要的功能。
Subagents
子代理
子代理是主编排器(主 Claude)可以委派任务的进程,具有有限的作用域。它们可以在后台或前台运行,为主代理释放上下文。
子代理与技能配合很好------一个能够执行你部分技能的子代理可以被委派任务并自主使用这些技能。它们还可以通过特定的工具权限进行沙盒化。
bash
# Example subagent structure
~/.claude/agents/
planner.md # Feature implementation planning
architect.md # System design decisions
tdd-guide.md # Test-driven development
code-reviewer.md # Quality/security review
security-reviewer.md # Vulnerability analysis
build-error-resolver.md
e2e-runner.md
refactor-cleaner.md
为每个子代理配置允许的工具、MCP 和权限,以实现合理的作用域划分。
Rules and Memory
规则与记忆
你的 .rules 文件夹存放 Claude 应该始终 遵循的最佳实践 .md 文件。两种方式:
- 单一 CLAUDE.md - 所有内容放在一个文件中(用户级或项目级)
- Rules 文件夹 - 按关注点分组的模块化
.md文件
bash
~/.claude/rules/
security.md # No hardcoded secrets, validate inputs
coding-style.md # Immutability, file organization
testing.md # TDD workflow, 80% coverage
git-workflow.md # Commit format, PR process
agents.md # When to delegate to subagents
performance.md # Model selection, context management
示例规则:
- 代码库中不使用 emoji
- 前端避免紫色调
- 部署前始终测试代码
- 优先使用模块化代码而非超大文件
- 永远不要提交 console.log
MCPs (Model Context Protocol)
MCP(模型上下文协议)
MCP 将 Claude 直接连接到外部服务。它不是 API 的替代品------而是围绕 API 的提示驱动封装,在信息导航方面提供更多灵活性。
示例: Supabase MCP 让 Claude 可以拉取特定数据、直接在上游运行 SQL,无需复制粘贴。数据库、部署平台等同理。
Supabase MCP 列出公共 schema 中的表的示例
Chrome in Claude: 是一个内置的插件 MCP,让 Claude 可以自主控制你的浏览器------点击查看各种功能。
关键:上下文窗口管理
对 MCP 要精挑细选。我把所有 MCP 放在用户配置中,但禁用所有不用的 。导航到 /plugins 并向下滚动或运行 /mcp。
你 200k 的上下文窗口在压缩前可能只有 70k,如果启用了太多工具的话。性能会显著下降。
使用 /plugins 导航到 MCP 查看当前已安装的及其状态
经验法则: 配置中放 20-30 个 MCP,但保持启用的不超过 10 个 / 活跃工具不超过 80 个。
Plugins
插件
插件将工具打包以便于安装,而不需要繁琐的手动设置。一个插件可以是技能 + MCP 的组合,或者钩子/工具的捆绑。
安装插件:
bash
# Add a marketplace
claude plugin marketplace add https://github.com/mixedbread-ai/mgrep
# Open Claude, run /plugins, find new marketplace, install from there
显示新安装的 Mixedbread-Grep 市场
LSP 插件: 如果你经常在编辑器外运行 Claude Code,这特别有用。语言服务协议(Language Server Protocol)为 Claude 提供实时类型检查、跳转到定义和智能补全,无需打开 IDE。
bash
# Enabled plugins example
typescript-lsp@claude-plugins-official # TypeScript intelligence
pyright-lsp@claude-plugins-official # Python type checking
hookify@claude-plugins-official # Create hooks conversationally
mgrep@Mixedbread-Grep # Better search than ripgrep
与 MCP 同样的警告------注意你的上下文窗口。
Tips and Tricks
技巧和窍门
快捷键
- Ctrl+U - 删除整行(比疯狂按退格快)
- ! - 快速 bash 命令前缀
- @ - 搜索文件
- / - 启动斜杠命令
- Shift+Enter - 多行输入
- Tab - 切换思考模式显示
- Esc Esc - 中断 Claude / 恢复代码
并行工作流
/fork - 分叉对话,在不重叠的任务上并行工作,而不是排队发送消息
Git Worktrees - 用于有重叠的并行 Claude,避免冲突。每个 worktree 是独立的检出
bash
git worktree add ../feature-branch feature-branch
# Now run separate Claude instances in each worktree
tmux 用于长时间运行的命令: 流式查看和监控 Claude 运行的日志/bash 进程。
让 Claude Code 启动前端和后端服务器,并通过 tmux 附加会话监控日志(视频)
bash
tmux new -s dev
# Claude runs commands here, you can detach and reattach
tmux attach -t dev
mgrep > grep: mgrep 比 ripgrep/grep 有显著提升。通过插件市场安装,然后使用 /mgrep 技能。支持本地搜索和网络搜索。
bash
mgrep "function handleSubmit" # Local search
mgrep --web "Next.js 15 app router changes" # Web search
其他有用命令
/rewind- 回到之前的状态/statusline- 自定义显示分支、上下文百分比、待办事项/checkpoints- 文件级撤销点/compact- 手动触发上下文压缩
GitHub Actions CI/CD
在你的 PR 上用 GitHub Actions 设置代码审查。配置后 Claude 可以自动审查 PR。
Claude 批准一个 bug 修复 PR
沙盒化
对有风险的操作使用沙盒模式------Claude 在受限环境中运行,不影响你的实际系统。(使用 --dangerously-skip-permissions 则相反,让 Claude 自由操作,如果不小心的话可能会造成破坏。)
On Editors
关于编辑器
虽然不需要编辑器,但它可能正面或负面地影响你的 Claude Code 工作流。虽然 Claude Code 可以在任何终端上工作,但配合一个强大的编辑器可以解锁实时文件追踪、快速导航和集成命令执行。
Zed(我的首选)
我使用 Zed------一个基于 Rust 的编辑器,轻量、快速、高度可定制。
为什么 Zed 与 Claude Code 配合良好:
- Agent Panel Integration(代理面板集成) - Zed 的 Claude 集成让你在 Claude 编辑时实时追踪文件变更。在 Claude 引用的文件间跳转,无需离开编辑器
- Performance(性能) - 用 Rust 编写,即时打开,处理大型代码库无延迟
- CMD+Shift+R Command Palette(命令面板) - 在可搜索的 UI 中快速访问所有自定义斜杠命令、调试器和工具。即使你只想运行一个快速命令而不切换到终端
- Minimal Resource Usage(最小资源占用) - 在繁重操作期间不会与 Claude 争夺系统资源
- Vim Mode(Vim 模式) - 完整的 vim 键绑定
Zed 编辑器使用 CMD+Shift+R 的自定义命令下拉菜单。右下角靶心图标显示跟随模式。
- Split your screen(分屏) - 一边终端运行 Claude Code,一边编辑器
- Ctrl + G - 在 Zed 中快速打开 Claude 正在编辑的文件
- Auto-save(自动保存) - 启用自动保存,确保 Claude 的文件读取始终是最新的
- Git integration(Git 集成) - 使用编辑器的 Git 功能在提交前审查 Claude 的更改
- File watchers(文件监视器) - 大多数编辑器自动重新加载已更改的文件,确认已启用
VSCode / Cursor
这也是一个可行的选择,与 Claude Code 配合良好。你可以以终端格式使用,通过 \ide 启用 LSP 功能实现与编辑器的自动同步(现在与插件有些冗余)。或者你可以选择扩展版本,它与编辑器集成度更高,有匹配的 UI。
来自文档,地址:code.claude.com/docs/en/vs-...
My Setup
我的配置
插件
已安装:(我通常同时只启用其中 4-5 个)
markdown
ralph-wiggum@claude-code-plugins # Loop automation
frontend-design@claude-code-plugins # UI/UX patterns
commit-commands@claude-code-plugins # Git workflow
security-guidance@claude-code-plugins # Security checks
pr-review-toolkit@claude-code-plugins # PR automation
typescript-lsp@claude-plugins-official # TS intelligence
hookify@claude-plugins-official # Hook creation
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 # Live documentation
pyright-lsp@claude-plugins-official # Python types
mgrep@Mixedbread-Grep # Better search
MCP 服务器
已配置(用户级):
json
{
"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"]
}
}
按项目禁用(上下文窗口管理):
markdown
# In ~/.claude.json under projects.[path].disabledMcpServers
disabledMcpServers: [
"playwright",
"cloudflare-workers-builds",
"cloudflare-workers-bindings",
"cloudflare-observability",
"cloudflare-docs",
"clickhouse",
"AbletonMCP",
"context7",
"magic"
]
这是关键------我配置了 14 个 MCP,但每个项目只启用约 5-6 个。保持上下文窗口健康。
关键钩子
json
{
"PreToolUse": [
// tmux reminder for long-running commands
{
"matcher": "npm|pnpm|yarn|cargo|pytest",
"hooks": ["tmux reminder"]
},
// Block unnecessary .md file creation
{
"matcher": "Write && .md file",
"hooks": ["block unless README/CLAUDE"]
},
// Review before git push
{
"matcher": "git push",
"hooks": ["open editor for review"]
}
],
"PostToolUse": [
// Auto-format JS/TS with Prettier
{
"matcher": "Edit && .ts/.tsx/.js/.jsx",
"hooks": ["prettier --write"]
},
// TypeScript check after edits
{
"matcher": "Edit && .ts/.tsx",
"hooks": ["tsc --noEmit"]
},
// Warn about console.log
{
"matcher": "Edit",
"hooks": ["grep console.log warning"]
}
],
"Stop": [
// Audit for console.logs before session ends
{
"matcher": "*",
"hooks": ["check modified files for console.log"]
}
]
}
自定义状态栏
显示用户、目录、git 分支(带脏标记)、剩余上下文百分比、模型、时间和待办事项数量:
Mac 根目录中的示例状态栏
规则结构
markdown
~/.claude/rules/
security.md # Mandatory security checks
coding-style.md # Immutability, file size limits
testing.md # TDD, 80% coverage
git-workflow.md # Conventional commits
agents.md # Subagent delegation rules
patterns.md # API response formats
performance.md # Model selection (Haiku vs Sonnet vs Opus)
hooks.md # Hook documentation
子代理
markdown
~/.claude/agents/
planner.md # Break down features
architect.md # System design
tdd-guide.md # Write tests first
code-reviewer.md # Quality review
security-reviewer.md # Vulnerability scan
build-error-resolver.md
e2e-runner.md # Playwright tests
refactor-cleaner.md # Dead code removal
doc-updater.md # Keep docs synced
Key Takeaways
关键要点
- 不要过度复杂化 - 把配置当作微调,而非架构设计
- 上下文窗口很宝贵 - 禁用未使用的 MCP 和插件
- 并行执行 - 分叉对话,使用 git worktrees
- 自动化重复工作 - 用钩子处理格式化、代码检查、提醒
- 限定子代理的作用域 - 有限的工具 = 专注的执行
References
参考链接
- Plugins Reference
- Hooks Documentation
- Checkpointing
- Interactive Mode
- Memory System
- Subagents
- MCP Overview
注: 这只是部分细节。如果大家感兴趣,我可能会发更多关于具体内容的帖子。
