技能编写最佳实践
官方文档:platform.claude.com/docs/en/age…
食用方式:把链接给cc,让他把你当前的skill 优化一遍,然后将此链接给cc,让他将此封装为一个新的skill,这样你之后再创建skill都可以用这个skill优化
当你拥有claude code 和codex
你可以把codex作为claude codex 的小弟。比如可以让claude code输出方案codex审查方案,claude code会根据当前上下文编写优质的prompt给到codex,codex审查通过后claude code根据修改意见进行修改
在/agents 中创建一个codex-cli.md,内容可以参考下述内容,
---
name: codex-cli
description: 当需要把任务交给 OpenAI Codex CLI(codex exec)来分析/修改代码时使用;返回最终结论或变更摘要。
tools: Bash, Read, Grep, Glob
permissionMode: default
---
你是“Codex CLI 代理调度员”。
工作方式:
1) 你只通过 Bash 调用 `codex exec` 来完成任务(优先只读;除非用户明确要求改代码,才用 --full-auto)。
2) 调用前先用 Read/Grep/Glob 确认任务上下文(例如目录、关键文件路径、测试命令)。
3) 运行完成后,把 Codex 的最终输出整理成:
- 你让 Codex 做了什么(一句话)
- Codex 的关键结论/修改点(要点列表)
- 如果涉及改动:提示用户接下来如何验证(例如运行哪些 tests)
4) 除 `codex exec ...` 外,不要执行无关命令。
下方就是关于Claude Code 的基础了,也可以查看官方课程:anthropic.skilljar.com/claude-code…
当然,cc这么智能怎么会没有告诉你怎么用它的方式:claude-code-guide (agent),这个agent会帮你找到官方文档告诉你答案。
claude code 基础
简介
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| 核心定位 | 产品特征 | 简单、纯粹的智能体式编码助手 | 适合终端驱动工作流 |
| 交互形态 | 使用方式 | 类似“在终端做事的同事”,可配合 MCP 操作外部能力 | 主要交互仍在终端内完成 |
| 推荐安装 | 安装方式 | 官方原生安装器脚本 | 具体命令见下方安装提示 |
| 兼容安装 | 安装方式 | npm install -g @anthropic-ai/claude-code | 文档标注为 deprecated,建议仅作兼容方案 |
| 搜索机制 | 能力特征 | 采用代理式搜索(agentic search)而非索引 | 更依赖迭代探索与上下文推理 |
安装提示
macOS/Linux:curl -fsSLhttps://claude.ai/install.shcurl -fsSL https://claude.ai/install.sh | bash
Windows:irmhttps://claude.ai/install.ps1| iex
代理式搜索
Claude Code 通过像人类一样探索和理解代码库来工作,使用glob、grep和find等工具,而不是通过索引或嵌入整个代码库
它能进行迭代搜索:执行搜索、分析结果,然后决定是否需要进行更多搜索
CLI 命令
| 名称 | 类型 | 用途/适用场景 | 注意事项 | |
|---|---|---|---|---|
claude | 启动命令 | 启动交互式会话 | 日常开发主入口 | |
claude "query" | 启动命令 | 启动会话并附带初始提示 | 适合一次性任务起步 | |
claude -p "query" | 非交互命令 | 输出结果后退出 | 适用于脚本/CI/管道 | |
| `cat file | claude -p "query"` | 管道命令 | 处理标准输入内容 | 注意 shell 转义与编码 |
claude -c | 会话命令 | 继续当前目录最近对话 | 目录上下文需一致 | |
claude -r "<session-id>" | 会话命令 | 按 ID 恢复会话或打开选择器 | 适合跨时段接续任务 | |
claude update / claude upgrade | 维护命令 | 更新到最新版本 | 更新后建议复核命令兼容性 | |
claude mcp | 集成命令 | 配置和管理 MCP 服务器 | 涉及权限与外部连接配置 | |
claude doctor | 诊断命令 | 检查自动更新器健康状态 | 新环境或升级后建议执行 | |
claude install [target] | 安装命令 | 安装原生构建版本(stable/latest/指定版本) | 团队环境建议固定版本 | |
claude plugin | 扩展命令 | 管理 Claude Code 插件 | 第三方插件先做安全评估 | |
claude setup-token | 认证命令 | 设置长期认证令牌 | 需 Claude 订阅并妥善保管令牌 |
CLI 标志 (Flags)
[!summary]- 会话与模型
-p) - 非交互模式下打印响应后退出
--model- 设置模型(sonnet/opus或完整模型名)
--effort- 推理努力等级(low/medium/high)
--teamagent- 指定 Agent 类型
--agents- JSON 对象定义自定义 agents
--continue(-c) - 继续最近对话
--resume(-r) - 按 ID 恢复会话
--fork-session- 创建新 session ID
--from-pr- 恢复 PR 关联的会话
--session-id- 使用指定 UUID
--fallback-model- 过载时回退模型
[!summary]- 工作区与工具
--add-dir- 添加额外工作目录
--allowed-tools- 允许的工具列表
--disallowed-tools- 禁止的工具列表
--tools- 指定可用工具
--permission-mode- 权限模式
--dangerously-skip-permissions- 跳过权限检查
--allow-dangerously-skip-permissions- 启用跳过选项
[!summary]- 输入输出
--output-format- 输出格式(text/json/stream-json)
--input-format- 输入格式
--json-schema- JSON Schema 验证
--include-partial-messages- 包含部分消息
--replay-user-messages- 回显用户消息
--no-session-persistence- 禁用会话持久化
[!summary]- 提示词与配置
--system-prompt- 自定义系统提示词
--append-system-prompt- 追加系统提示词
--mcp-config- 加载 MCP 配置
--strict-mcp-config- 仅使用指定 MCP
--settings- 加载设置文件
--setting-sources- 设置来源
--file- 下载文件资源
--plugin-dir- 加载插件目录
--disable-slash-commands- 禁用 Skills
--max-budget-usd- 最大预算(美元)
[!summary]- 调试与其他
--debug(-d) - 调试模式
--debug-file- 调试日志文件
--verbose- 详细输出
--chrome/--no-chrome- Chrome 集成
--ide- 自动连接 IDE
--betas- Beta 头
--version(-v) - 版本号
[!danger] 关于
--dangerously-skip-permissions
超级好用!但可能删库跑路!请谨慎使用。
交互模式
键盘快捷键
通用控制
| 快捷键 | 功能 |
|---|---|
Ctrl+C | 取消当前输入或生成 |
Ctrl+D | 退出 Claude Code 会话 |
Ctrl+L | 清除终端屏幕(保持对话历史) |
Ctrl+G | 在默认文本编辑器中打开提示 |
Ctrl+O | 切换详细输出(显示工具使用详情) |
Ctrl+R | 反向搜索命令历史 |
Ctrl+V / Cmd+V | 粘贴剪贴板图像 |
Ctrl+B | 将当前任务移至后台运行 |
Ctrl+T | 切换任务列表视图 |
Esc+Esc | 撤销/倒回对话,或从选定消息汇总 |
Shift+Tab / Alt+M | 切换权限模式(自动接受/计划/代理团队/普通) |
Alt+P | 切换模型(无需清除提示) |
Alt+T | 切换扩展思考模式 |
文本编辑
| 快捷键 | 功能 |
|---|---|
Ctrl+K | 删除到行尾 |
Ctrl+U | 删除整行 |
Ctrl+Y | 粘贴已删除的文本 |
Alt+B / Alt+F | 光标后退/前进一个单词 |
多行输入
| 方法 | 快捷键 | 兼容性 |
|---|---|---|
| 快速转义 | `` + Enter | 所有终端 |
| macOS 默认 | Option+Enter | macOS |
| Shift+Enter | Shift+Enter | iTerm2、WezTerm、Ghostty、Kitty 原生支持 |
| 控制序列 | Ctrl+J | 行饲料字符 |
| 粘贴模式 | 直接粘贴多行 | 所有终端 |
Shift+Enter 配置
VS Code、Alacritty、Zed、Warp 等终端需要运行/terminal-setup来启用 Shift+Enter。
快捷前缀
| 前缀 | 说明 |
|---|---|
/ | 触发斜杠命令 / Skills |
! | Bash 模式:直接运行 shell 命令,输出添加到对话上下文 |
@ | 文件路径自动补全,快速包含文件内容 |
Vim 模式
通过 /vim 命令启用,支持完整的 Normal/Insert 模式切换、hjkl 导航、文本对象操作(diw、ci"等)以及 . 重复命令。可通过 /config 永久配置。
斜杠命令 (Slash Commands)
内置命令
基础命令
| 命令 | 说明 | 用法 |
|---|---|---|
/clear | 清空会话历史 | 对话变长时使用 |
/compact [instructions] | 压缩对话并保留摘要 | 可加"压缩提示"聚焦重点 |
/config | 打开配置面板 | 设置权限、模型等 |
/exit | 退出交互 REPL | 也可用 Ctrl+D |
/help | 查看帮助和可用命令 | 新版本命令增补时查看 |
上下文与调试
| 命令 | 说明 | 用法 |
|---|---|---|
/context | 上下文使用可视化网格 | 查看 token 占用 |
/copy | 复制最后响应到剪贴板 | 快速复制内容 |
/cost | 显示 token/成本统计 | 评估成本 |
/debug [description] | 读取调试日志排查问题 | 异常行为时使用 |
/doctor | 检查安装健康状态 | 新装/迁移环境后运行 |
/status | 查看版本/模型/连接状态 | 确认鉴权生效 |
会话管理
| 命令 | 说明 | 用法 |
|---|---|---|
/resume [session] | 恢复先前会话 | 按 ID/名称或选择器 |
/rename <name> | 重命名当前会话 | 便于后续查找 |
/rewind | 倒回对话/代码到某点 | 操作出错时回退 |
/export [filename] | 导出对话到文件/剪贴板 | 归档或分享 |
配置与定制
| 命令 | 说明 | 用法 |
|---|---|---|
/model | 切换当前会话模型 | 左右箭头调整 effort |
/permissions | 查看/更新工具权限 | 默认只读,敏感能力按需启用 |
/plan | 直接进入计划模式 | 复杂任务先规划后执行 |
/keybindings | 自定义键盘快捷键 | 按个人习惯调整 |
/theme | 更改颜色主题 | 选择终端配色方案 |
高级功能
| 命令 | 说明 | 用法 |
|---|---|---|
/simplify | 简化和优化代码 | 重构代码以提高可读性和可维护性 |
/batch | 批量处理任务 | 一次性执行多个相关操作 |
/insights | 分析命令 | 用于生成关于你的 Claude Code 会话的综合洞察报告 |
/hooks | 管理 Hook(工具调用前后触发) | PreToolUse 阻断危险命令 |
/init | 生成 CLAUDE.md | 新仓库初始化 |
/memory | 编辑记忆文件 | 放入项目惯例/代码风格 |
/mcp | 管理 MCP 服务器 | 连接/OAuth 认证/查看工具 |
/statusline | 配置状态栏 | 显示模型/分支/权限模式 |
/tasks | 列出和管理后台任务 | 配合 Ctrl+B 使用 |
/todos | 列出当前 TODO 项目 | 查看待办事项 |
订阅专属
| 命令 | 说明 | 用法 |
|---|---|---|
/teleport | 从 claude.ai 恢复远程会话 | Web 端与 CLI 端互通 |
/usage | 显示订阅使用限制 | 了解剩余配额 |
其他
| 命令 | 说明 | 用法 |
|---|---|---|
/stats | 可视化每日使用情况/统计 | 了解使用模式 |
/vim | 切换 Vim 编辑模式 | 配合 /terminal-setup |
动态 MCP 命令
MCP 服务器可动态暴露命令,格式为/mcp__<server>__<prompt>,如/mcp__ultra-mcp__analyze-code
[!warning] 命令变更较快(请以本地
/help与官方文档为准)
/output-style仍可用(用于切换输出风格)
/agents仍可用(用于管理 SubAgent)
--add-dir是当前官方推荐的附加目录方式
不建议维护"已移除命令"静态清单,容易随版本失效
新增命令详解(v2.1.63+)
/simplify - 代码简化与优化
命令概述
/simplify是 Claude Code 2.1.63 版本新增的内置 Skill,专注于代码重构和简化,帮助提升代码质量和可维护性。
核心功能
| 功能 | 说明 |
|---|---|
| 清理代码差异 | 减少 PR diff 的复杂度,使代码审查更高效 |
| 降低复杂度 | 识别并简化过度复杂的代码结构 |
| 提升可读性 | 重构代码使其更易理解和维护 |
| PR 准备加速 | 自动化 PR 提交前的代码清理工作 |
适用场景
[!example]- 典型使用场景(点击展开)
场景 1:PR 提交前清理
/simplify
在提交 Pull Request 前,自动清理代码、减少不必要的更改、优化代码结构。
场景 2:重构遗留代码
/simplify src/legacy/payment-processor.js
针对特定文件进行重构,提升代码质量。
场景 3:简化复杂逻辑
这个函数太复杂了,/simplify 帮我优化一下
结合自然语言描述,让 Claude 理解上下文后进行针对性简化。
工作流程
graph LR
A[执行 /simplify] --> B[分析代码结构]
B --> C[识别复杂点]
C --> D[生成简化方案]
D --> E[应用重构]
E --> F[验证功能不变]
最佳实践
| 建议 | 说明 |
|---|---|
| 提交前使用 | 在 git commit 前运行,确保提交的代码质量 |
| 配合 CLAUDE.md | 在项目的 CLAUDE.md 中定义代码风格规范,/simplify 会遵循这些规范 |
| 小范围迭代 | 对大型重构,建议分模块逐步简化,而非一次性处理整个项目 |
| 结合代码审查 | 简化后的代码仍需人工审查,确保业务逻辑正确 |
/batch - 批量任务处理
[!info] 命令概述
/batch是 Claude Code 2.1.63 版本新增的内置 Skill,专门用于并行执行重复性的代码迁移和批量操作。
核心功能
| 功能 | 说明 |
|---|---|
| 并行执行 | 同时处理多个文件或服务的相同操作 |
| 批量重构 | 跨多个文件执行统一的代码变更 |
| 大规模迁移 | 自动化处理 API 升级、依赖更新等迁移任务 |
| 一致性保证 | 确保所有文件应用相同的变更模式 |
适用场景
[!example]- 典型使用场景(点击展开)
场景 1:API 版本升级
/batch 将所有使用旧 API v1 的调用升级到 v2
自动识别所有使用旧 API 的文件,并统一升级。
场景 2:依赖库迁移
/batch 把项目中所有的 moment.js 替换为 day.js
跨文件批量替换依赖库的使用。
场景 3:代码规范统一
/batch 将所有组件的 class 组件改写为函数组件
统一代码风格和架构模式。
场景 4:批量添加功能
/batch 为所有 API 端点添加速率限制中间件
在多个文件中添加相同的功能模块。
工作流程
graph TD
A[执行 /batch] --> B[识别目标文件]
B --> C[生成变更计划]
C --> D{用户确认?}
D -->|是| E[并行执行变更]
D -->|否| F[调整计划]
F --> C
E --> G[运行测试验证]
G --> H[生成变更报告]
并行处理优势
| 优势 | 说明 |
|---|---|
| 速度提升 | 多文件同时处理,大幅缩短迁移时间 |
| 一致性 | 所有文件应用相同的变更逻辑,避免遗漏 |
| 可追溯 | 生成详细的变更日志,便于审查和回滚 |
| 减少人工 | 自动化重复性工作,释放开发者精力 |
最佳实践
| 建议 | 说明 |
|---|---|
| 先小范围测试 | 在少量文件上验证变更逻辑,确认无误后再全量执行 |
| 配合版本控制 | 在独立分支上执行批量操作,便于审查和回滚 |
| 明确变更范围 | 清晰描述要处理的文件范围和变更内容 |
| 运行测试套件 | 批量变更后务必运行完整测试,确保功能正常 |
| 分阶段提交 | 大规模变更建议分多个 PR 提交,便于代码审查 |
与 Agent Teams 结合
[!tip] 高级用法
/batch可以与 [[#Agent Teams 代理团队]] 结合使用,让多个 Agent 并行处理不同模块的批量任务:
创建一个 Agent Team,使用 /batch 并行重构以下模块:
- Agent 1: 处理 frontend/ 目录
- Agent 2: 处理 backend/ 目录
- Agent 3: 处理 shared/ 目录
/insights-分析命令
- 深度工作分析 - 分析工作模式、代码变更频率和任务时间分布
- 项目进展评估 - 追踪功能从规划到完成的全生命周期
- 技术方向洞察 - 分析架构决策演进和技术栈选择
- 工作效率优化 - 识别高效期/低效期,建议改进方向
💡 主要使用场景
- 冲刺复盘 - Sprint 结束时总结工作成果和学习
- 项目交接 - 记录技术决策和实现细节
- 性能优化 - 分析优化路径和改进指标
- Bug 分析 - 识别根本原因和系统性问题
- 团队分享 - 总结新技术学习和最佳实践
🚀 如何使用
只需输入简单命令:
/insights
系统会自动:
- 扫描会话历史
- 分析代码变更和决策过程
- 生成结构化的洞察报告
📈 与其他功能的区别
- /insights ← 长期趋势分析(多个会话)
- /sessions ← 会话管理(单个会话)
- /memory ← 持久化知识记录(跨会话)
- 分析仪表板 ← 团队级统计(Teams/Enterprise)
SubAgent(子代理)
SubAgent 是独立上下文的专用助手,和 Skills 不是同一套机制:
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| SubAgent | 协作机制 | 将复杂任务委派给专门角色(可配置描述、工具、模型) | 适合需要独立上下文的子任务 |
| Skills | 能力封装 | 复用提示词/流程能力 | 便于沉淀可复用能力模块 |
| Agent Teams | 实验功能 | 多代理并行协作 | 功能演进快,建议按版本验证 |
当前官方使用方式
- 通过
/agents打开子代理管理 - 选择内置子代理,或创建自定义子代理
- 子代理文件位于:
-
- 项目级:
.claude/agents/*.md - 用户级:
~/.claude/agents/*.md
- 项目级:
常见子代理类型(示例)
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
Explore | 内置子代理 | 快速代码库探索(只读) | 适合前期摸底,不直接改动代码 |
Plan | 内置子代理 | 规划模式下的研究代理 | 更偏分析与方案输出 |
general-purpose | 内置子代理 | 通用任务处理 | 通用但不如专用子代理聚焦 |
Bash | 内置子代理 | 在独立上下文执行终端命令 | 留意命令权限与副作用 |
statusline-setup | 内置子代理 | 配置状态栏 | 主要用于 UI/显示配置 |
Claude Code Guide | 内置子代理 | 回答 Claude Code 使用相关问题 | 细节仍需结合当前版本核对 |
code-reviewer | 自定义示例 | 代码审查 | 需按团队规范调整审查标准 |
debugger | 自定义示例 | 调试和错误排查 | 建议配合日志与复现步骤使用 |
说明
内置列表会随版本变化,请以/agents实际显示为准。
SubAgent vs Skills vs Commands
| 特性 | Commands(兼容旧格式) | Skills(推荐) | SubAgent |
|---|---|---|---|
| 文件位置 | .claude/commands/*.md | .claude/skills/<name>/SKILL.md | .claude/agents/*.md |
| 主要用途 | 复用一段提示词/动作 | 模块化能力封装 | 独立角色处理复杂子任务 |
| 上下文隔离 | ❌ | 可选(context: fork) | ✅ |
| 自动委派 | ❌ | ❌ | ✅ |
一句话决策
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| 动作标准化、一步到位 | 决策建议 | 推荐 Skills(或兼容 Commands) | 适合复用高频动作并沉淀团队规范 |
| 独立上下文 + 自动委派 | 决策建议 | 推荐 SubAgent | 适合聚焦型子任务,减少主会话噪声 |
| 多代理并行协作 | 决策建议 | 推荐 Agent Teams | 实验功能,建议先小规模验证 |
Agent Teams(代理团队)
核心概念
Agent Teams 是一个实验性功能,允许协调多个 Claude Code 实例协同工作。
| 组件 | 说明 |
|---|---|
| Team Lead | 主要会话,负责创建团队、分配任务、综合结果 |
| Teammates | 独立的 Claude 实例,拥有各自上下文窗口 |
| Task List | 共享任务列表,带依赖跟踪 |
| Mailbox | 代理间直接消息传递系统 |
启用方式
三种启用方式
方式一:settings.json
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
方式二:环境变量
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
方式三:命令行
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude
SubAgent vs Agent Teams
| 特性 | SubAgent | Agent Teams |
|---|---|---|
| 上下文 | 独立上下文,结果返回调用者 | 完全独立,各自运行 |
| 通信 | 仅报告结果给主代理 | 队员间直接消息传递 |
| 协调 | 主代理管理所有工作 | 共享任务列表,自协调 |
| Token 成本 | 较低 | 较高(每个队友独立实例) |
| 适用场景 | 专注任务,仅需结果 | 需要讨论协作的复杂工作 |
团队工作流程
┌─────────────────────────────────────────────────────────┐
│ 1. 创建团队 │
├─────────────────────────────────────────────────────────┤
│ 2. 生成队友 (Spawn Teammates) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 队友 A │ │ 队友 B │ │ 队友 C │ │
│ └─────────┘ └─────────┘ └─────────┘ │
├─────────────────────────────────────────────────────────┤
│ 3. 任务分配 (Task Assignment) │
│ - Team Lead 分配或队友自动认领 │
│ - 支持任务依赖管理 │
├─────────────────────────────────────────────────────────┤
│ 4. 并行执行 (Parallel Execution) │
│ - 队友独立工作 │
│ - 直接相互通信 │
├─────────────────────────────────────────────────────────┤
│ 5. 结果合成 (Synthesize Results) │
│ - Team Lead 汇总所有结果 │
├─────────────────────────────────────────────────────────┤
│ 6. 清理团队 (Cleanup Team) │
└─────────────────────────────────────────────────────────┘
任务管理
任务结构
{
"id": "1",
"subject": "QA: 核心页面返回 200 和有效 HTML",
"description": "获取 localhost:4321 的所有主要页面...",
"status": "completed",
"owner": "qa-pages",
"blocks": ["2"],
"blockedBy": []
}
任务状态
| 状态 | 说明 |
|---|---|
pending | 待处理 |
in_progress | 进行中 |
completed | 已完成 |
任务依赖
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
blocks / blockedBy | 依赖字段 | 建立任务依赖关系 | 依赖图过深会增加协作成本 |
| 解除阻塞 | 流转规则 | 前置任务完成后,被阻塞任务可继续推进 | 建议配合状态同步避免误判 |
SendMessage 消息类型
| 类型 | 用法 |
|---|---|
message | 发送 DM 给单个队友 |
broadcast | 广播消息给所有队友(谨慎使用) |
shutdown_request | 请求队友关闭 |
shutdown_response | 批准/拒绝关闭请求 |
plan_approval_response | 批准/拒绝队友的计划 |
实际使用示例
并行代码审查
Create an agent team to review PR #142. Spawn three reviewers:
- One focused on security implications
- One checking performance impact
- One validating test coverage
Have them each review and report findings.
竞争假设调试
Users report the app exits after one message instead of staying connected.
Spawn 5 agent teammates to investigate different hypotheses. Have them talk to
each other to try to disprove each other's theories, like a scientific debate.
多模块并行开发
Create a team with 4 teammates to refactor these modules in parallel.
Use Sonnet for each teammate to save cost.
显示模式
// settings.json
{
"teammateMode": "in-process"
}
或命令行:
claude --teammate-mode in-process
委派模式
按 Shift+Tab 循环进入委派模式,限制负责人只使用协调工具。
质量门限 (Quality Gates)
使用 Hooks 在关键节点强制执行规则:
| Hook | 触发时机 | 用途 |
|---|---|---|
TeammateIdle | 队友即将空闲时 | 退出代码 2 可发送反馈,保持队友继续工作 |
TaskCompleted | 任务标记完成时 | 退出代码 2 可防止完成,要求修改 |
最佳实践
- 提供足够上下文:生成提示中包含任务特定细节
- 适当任务粒度:每队友 5-6 个任务为宜
- 避免文件冲突:确保每个队友操作不同文件集
- 从简单任务开始:代码审查、文档编写等边界清晰的任务
- 监控和引导:定期检查进度,必要时重定向
局限性
| 限制 | 说明 |
|---|---|
| 无会话恢复 | /resume 和 /rewind 不恢复 in-process 队友 |
| 任务状态滞后 | 队友有时无法标记任务为完成 |
| 关闭较慢 | 队友完成当前请求后才会关闭 |
| 单团队限制 | 一会话只能管理一个团队 |
| 无嵌套团队 | 队友无法生成自己的团队 |
| 负责人固定 | 创建会话是终身负责人 |
清理团队
# 关闭单个队友(注释)
Ask the researcher teammate to shut down
# 清理整个团队(注释)
Clean up the team
[!warning] 重要提示
始终使用 Team Lead 来清理团队。队友不应运行清理操作。
自定义命令 (Custom Commands)
把一段"可复用提示词/动作"做成斜杠命令(/xxx),像"宏/脚本"一样快速执行。
最新说明
官方已将 Custom Commands 合并到 Skills 体系;.claude/commands/仍可作为兼容目录使用。
文件位置
| 位置 | 作用域 |
|---|---|
.claude/skills/<name>/SKILL.md | 项目级(推荐) |
~/.claude/skills/<name>/SKILL.md | 用户级(推荐) |
.claude/commands/<name>.md | 项目级(兼容旧格式) |
~/.claude/commands/<name>.md | 用户级(兼容旧格式) |
创建方式
不带参数
创建 .claude/commands/fix.md:
检查代码中的常见问题并修复它们。
调用:/fix
带参数
使用 $ARGUMENTS 占位符:
查找并修复问题 #$ARGUMENTS。按以下步骤操作:
1. 理解问题
2. 找到相关代码
3. 实现修复
4. 添加测试
调用:/fix 123
参数编号
使用 $0、$1 等引用特定参数:
迁移 $0 组件,从 $1 框架迁移到 $2 框架
调用:/migrate SearchBar React Vue
命令命名
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| 文件名映射 | 命名规范 | 文件名即命令名:optimize.md → /optimize | 命名要短且语义清晰 |
| frontmatter 命名 | 命名规范 | 建议显式写 name | 避免跨目录冲突 |
| 作用域命名 | 命名规范 | 用户级与项目级不要同名 | 同名共存时触发可能不符合预期 |
三方命令库
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| wshobson/commands | GitHub 仓库 | 生产级命令集合,可按场景拷贝改造 | 引入前先审查命令是否涉及写文件/执行脚本 |
| Claude Code Commands | 命令目录站 | 按用途快速检索社区命令模板 | 优先选近期维护、说明完整的命令模板 |
先从只读型命令开始引入,再逐步加入会写文件/执行命令的高权限命令。
Skills
Skills 是强大的模块化能力扩展系统,支持 frontmatter 配置、脚本执行、工具限制、模型选择等高级特性。
官方文档
Claude Code Skills
核心能力
| 能力 | 说明 |
|---|---|
| 脚本执行 | 可创建并运行 Python/JavaScript/Bash 等脚本 |
| 文件系统访问 | 在虚拟环境中操作文件 |
| 工具集成 | 集成 MCP 工具和内置工具 |
| 上下文隔离 | context: fork 实现独立子代理环境 |
| 多模型支持 | 为 Skill 指定特定模型 |
脚本执行模式
执行模式(推荐):脚本代码不进入上下文,只输出结果
python scripts/analyze_form.py input.pdf
参考模式:读取脚本内容作为参考
See analyze_form.py for the field extraction algorithm
文件位置
| 位置 | 作用域 |
|---|---|
.claude/skills/<name>/SKILL.md | 项目级 |
~/.claude/skills/<name>/SKILL.md | 用户级 |
基本格式
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
allowed-tools: Read, Write, Bash
---
# PDF Processing Skill
处理 PDF 文件,提取文本和表格...
Frontmatter 完整配置
| 配置项 | 必填 | 说明 |
|---|---|---|
name | ✅ | Skill 名称(小写字母+数字+连字符,最大 64 字符) |
description | ✅ | 功能描述(建议写清晰触发场景) |
allowed-tools | ❌ | 限制可用工具(如 Read,Grep,Bash) |
disable-model-invocation | ❌ | 禁止 Claude 自动调用 |
user-invocable | ❌ | 仅 Claude 可调用,用户菜单隐藏 |
model | ❌ | 指定 Skill 使用的模型 |
context | ❌ | project(默认)或 fork(独立上下文) |
agent | ❌ | 指定子代理类型 |
argument-hint | ❌ | 参数提示(如 [issue-number]) |
hooks | ❌ | 在 Skill 内定义 Hook(如果版本支持) |
命名约定
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| 命名格式 | 规范建议 | 使用小写 + 连字符(如 pdf-processing) | 保持团队内统一命名风格 |
| 语义清晰 | 规范建议 | 避免模糊名称(如 helper, utils, tools) | 名称应可直接推断用途 |
| 触发导向 | 规范建议 | 表达“何时调用”而非“如何实现” | 优先场景名,少用技术细节名 |
最佳实践
核心原则
简洁至上:只添加 Claude 不知道的上下文
适当自由度:根据任务特点选择高/中/低自由度模式
渐进式披露:将详细信息放在单独文件中
多模型测试:为所有计划使用的模型创建测试用例
详见:Skill 编写最佳实践
自定义命令 vs Skills
| 特性 | 自定义命令 | Skills |
|---|---|---|
| 文件位置 | .claude/commands/*.md | .claude/skills/<name>/SKILL.md |
| 配置方式 | 纯 Markdown | YAML frontmatter + Markdown |
| 脚本执行 | 不支持 | 支持 |
| 工具限制 | 不支持 | 支持 allowed-tools |
| 模型选择 | 不支持 | 支持 model 字段 |
| 独立上下文 | 不支持 | 支持(context: fork) |
| 适用场景 | 简单提示词复用 | 复杂功能、脚本执行、权限控制 |
自带工具
核心工具
文件操作
| 工具 | 用法示例 | 说明 |
|---|---|---|
Read | 读取 src/app.ts 并解释关键逻辑 | 仅读取文件,不修改 |
Write | 把修复写入 src/app.ts | 创建/覆盖文件 |
Edit | 把 foo() 替换为 bar() | 对单/多文件定点修改 |
MultiEdit | 批量替换多个片段 | 一次性多点编辑 |
Glob / GlobTool | 匹配 src/**/*.ts | 文件模式匹配 |
LS | 列出目录结构 | 目录浏览 |
搜索与执行
| 工具 | 用法示例 | 说明 |
|---|---|---|
Grep / GrepTool | 搜索文本 TODO: | 内容搜索(基于 ripgrep) |
Bash | 运行 npm test | 执行 shell 命令 |
BashOutput | 查看后台命令输出 | 读取 Bash 进程输出 |
KillBash | 终止挂起命令 | 结束 Bash 进程 |
Notebook 与网络
| 工具 | 用法示例 | 说明 |
|---|---|---|
NotebookRead | 查看 eda.ipynb | 读取 Jupyter Notebook |
NotebookEdit | 修改第 3 个单元格 | 修改 Notebook 单元格 |
WebSearch | 检索 zod vs yup 对比 | 联网搜索 |
WebFetch | 抓取文档并总结 API 变化 | 抓取 URL 内容 |
工具名可能随版本演进,实际可用列表请以当前会话和官方文档为准。
规划与协作
| 工具 | 用途 |
|---|---|
Task | 启动专门的子代理处理复杂任务 |
ExitPlanMode | 呈现计划供用户批准 |
关于 Agent Teams
Agent Teams 为实验性能力,官方文档以概念和工作流为主,不建议依赖未公开稳定的底层工具名。
其他工具
| 工具 | 用途 |
|---|---|
LSP | 语言服务器协议集成 |
View | 打开文件/目录视图 |
常用玩法
UltraThink 模式
[!quote] 来源
Anthropic - Claude Code Best Practices
这是在 Claude Code 中包含了一些魔法触发词,它会把模型的**思考预算(thinking budget)**拉到最高,让 Claude 在回答前花更多计算量做权衡、比对方案和自检,适合复杂架构设计、疑难调试、性能分析这类重思考场景。
从低到高的映射:think < think hard < think harder < ultrathink(逐级增加思考预算)。
触发词列表
English
HIGHEST: "think harder", "think intensely", "think longer", "think really hard", "think super hard", "think very hard", "ultrathink"
MIDDLE: "think about it", "think a lot", "think deeply", "think hard", "think more", "megathink"
BASIC: "think"
中文
HIGHEST: "多想一会", "深思", "仔细思考"
MIDDLE: "多想想", "好好想"
BASIC: "想", "思考"
怎么触发?
在对话或指令末尾附上 ultrathink 或上述触发词:
先阅读仓库并给出实现方案 ultrathink
并行开发(git worktree)
[!quote] 官方推荐
Claude Code 团队的 Boris Cherny:"我们最大的生产力技巧是打开 3 到 5 个 git worktree,每个运行独立的 Claude 会话。"
为什么使用 Git Worktree?
| 优势 | 说明 |
|---|---|
| 上下文隔离 | 每个 worktree 有独立的 Claude 会话和上下文 |
| 并行开发 | 同时在不同分支上工作,互不干扰 |
| 方案对比 | 快速测试多种实现方案 |
基本用法
# 创建多个 worktree(注释)
git worktree add ../feature-auth
git worktree add ../feature-payment
git worktree add ../bugfix-crash
# 每个 worktree 运行独立的 Claude 会话(注释)
cd ../feature-auth # Claude 会话 1:开发认证功能
cd ../feature-payment # Claude 会话 2:开发支付功能
cd ../bugfix-crash # Claude 会话 3:修复崩溃问题
典型工作流
1. 并行功能开发
# 主分支:稳定版本(注释)
# worktree 1:新功能 A(注释)
# worktree 2:新功能 B(注释)
# worktree 3:紧急 bug 修复(注释)
2. 分层代理工作流
| 层级 | 职责 | 适用场景 |
|---|---|---|
| Layer 0 | 并行运行主要开发任务 | 功能开发、主链路实现 |
| Layer 1 | 等待模式运行辅助任务(代码审查、文档) | 质量保障与配套产出 |
3. 方案对比测试
git worktree add ../solution-A
git worktree add ../solution-B
# 在两个 worktree 中分别实现不同方案,对比优劣(注释)
清理 Worktree
# 查看所有 worktree(注释)
git worktree list
# 删除 worktree(合并后,注释)
git worktree remove ../feature-auth
多级 CLAUDE.md
Claude Code 支持多层级 CLAUDE.md 记忆文件,按作用域自动合并。
层级结构
| 级别 | 位置 | 说明 |
|---|---|---|
| 企业级 | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md;Linux: /etc/claude-code/CLAUDE.md;Windows: %ProgramData%\ClaudeCode\CLAUDE.md | 组织级策略(由管理员配置) |
| 用户级 | ~/.claude/CLAUDE.md | 个人全局偏好 |
| 项目级 | 项目根/CLAUDE.md | 团队共享规则 |
| 项目本地级(已弃用) | 项目根/CLAUDE.local.md | 本地私有偏好(建议迁移) |
| 子目录级 | 子目录/CLAUDE.md | 更贴近当前文件,优先级更高 |
优先级规则
冲突时:更具体(更靠近当前文件) > 更宽泛
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| 启动会话 | 加载阶段 | 加载企业级、用户级、项目级记忆 | 提供基础全局规则 |
| 进入子目录 | 加载阶段 | 继续加载目录及父目录链上的 CLAUDE.md | 越靠近当前文件优先级越高 |
| 文档引用 | 加载机制 | @路径 引用文档一并载入上下文 | 便于拆分大规范文件 |
| 项目记忆 | 自动机制 | 自动维护 ~/.claude/projects/ | 记录项目会话相关记忆 |
文件夹级示例
项目根/
├── CLAUDE.md # 项目级:通用规则
├── api/
│ ├── CLAUDE.md # API 规则:RESTful 设计、文档要求
│ └── ...
├── frontend/
│ ├── CLAUDE.md # 前端规则:组件规范、样式指南
│ └── ...
└── backend/
├── CLAUDE.md # 后端规则:数据库、缓存策略
└── ...
文档引用
使用 @ 语法导入其他文档:
# 项目 CLAUDE.md(示例标题)
## 编码规范
@docs/coding-standards.md
@docs/api-guidelines.md
## 部署流程
@docs/deployment.md
最佳实践
- 避免单个大文件:使用文档引用分解内容
- 按模块组织:大型项目使用文件夹级 CLAUDE.md
- 团队共享:项目级 CLAUDE.md 提交到仓库
- 个人定制:用户级
~/.claude/CLAUDE.md保留个人偏好
学习模式(输出风格)
Claude Code 支持多种输出风格,其中"学习模式"是一种专门的教学模式。
三种输出风格
| 风格 | 特点 | 适用场景 |
|---|---|---|
| Default(默认) | 工程化简洁输出,专注高效完成任务 | 日常开发、快速实现 |
| Explanatory(解释) | 提供详细解释和推理过程 | 理解复杂概念、代码审查 |
| Learning(学习) | 苏格拉底式教学,引导式学习 | 编程初学者、深度学习 |
如何切换
# 打开交互式菜单选择(注释)
/output-style
# 直接切换到特定模式(注释)
/output-style learning # 学习模式
/output-style explanatory # 解释模式
/output-style default # 默认模式
学习模式特点
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| 提问优先 | 教学特征 | 通过问题引导,而非直接给答案 | 适合想提升独立思考能力的学习者 |
| 引导式思考 | 教学特征 | 帮助用户自己收敛方案 | 适合“会做题”导向的训练场景 |
| 结对式学习 | 教学特征 | 以交互式结对编程推进实践 | 适合边做边学的任务流程 |
| 反依赖 | 学习目标 | 减少对 AI 直接答案的依赖 | 强调长期能力建设 |
创建自定义风格
/output-style:new
自定义风格存储在 ~/.claude/output-styles/ 目录。
适用人群建议
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| 初学者 | 人群建议 | 推荐 /output-style learning | 帮助建立思路与问题分解能力 |
| 进阶者 | 人群建议 | 推荐 /output-style explanatory | 兼顾结论与解释,便于复盘 |
| 专家 | 人群建议 | 推荐默认模式 | 输出更精炼,执行效率更高 |
关于记忆和上下文管理
让 Claude Code 记住你的代码风格和项目惯例。
多级
CLAUDE.md的加载顺序与作用域规则,详见上文「[[#多级 CLAUDE.md]]」。本节聚焦实践落地。
记忆层级
| 机制 | 说明 | 配置方式 |
|---|---|---|
| 会话记忆 | 当前会话中的互动和决策 | 自动,会话结束清除 |
| CLAUDE.md | 项目/目录级持久记忆 | 手动编写,团队共享 |
| Skills | 固化的专业知识库 | YAML + Markdown |
| Custom Commands | 可复用的提示词模板 | 纯 Markdown |
配置方法
编写 CLAUDE.md
# 项目偏好
## 代码风格
- 使用 TypeScript 而非 JavaScript
- 函数使用 const arrow functions
- 组件命名 PascalCase,工具函数 camelCase
## 架构原则
- 优先可读性而非性能
- RESTful API 设计
- 单一职责原则
使用 /memory 命令
/memory
在编辑器中添加:
项目技术栈(React 18 + TypeScript)
状态管理方案(Zustand)
样式方案(Tailwind CSS)
创建 Custom Commands
在.claude/commands/refactor.md中:
使用 TypeScript 重构代码,保持业务逻辑。
确保:
1. 添加类型注解
2. 使用 const/let 替代 var
3. 箭头函数优先
4. 导入语句按字母排序
记忆优先级
更具体规则 > 更宽泛规则
(通常:子目录级 > 项目级 > 用户级)
Skills/Custom Commands 是“可调用能力”,不等同于自动记忆层级。
常见报错
| 状态码 | 错误类型 | 说明 |
|---|---|---|
| 400 | invalid_request_error | 您的请求格式或内容存在问题。我们也可能对下面未列出的其他 4XX 状态码使用此错误类型。 |
| 401 | authentication_error | 您的 API 密钥存在问题。 |
| 403 | permission_error | 您的 API 密钥没有使用指定资源的权限。 |
| 404 | not_found_error | 未找到请求的资源。 |
| 413 | request_too_large | 请求超过了允许的最大字节数。建议使用 /compact 命令。 |
| 429 | rate_limit_error | 您的账户达到了速率限制。 |
| 500 | api_error | Anthropic 系统内部发生了意外错误。 |
| 529 | overloaded_error | Anthropic 的 API 暂时过载。 |
关于 529 错误
当 Anthropic API 在所有用户中遇到高流量时,可能会出现 529 错误。在极少数情况下,如果您的组织使用量急剧增加,您可能会看到此类错误。为避免 529 错误,请逐步增加流量并保持一致的使用模式。
当通过 SSE 接收流式响应时,可能在返回 200 响应后发生错误,在这种情况下错误处理不会遵循这些标准机制。
相关资源推荐
官方资源
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| Claude Code: A Highly Agentic Coding Assistant | 课程 | 吴恩达 & Anthropic 联合出品,适合系统入门 | 课程会有版本时差,命令细节以最新文档为准 |
| 中英文字幕 B 站版本 | 视频搬运 | 对应上面课程的中文字幕版本 | 可能滞后于原始课程更新 |
| Claude Code 最佳实践 (YouTube) | 官方视频 | 官方实战与工作流演示 | 观看时留意发布时间 |
| How Anthropic teams use Claude Code | 官方博客 | 团队真实使用方法与经验 | 偏实践经验,参数细节需回到文档核对 |
| Agent Skills with Anthropic | 课程 | 聚焦 Skills 设计与应用 | 适合在已入门后系统补齐 |
| Claude Code in Action | 官方培训 | 面向上手和实操的结构化课程 | 部分内容可能需登录后查看 |
三方资源
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| Anthropic Courses - Claude Code in Action | 课程页面 | 官方课程入口聚合,便于统一查找 | 与官方资源有部分重复 |
| 一些高级玩法 (X/Twitter) | 社区帖子 | 高阶技巧速览,适合扩展思路 | 社区经验请二次验证后再落地 |
| everything-claude-code | GitHub 仓库 | 黑客松冠军配置与实践参考 | 配置需结合你自己的权限策略调整 |
好用的 Skills
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| news-aggregator-skill | 社区 Skill | 新闻聚合与整理 | 涉及外部抓取,注意速率与来源稳定性 |
| baoyu-skills | 社区 Skill 集 | 多场景技能集合(含图像相关能力) | 使用前先看每个 Skill 的权限范围 |
| AI-research-SKILLs | 社区 Skill 集 | AI 研究与工程类技能库 | 内容较重,建议按主题挑选启用 |
| skills.sh | Skill 目录站 | 收集可安装 Skills,可快速发现能力 | 目录站展示不代表全部经过安全审计 |
| find-skills | 发现 Skill | 按需求检索对应 Skill | 适合先发现再精装,不要盲装 |
obsidian-markdown / obsidian-bases / json-canvas | Obsidian Skill | Obsidian 官方团队维护的技能方向 | 与你的笔记规范保持一致更佳 |
引入社区 Skill 前,建议先审查权限、脚本行为和外部依赖。
好用的 SubAgent
| 名称 | 类型 | 用途/适用场景 | 注意事项 |
|---|---|---|---|
| code-simplifier | 实践案例 | 代码简化与重构思路参考 | 属于案例文章,不是官方内置即装即用包 |
claude-code-guide | 内置/本地 | 查询 Claude Code 官方文档与用法 | 输出建议仍需结合当前版本命令核对 |