Claude Code:自定义命令

系列导航

  1. 安装与配置
  2. 入门使用
  3. 高级功能
  4. 旁门左道
  5. 高效编写 CLAUDE.md
  6. 自定义命令(本文)
  7. Hooks
  8. Agents(子代理)
  9. MCP
  10. Plan 模式
  11. Skills
  12. 头脑风暴(Superpowers)
  13. Ralph Loop 全天候运行

1. 概述

自定义命令(斜杠命令)是 Claude Code 中快速执行特定任务的方式。

1
2
3
占用 primary agent 的上下文

subagent:和你的 primary agent 隔离,幻觉存在,独立的工作,不依赖过多的上下文信息

2. 命令类型

SlashCommands 分为两种类型:

2.1 项目级命令 (/project:)

  • 存储在项目的 .claude/commands/ 目录中
  • 仅在当前项目中可用

2.2 用户级命令 (/user:)

  • 存储在用户主目录的 ~/.claude/commands/ 文件夹
  • 在所有项目中都可用

3. 创建自定义命令

步骤很简单:

  1. 在相应目录创建一个 Markdown 文件
  2. 文件名就是命令名(如 code-review.md 对应 /project:code-review
  3. 文件内容就是命令执行的指令

比如在 commands 目录下创建了一个 code-review.md 的文件,内容如下:

1
2
3
4
请对以下代码进行全面的代码审查:$ARGUMENTS
1. 检查代码质量和最佳实践
2. 识别潜在的 bug 和安全问题
3. 提供改进建议

这里注意 $ARGUMENTS 关键字的使用,就是来传递参数的。

/code-review 上面的代码内容

4. 常用内置命令

命令 解释
/add-dir 添加工作目录
/clear 清空对话历史
/compact [instructions] 精简对话内容,还可以指定重点方向
/config 查看/修改配置
/doctor 给你的 Claude Code 做个全面体检
/login 登录账号
/logout 退出账号
/mcp 查看 mcp 的配置
/memory 编辑 CLAUDE.md 文件
/model 选择使用的模型
/permissions 设置允许/禁止的工具权限
/status 查看账户和系统状态
/resume 恢复对话
/hooks 添加 hooks 内容
/vim 普通模式和 vim 模式切换

5. 重点特性

5.1 Arguments 参数

$ARGUMENTS 占位符,给命令传递动态的值。

1
2
3
4
5
# 定义
echo '根据代码规范解决问题: #$ARGUMENTS ' > .claude/commands/fix-issue.md

# 使用
> /project:fix-issue 123

5.2 执行 Bash 命令

在命令前面加上 ! 符号就可以执行 bash 命令,并且执行结果会自动包含在上下文中。

比如提交代码使用的命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit
---

## 上下文

- Current git status: !`git status`
- Current git diff (staged and unstaged changes): !`git diff HEAD`
- Current branch: !`git branch --show-current`
- Recent commits: !`git log --oneline -10`

## 任务
根据以上的变化内容,创建一个 git commit。

5.3 文件引用

直接就在文件里包含 @ 内容就可以指定文件:

1
2
3
4
5
# 参考文件
Review the implementation in @src/utils/helpers.js

# 参考多个文件
Compare @src/old-version.js with @src/new-version.js

看到这里肯定枯燥了吧,接下来还有更多案例等着你。