Claude Code 自定义命令
Claude Code 自定义命令指南
Claude Code 支持创建自定义斜杠命令 (Slash Commands),让你可以快速执行常用操作。本章介绍实用的自定义命令及其使用方法。
什么是自定义命令
自定义命令是存放在 .claude/commands/ 目录下的 Markdown 文件,可以通过 /<command-name> 快速调用。
命令文件结构
---
description: 命令描述(显示在命令列表中)
argument-hint: [参数提示]
allowed-tools: Read, Edit, Bash(git:*)
---
# 命令标题
这里是命令的 Prompt 内容...
可以使用 $ARGUMENTS 引用用户传入的参数
命令存放位置
.claude/
└── commands/
├── think-harder.md
├── reflection.md
└── gh/
├── review-pr.md
└── fix-issue.md
分析思考类命令
/think-harder - 增强分析思考
用于复杂问题的深度分析。
使用方式:
/think-harder 如何设计一个高并发的订单系统?
核心流程:
- 问题澄清 - 定义核心问题,识别隐含假设
- 多维分析
- 结构分解:拆分为基础组件和依赖
- 利益相关者视角:考虑所有受影响方
- 时间分析:短期 vs 长期影响
- 因果推理:映射因果关系和反馈循环
- 批判性评估 - 挑战假设,识别认知偏见
- 综合整合 - 连接跨领域洞察
输出格式:
- 问题重构
- 关键洞察
- 推理链条
- 备选方案
- 不确定性
- 可执行建议
/think-ultra - 超级深度分析
比 /think-harder 更全面的分析,适用于极复杂问题。
使用方式:
/think-ultra 如何从零构建一个 AI 编程助手?
/reflection - 指令反思分析
分析当前会话,改进 CLAUDE.md 中的指令。
使用方式:
/reflection
核心流程:
- 分析阶段 - 审查对话历史,检查当前 CLAUDE.md
- 识别问题
- Claude 响应中的不一致
- 对用户请求的误解
- 可以提供更详细信息的地方
- 交互阶段 - 提出改进建议,等待确认
- 实施阶段 - 修改 CLAUDE.md 文件
最佳实践:
- 使用 TodoWrite 跟踪分析进度
- 在修改前充分阅读当前 CLAUDE.md
- 考虑边缘情况和常见场景
/reflection-harder - 深度会话分析
综合分析整个会话,捕获学习和改进点。
使用方式:
/reflection-harder
/eureka - 记录技术突破
当你有重要的技术洞察时,用这个命令记录下来。
使用方式:
/eureka 发现 React 18 的 Suspense 可以完美解决数据获取的瀑布问题
GitHub 集成命令
/gh:review-pr - PR 代码审查
自动获取 PR 详情并进行代码审查。
使用方式:
/gh:review-pr 123
核心流程:
- 获取 PR 详情:
gh pr view 123 - 获取代码差异:
gh pr diff 123 - 分析变更并提供审查意见
- 直接在 GitHub 上发表评论
审查焦点:
- 代码正确性
- 项目规范遵循
- 性能影响
- 测试覆盖
- 安全考虑
评论格式:
# 获取 commit ID
gh api repos/OWNER/REPO/pulls/123 --jq '.head.sha'
# 发表评论
gh api repos/OWNER/REPO/pulls/123/comments \
--method POST \
--field body="建议:这里可以使用 useMemo 优化" \
--field commit_id="abc123" \
--field path="src/components/List.tsx" \
--field line=42 \
--field side="RIGHT"
/gh:fix-issue - Issue 修复流程
完整的 Issue 修复工作流。
使用方式:
/gh:fix-issue 456
核心流程:
- 获取 Issue 详情
- 分析问题根因
- 创建修复分支
- 实施修复
- 创建 PR 并关联 Issue
工具类命令
/translate - 技术翻译
将英文/日文技术内容翻译成中文。
使用方式:
/translate This article explains the fundamentals of RAG...
特点:
- 保留技术术语
- 保持代码格式
- 适当的中文技术表达
/cc:create-command - 创建新命令
快速创建新的自定义命令。
使用方式:
/cc:create-command deploy "自动化部署到生产环境"
创建自己的命令
步骤 1:创建命令文件
mkdir -p .claude/commands
touch .claude/commands/my-command.md
步骤 2:编写命令内容
---
description: 我的自定义命令描述
argument-hint: [参数说明]
allowed-tools: Read, Write, Bash
---
# 命令标题
你是一个专业的 [角色]。
## 任务
根据用户输入的 $ARGUMENTS,执行以下操作:
1. 第一步
2. 第二步
3. 第三步
## 输出格式
- 使用清晰的标题
- 提供具体的建议
步骤 3:使用命令
/my-command 参数内容
命令配置参数
| 参数 | 说明 | 示例 |
|---|---|---|
description | 命令描述 | "代码审查命令" |
argument-hint | 参数提示 | "[pr-number]" |
allowed-tools | 允许的工具 | "Read, Edit, Bash(git:*)" |
allowed-tools 常用值
Read- 读取文件Write- 写入文件Edit- 编辑文件Glob- 文件搜索Grep- 内容搜索Bash- 执行命令Bash(git:*)- 仅允许 git 命令Bash(gh:*)- 仅允许 gh 命令TodoWrite- 任务管理WebFetch- 网页获取
最佳实践
- 命名清晰 - 命令名应直接表达功能
- 描述准确 - description 要让用户一眼看懂
- 限制工具 - 使用 allowed-tools 限制权限
- 结构化输出 - 定义清晰的输出格式
- 错误处理 - 考虑边缘情况
推荐命令集
| 命令 | 用途 | 场景 |
|---|---|---|
/think-harder | 深度分析 | 复杂问题分析 |
/reflection | 指令优化 | 改进 CLAUDE.md |
/gh:review-pr | PR 审查 | 代码审查 |
/gh:fix-issue | Issue 修复 | Bug 修复 |
/translate | 技术翻译 | 文档翻译 |
📚 相关资源
❓ 常见问题
关于本章主题最常被搜索的问题,点击展开答案
Claude Code 自定义命令文件应该放在哪里?
项目级放 `.claude/commands/`,跟 repo 走团队共用;可以分子目录组织,比如 `gh/review-pr.md` 用 `/gh:review-pr` 调用。每个文件是一个 Markdown,frontmatter 写 `description` / `argument-hint` / `allowed-tools`,正文是 Prompt 内容,用 `$ARGUMENTS` 引用用户传参。
/think-harder 和 /think-ultra 区别在哪?
都是深度分析命令,但 think-harder 走 4 步流程(问题澄清 → 多维分析 → 批判性评估 → 综合整合),适合"高并发订单系统怎么设计"这种有边界的复杂问题;think-ultra 是 think-harder 的 plus 版,分析维度更全,适合"从零构建 AI 编程助手"这类极复杂、需要跨领域综合的开放问题。日常 80% 场景 think-harder 够用。
/reflection 命令到底改的是什么?
改 CLAUDE.md。它会复盘当前对话,找出 3 类问题:(1) Claude 响应不一致;(2) 对你请求的误解;(3) 信息可以更详细的地方。然后提出修改建议给你确认,confirmed 后直接动 CLAUDE.md。比 `/reflection-harder`(综合分析整个会话)轻量,每次完成一个 task 后跑一次最划算。
allowed-tools 里 `Bash(git:*)` 是什么意思?
范围权限,只允许跑 git 子命令(git status / git diff / git commit 等),其他 bash 命令一律拒绝。比直接给 `Bash` 安全很多 — 防止 AI 误删文件 / 起服务 / 改系统配置。常见组合:`Bash(git:*)` 用于 commit 命令,`Bash(gh:*)` 用于 GitHub Issue/PR 命令,`Read,Edit` 加上去就够覆盖大部分编辑场景。
/gh:review-pr 命令是怎么把评论发到 GitHub 的?
4 步:(1) `gh pr view 123` 拿 PR 详情;(2) `gh pr diff 123` 拿代码差异;(3) AI 分析变更生成审查意见;(4) `gh api repos/OWNER/REPO/pulls/123/comments --method POST --field body="..." --field commit_id="abc123" --field path="src/x.ts" --field line=42 --field side="RIGHT"` 直接发评论。commit_id 用 `gh api repos/.../pulls/123 --jq '.head.sha'` 拿到。