名称: claude-code-commands 描述: 为Claude Code创建slash命令,包含$ARGUMENTS处理、代理调用模式和模板最佳实践。用于构建用户触发的工作流快捷方式的参考。
Claude Code 命令 - 元参考
本技能提供了创建Claude Code slash命令的权威参考。在构建新命令或改进现有命令模式时使用此技能。
2026年注:自定义slash命令已合并到技能中。新工作推荐使用.claude/skills/<name>/SKILL.md;.claude/commands/<name>.md仍支持旧版单文件命令。
何时使用此技能
当您需要时使用此技能:
- 为重复工作流创建新slash命令
- 向命令添加
$ARGUMENTS处理 - 从命令调用代理
- 在命令中包含文件上下文或bash输出
- 为团队共享组织命令
快速参考
| 组件 | 目的 | 示例 |
|---|---|---|
| 文件名 | 命令名称 | review.md -> /review |
| 内容 | 提示模板 | Claude的指令 |
$ARGUMENTS |
用户输入 | /review auth.js -> $ARGUMENTS = "auth.js" |
$1, $2 |
位置参数 | /compare a.js b.js -> $1 = "a.js" |
${CLAUDE_SESSION_ID} |
会话跟踪 | logs/${CLAUDE_SESSION_ID}.log |
@file |
包含文件 | @CLAUDE.md 包含文件内容 |
!command |
Bash输出(预处理) | !git status 包含命令输出 |
命令位置
Claude Code支持旧版命令文件和基于技能的命令。技能是推荐格式,因为它支持前元控制和捆绑支持文件。
| 位置 | 范围 | 创建 | 用途 |
|---|---|---|---|
.claude/skills/<name>/SKILL.md |
项目 | /name |
推荐:团队共享命令,带支持文件 |
~/.claude/skills/<name>/SKILL.md |
个人 | /name |
个人跨项目命令 |
.claude/commands/<name>.md |
项目 | /name |
旧版单文件命令(仍支持) |
~/.claude/commands/<name>.md |
个人 | /name |
旧版个人命令 |
packages/*/.claude/skills/<name>/SKILL.md |
嵌套 | /name |
单体仓库子目录 |
嵌套发现:Claude自动发现在子目录中的.claude/skills/和.claude/commands/,当在这些路径内工作时。
命令结构
基于技能(推荐):
.claude/skills/
|-- review/SKILL.md # /review
|-- test/SKILL.md # /test
`-- deploy/SKILL.md # /deploy
旧版命令:
.claude/commands/
|-- review.md # /review
|-- test.md # /test
`-- deploy.md # /deploy
命令模板(基于技能)
---
name: command-name
description: 调用和自动加载的简要描述
argument-hint: [路径|#pr] [选项]
allowed-tools: Read, Grep, Bash(git:*)
disable-model-invocation: false
---
# 命令标题
[此命令作用的清晰指令]
用户请求: $ARGUMENTS
## 步骤
1. [Claude应采取的首次动作]
2. [第二次动作]
3. [第三次动作]
## 输出格式
[指定预期输出结构]
前元字段(技能)
| 字段 | 目的 |
|---|---|
name |
Slash命令名称(kebab-case) |
description |
何时使用此技能/命令 |
argument-hint |
自动完成期间显示的预期参数提示 |
allowed-tools |
此技能无需额外提示即可运行的工具 |
disable-model-invocation |
如果为true,Claude将不会自动调用 |
user-invocable |
如果为false,隐藏于/菜单 |
model |
为此技能覆盖模型 |
context |
使用fork进行隔离执行 |
agent |
用于执行此技能的子代理 |
hooks |
技能的可选生命周期钩子 |
旧版.claude/commands/*.md适用于单文件命令;如果您需要前元控制或捆绑资源,推荐使用技能。
allowed-tools语法
allowed-tools: Read, Grep, Bash(git:*)
| 模式 | 含义 |
|---|---|
Tool |
允许该工具的任何调用 |
Tool(prefix:*) |
仅允许带特定前缀 |
Bash(git:*) |
仅git命令 |
Bash(npm test:*) |
仅npm test命令 |
$ARGUMENTS用法
单参数
# 代码审查
审查以下文件或代码的质量、安全性和最佳实践:
$ARGUMENTS
关注:
- 代码质量问题
- 安全漏洞
- 性能问题
- 最佳实践违规
用法: /review src/auth.js
多参数
# 比较文件
比较这两个文件并解释差异:
$ARGUMENTS
提供:
- 逐行差异
- 语义变化
- 影响分析
用法: /compare old.js new.js
可选参数
# 运行测试
为指定范围运行测试。
范围: $ARGUMENTS
如果未指定范围,运行所有测试。
如果范围是文件,运行该文件的测试。
如果范围是目录,运行该目录中的测试。
用法: /test 或 /test auth/ 或 /test login.test.ts
位置参数
使用$1、$2等表示特定参数(类似shell脚本):
# 比较文件
比较$1与$2。
显示:
- 行差异
- 语义变化
- 哪个版本更优选
用法: /compare old.js new.js -> $1 = "old.js", $2 = "new.js"
文件引用(@前缀)
使用@直接在命令中包含文件内容:
# 带上下文审查
按照我们的标准审查此代码。
项目标准:
@CLAUDE.md
要审查的代码:
$ARGUMENTS
用法: /review-context src/auth.js 自动包含CLAUDE.md内容。
Bash执行(!前缀)
执行bash命令并使用!包含输出:
# 智能提交
当前状态:
!git status --short
最近提交:
!git log --oneline -5
暂存更改:
!git diff --cached
为暂存更改生成提交消息。
用法: /smart-commit 运行git命令并包含其输出。
重要: !command语法是预处理 - 命令在内容发送到Claude之前执行。Claude只看到带有实际数据的渲染输出,而不是命令本身。
反引号语法
对于内联执行,使用反引号:
PR差异: !`gh pr diff`
更改文件: !`gh pr diff --name-only`
命令模式
代理调用
# 安全审计
执行全面安全审计。
目标: $ARGUMENTS
使用**security-auditor**代理以:
1. 扫描OWASP Top 10漏洞
2. 检查认证模式
3. 审查数据验证
4. 分析依赖项
提供严重性评级发现报告。
多代理编排
# 全栈功能
构建完整全栈功能。
功能: $ARGUMENTS
工作流:
1. 使用**prd-architect**澄清需求
2. 使用**system-architect**设计方法
3. 使用**backend-engineer**实现API
4. 使用**frontend-engineer**实现UI
5. 使用**test-architect**进行测试覆盖
在代理间协调并确保集成。
验证命令
# 提交前检查
提交前验证更改。
文件: $ARGUMENTS(如未指定,则为所有暂存文件)
检查清单:
- [ ] 所有测试通过
- [ ] 无lint错误
- [ ] 无类型错误
- [ ] 无console.log语句
- [ ] 无TODO注释
- [ ] 无硬编码机密
返回READY或BLOCKED及详情。
命令类别
开发命令
| 命令 | 目的 |
|---|---|
/review |
代码审查 |
/test |
运行/编写测试 |
/debug |
调试问题 |
/refactor |
改进代码 |
架构命令
| 命令 | 目的 |
|---|---|
/design |
系统设计 |
/architecture-review |
审查架构 |
/tech-spec |
编写技术规格 |
安全命令
| 命令 | 目的 |
|---|---|
/security-scan |
安全审计 |
/secrets-check |
查找暴露机密 |
/dependency-audit |
检查依赖项 |
操作命令
| 命令 | 目的 |
|---|---|
/deploy |
部署工作流 |
/rollback |
回滚更改 |
/incident |
事件响应 |
命名约定
| 模式 | 示例 | 用途 |
|---|---|---|
{动作} |
/review |
简单动作 |
{动作}-{目标} |
/security-scan |
特定目标 |
{领域}-{动作} |
/pm-strategy |
领域前缀 |
{工具}-{动作} |
/git-commit |
工具特定 |
命令 vs 代理 vs 技能
| 特性 | 命令 | 代理 | 技能 |
|---|---|---|---|
| 触发 | 用户输入/command |
Claude决定 | Claude加载 |
| 目的 | 快捷方式 | 复杂工作 | 知识 |
| 状态性 | 无状态 | 维护上下文 | 仅参考 |
| 长度 | 简短提示 | 完整指令 | 详细文档 |
流程: 用户 -> 命令 -> 代理 -> 技能
调用控制
使用前元控制谁可以调用命令:
| 前元 | 用户调用 | Claude调用 | 用例 |
|---|---|---|---|
| (默认) | 是(/name) |
是(自动) | 通用命令 |
disable-model-invocation: true |
是(/name) |
否(从不) | 部署、提交、危险操作 |
user-invocable: false |
否(隐藏) | 是(自动) | 仅背景知识 |
示例:仅用户命令
---
description: 部署到生产环境
disable-model-invocation: true
allowed-tools: Bash(kubectl:*), Bash(docker:*)
---
# 部署
将$ARGUMENTS部署到生产集群。
Claude无法自动调用此命令 - 用户必须显式输入/deploy。
上下文预算
默认技能/命令描述预算:15,000字符。
如果许多命令被排除在上下文外:
export SLASH_COMMAND_TOOL_CHAR_BUDGET=20000
使用/context命令检查关于排除技能的警告。
最佳实践
做
# 好命令
清晰、具体的指令。
目标: $ARGUMENTS
1. 首先,分析目标
2. 然后,执行动作X
3. 最后,输出结果Y
预期输出:
- 发现总结
- 可操作建议
不做
# 坏命令
用$ARGUMENTS做东西。
让它好。
高级模式
条件逻辑
# 智能审查
审查目标: $ARGUMENTS
如果目标是PR编号(例如,#123):
- 使用`gh pr view`获取PR详情
- 审查所有更改文件
如果目标是文件路径:
- 审查该特定文件
如果目标是目录:
- 审查目录中所有文件
带选项模板
# 生成测试
为以下生成测试: $ARGUMENTS
选项(从参数解析):
- `--unit` - 仅单元测试
- `--e2e` - 仅E2E测试
- `--coverage` - 包含覆盖报告
默认:生成单元和E2E测试。
导航
资源
- references/command-patterns.md - 常见模式
- references/command-examples.md - 完整示例
- data/sources.json - 文档链接
相关技能
- …/claude-code-agents/SKILL.md - 代理创建
- …/claude-code-skills/SKILL.md - 技能创建
- …/claude-code-hooks/SKILL.md - 钩子自动化