使用 Claude Code 的 Slash Command 编排工作流,让 AI 半夜持续为你打工
1- 概述
想象一下这样的场景:你刚写完一段关键代码,需要进行全面审查:代码质量、安全漏洞、性能瓶颈、测试覆盖等等,每一项都需要专业的人或者 Agent 帮你完成。Claude Code 可以为每一个场景编写一个 Agent,但是有没有一种方式可以把它们串起来呢?
这就是今天要分享的核心技巧——自定义斜杠命令(Slash Commands)。
2- 回顾 Agent 的调用方式
在上一篇 [[使用 Claude Code 的 Agent 帮助你更快编写更好的代码]] 文章中,介绍了使用 Claude Code 自定义 Agent,以及使用别人编写好的 Agent。
Claude Code 有两种调用 Agent 的方式:
- 自动委派:当你的提示词中包含某个 Agent 的描述,或执行流程走到相应步骤时,Claude Code 会根据情况自动调用合适的 Agent
- 显式调用:你可以直接说
使用 code-reviewer subagent 检查我最近的代码
对于复杂的工作流程,你可能会想让 Claude Code 调用不同的 Agent 处理不同的事情。你可以说:
首先使用 code-reviewer subagent 检查我最近的代码,针对需要改进的内容,使用 optimizer subagent 修复代码
这里,我们让 Claude Code 逐个调用了 code-reviewer 和 optimizer 两个 Agent。
[!note] 提示
对于常见的工作流程,每次都要重复写这么长的提示词,太麻烦了。我们可以通过自定义斜杠命令来编排工作流,复用这段提示词。
3- 什么是斜杠命令(Slash Commands)
输入 /,你就可以看到一列命令列表。
这个你肯定比较熟悉了,Claude Code 内置了很多默认命令 [^1]。
Claude Code 还支持自定义斜杠命令,这样我们就可以快速启动一个定制化的工作流了。
4- 自定义的斜杠命令
其实每一个斜杠命令都是一个 markdown 文件,存放在全局目录(~/.claude/commands/)或者项目目录(.claude/commands/)中。
[!tip] 小提示
在新版 Claude Code 中,自定义斜杠命令已经与 Skills 合并:.claude/commands/deploy.md和.claude/skills/deploy/SKILL.md都会生成/deploy命令,你现有的.claude/commands/文件依然完全可用。相比 commands,Skills 还支持附带辅助文件、自动触发等更多能力。
4.1- 语法
/<command-name> [arguments]
<command-name>就是 markdown 文件的文件名,命令名与文件名一一对应。[arguments]是传递给斜杠命令的可选参数;与严谨的命令行不同,它可以是一句提示词。
在自定义的斜杠命令中,使用 $ARGUMENTS 来接收参数(它实际上只是提示词内容中的一个占位符)。
5- 文件内容
整个 markdown 文件的格式如下:
## Context
- 当前的 git status:!`git status`
- ...
## Task
1. 根据 $ARGUMENTS 执行 XXX
2. 对比 @src/xxx.ts 执行 XXX
3. 深度思考 XXX
我们一步一步来拆分:
5.1- 元数据
在 --- 包裹的内容中,是这个斜杠命令的一些参数:
allowed-tools:该斜杠命令可以使用哪些工具argument-hint:所需的参数提示description:斜杠命令的一句话描述model:可以自定义模型,默认使用当前对话的模型
5.2- 执行命令
你可以在文档中嵌入 shell 命令,斜杠命令执行时会自动运行这些命令,并把输出结果作为上下文注入。
!`command`
例如 !git status`` 会把当前的 Git 状态注入到提示词中。
5.3- 参数
$ARGUMENTS 就是你使用斜杠命令时的参数,会作为上下文使用。
5.4- 文件引用
你可以使用 @path 来引用指定文件,这一般用于项目中的斜杠命令。
5.5- 思考模式
当提示词中包含「深度思考 XXX」或「Think deeply about XXX」之类的表述时,Claude Code 会进行多步骤的推理(需当前模型与套餐支持)。
6- 自定义一个全面代码审查的 Slash Command
6.1- 预期效果
我们预期的使用方式为 /full-review 检查身份验证模块。然后 Claude Code 就会全面检查这部分代码,整体流程如下:
/full-review <审查目标>
├─ 代码质量检查(code-reviewer)
├─ 安全审查(security-auditor)
├─ 架构评审(architect-reviewer)
├─ 性能分析(performance-engineer)
└─ 测试覆盖率评估(test-automator)
↓
汇总为统一的审查报告
6.2- 示例内容
首先在 .claude/commands/ 目录中创建一个文件 full-review.md,文件开头的内容如下:
## Context
- 当前工作目录:!`pwd`
- Git 状态:!`git status --porcelain`
- 最近提交:!`git log --oneline -5`
## Task
执行多个专业 subagent 进行全面代码审查:
#### 1. 代码质量检查
使用 `subagent_type="code-reviewer"`
**提示词**:
```text
对以下代码进行质量与可维护性审查:$ARGUMENTS
检查代码异味、可读性、文档完整性及最佳实践遵循情况
重点关注:代码整洁原则、SOLID 原则、DRY 原则、命名规范
```
继续补充文件剩余部分中,另外 4 个专业 Agent 的检查项:
6.2.1- 安全审查
使用 subagent_type="security-auditor"
提示词:
对以下内容进行安全审计:$ARGUMENTS
检查漏洞、OWASP 合规性、认证问题及数据保护措施
重点关注:注入风险、身份验证、授权机制、数据加密
6.2.2- 架构评审
使用 subagent_type="architect-reviewer"
提示词:
审查以下架构设计与模式:$ARGUMENTS
评估其可扩展性、可维护性及对架构原则的遵循程度
重点关注:服务边界、耦合性、内聚性、设计模式
6.2.3- 性能分析
使用 subagent_type="performance-engineer"
提示词:
分析以下内容的性能特征:$ARGUMENTS
识别瓶颈、资源使用情况以及优化机会
重点关注:响应时间、内存使用、数据库查询、缓存策略
6.2.4- 测试覆盖率评估
使用 subagent_type="test-automator"
提示词:
评估以下内容的测试覆盖范围与质量:$ARGUMENTS
检查单元测试、集成测试,并识别测试覆盖中的空白
重点关注:覆盖率指标、测试质量、边界情况、测试可维护性
6.3- 报告结构
将所有反馈整理成统一报告:
6.3.1- 🔴 关键问题(必须修复)
- 安全漏洞
- 功能故障
- 架构缺陷
6.3.2- 🟡 推荐修复(应该修复)
- 性能瓶颈
- 代码质量问题
- 测试缺失
6.3.3- 🟢 建议改进(可选修复)
- 重构机会
- 文档改进
6.3.4- ✅ 正面反馈
- 良好实践总结
- 值得维护的优秀代码
审查目标:$ARGUMENTS
6.3.5- 完整示例文件
将以上内容合并到一起,full-review.md 的完整内容如下(可直接复制使用):
---
description: 对代码进行全面的多 Agent 审查
argument-hint: [要审查的代码或模块]
allowed-tools: Read Grep Bash
---
## Context
- 当前工作目录:!`pwd`
- Git 状态:!`git status --porcelain`
- 最近提交:!`git log --oneline -5`
## Task
执行多个专业 subagent 进行全面代码审查:
#### 1. 代码质量检查
使用 `subagent_type="code-reviewer"`
**提示词**:
```text
对以下代码进行质量与可维护性审查:$ARGUMENTS
检查代码异味、可读性、文档完整性及最佳实践遵循情况
重点关注:代码整洁原则、SOLID 原则、DRY 原则、命名规范
```
#### 2. 安全审查
使用 `subagent_type="security-auditor"`
**提示词**:
```text
对以下内容进行安全审计:$ARGUMENTS
检查漏洞、OWASP 合规性、认证问题及数据保护措施
重点关注:注入风险、身份验证、授权机制、数据加密
```
#### 3. 架构评审
使用 `subagent_type="architect-reviewer"`
**提示词**:
```text
审查以下架构设计与模式:$ARGUMENTS
评估其可扩展性、可维护性及对架构原则的遵循程度
重点关注:服务边界、耦合性、内聚性、设计模式
```
#### 4. 性能分析
使用 `subagent_type="performance-engineer"`
**提示词**:
```text
分析以下内容的性能特征:$ARGUMENTS
识别瓶颈、资源使用情况以及优化机会
重点关注:响应时间、内存使用、数据库查询、缓存策略
```
#### 5. 测试覆盖率评估
使用 `subagent_type="test-automator"`
**提示词**:
```text
评估以下内容的测试覆盖范围与质量:$ARGUMENTS
检查单元测试、集成测试,并识别测试覆盖中的空白
重点关注:覆盖率指标、测试质量、边界情况、测试可维护性
```
## 报告结构
将所有反馈整理成统一报告:
### 🔴 关键问题(必须修复)
- 安全漏洞
- 功能故障
- 架构缺陷
### 🟡 推荐修复(应该修复)
- 性能瓶颈
- 代码质量问题
- 测试缺失
### 🟢 建议改进(可选修复)
- 重构机会
- 文档改进
### ✅ 正面反馈
- 良好实践总结
- 值得维护的优秀代码
**审查目标**:$ARGUMENTS
就这样,一份对代码进行全面分析的自定义斜杠命令就完成了。这是一套不错的工作流,集合了 5 个 Agent 共同对内容进行审查。
6.4- 更多的 Slash Commands
同理,你也可以创建多种多样的 Slash Commands 来满足你的需求。
wshobson/commands 这个仓库预设了一套适用于 Claude Code 的 Slash Commands 集合,包含大量针对复杂任务的多 Agent 编排示例。
6.5- 总结
这种工作流可以做得更复杂、更智能。你甚至可以在睡觉前启动一个完整的项目审查流程,第二天醒来就能看到详细的分析报告。充分利用 Claude Code 按时间段限流的机制,让 AI 持续为你打工。
6.5.1- 核心优势
- 自动化工作流:一次配置,多次复用
- 多 Agent 协作:不同专业领域的 AI 协同工作
- 标准化输出:统一的报告格式,便于阅读和处理
- 高效便捷:简单的命令调用,复杂的任务执行
参考链接
- Claude Code 官方文档 · 自定义斜杠命令 / Skills
- Claude Code 官方文档 · 内置命令参考
- Claude Code 官方文档 · 自定义 Subagents
- wshobson/commands · Claude Code 斜杠命令集合
[^1]: 内置命令包括 /help、/clear、/compact、/init、/model、/config、/memory、/agents、/mcp、/usage 等,输入 / 即可查看完整列表。