Slash命令自动化技能Skill WritingSlashCommands

这个技能用于创建和自定义Slash命令,以自动化Claude Code中的重复工作流。它支持参数传递、前端元数据配置、Bash命令集成和文件引用,适用于构建可重用的提示模板,优化开发效率。关键词:Slash命令, Claude Code, 自动化, 参数处理, Bash集成, 文件引用, 工作流优化, 提示工程, 开发工具

DevOps 0 次安装 0 次浏览 更新于 3/8/2026

name: 编写Slash命令 description: 创建和使用自定义Slash命令以自动化Claude Code工作流。学习参数传递、前端配置、Bash集成和文件引用,用于构建可重用提示。 allowed-tools: Bash

Slash命令指南

Slash命令是可重用的提示模板,用于自动化Claude Code中的重复任务。定义一次,即可通过/command-name [args]随时调用。

快速开始

创建命令

项目范围(与团队共享):

mkdir -p .claude/commands
echo "分析此代码的性能问题:" > .claude/commands/optimize.md

个人(跨所有项目):

mkdir -p ~/.claude/commands
echo "审查此代码的安全漏洞:" > ~/.claude/commands/security-review.md

通过/optimize/security-review调用。


自定义命令架构

范围 位置 范围 可共享
项目 .claude/commands/ 仓库特定 是(团队)
个人 ~/.claude/commands/ 所有项目

命名空间

在子目录中组织命令(不影响调用):

.claude/commands/
├── frontend/
│   └── component.md      # 调用为`/component`(显示"project:frontend")
├── backend/
│   └── api.md           # 调用为`/api`(显示"project:backend")
└── security-review.md   # 调用为`/security-review`

注意: 用户级别和项目级别同名命令冲突;只有一个可用。


参数与占位符

使用$ARGUMENTS捕获所有参数

当需要所有参数作为单个字符串时,使用$ARGUMENTS

---
description: 修复带有可选优先级的问题
argument-hint: [issue-number] [optional-priority]
---

修复问题 #$ARGUMENTS 遵循我们的编码标准。

用法: /fix-issue 123$ARGUMENTS = "123" 用法: /fix-issue 123 high-priority$ARGUMENTS = "123 high-priority"

使用$1, $2, ...访问单个参数

对于结构化命令,使用位置参数:

---
description: 使用优先级和分配人审查拉取请求
argument-hint: [pr-number] [priority] [assignee]
---

审查PR #$1,优先级$2,分配给$3。
专注于安全、性能和代码风格。

用法: /review-pr 456 high alice$1="456", $2="high", $3="alice"

何时使用位置参数:

  • 参数有不同角色(ID、优先级、所有者)
  • 需要默认值:${3:-unassigned}
  • 在整个命令中单独引用参数

前端配置

所有选项都是可选的;命令无需前端配置即可工作。

字段 目的 示例
description /help中显示(SlashCommand工具必需) "修复安全问题"
argument-hint 自动完成参数语法提示 "[issue] [priority]"
allowed-tools 此命令可以调用的工具 Bash(git add:*), Bash(git status:*)
model 为此命令覆盖默认模型 "claude-3-5-haiku-20241022"
disable-model-invocation 阻止SlashCommand工具触发 true

完整前端配置示例

---
description: 使用暂存更改创建git提交
argument-hint: [message]
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
model: claude-3-5-haiku-20241022
---

创建git提交,消息:$ARGUMENTS

Bash执行与文件引用

使用!运行Bash命令

前缀内联命令以!在命令运行前执行。需要allowed-tools包含Bash

---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*), Bash(git log:*)
description: 创建git提交
---

## 上下文

- 当前状态:!`git status`
- 暂存更改:!`git diff --cached`
- 最近提交:!`git log --oneline -5`

## 你的任务

创建一个总结更改的单个提交。

Bash命令的输出包含在提示上下文中。

使用@引用文件

在命令中包含文件内容:

审查@src/utils/helpers.js中的实现

比较@src/old-version.js与@src/new-version.js

使用标准文件引用(例如,@docs/@src/)。


模式示例

示例1:基于优先级的问题修复

---
description: 修复带有优先级级别的问题
argument-hint: [issue-number] [priority-level]
---

修复GitHub问题 #$1,优先级"$2"。

步骤:
1. 理解问题上下文
2. 编写最小化、专注的修复
3. 考虑边缘情况
4. 确保测试通过

用法: /fix-issue 42 high


示例2:Bash驱动的代码审查

---
allowed-tools: Bash(git diff:*), Bash(git log:*)
description: 审查最近提交的代码质量
argument-hint: "[number-of-commits]"
---

## 上下文

最近更改:
!`git log --oneline -${1:-5}`

完整差异:
!`git diff HEAD~${1:-5}...HEAD`

## 你的任务

提供代码质量审查,专注于可读性、性能和最佳实践。

用法: /review-commits 3 → 审查最后3个提交


示例3:多参数配置命令

---
description: 设置功能标志进行测试
argument-hint: feature [enable|disable] [environment]
---

配置功能"$1"在$3环境中$2。

验证:
- 功能标志存在于@src/config/features.ts中
- 环境有效(dev、staging、production)
- 更改在部署前测试

用法: /feature dark-mode enable staging


SlashCommand工具集成

SlashCommand工具允许Claude以编程方式调用您的自定义命令。

启用自动调用

添加到CLAUDE.md或项目指令:

适当时,使用/optimize分析代码性能。
修复错误时,使用/fix-issue与问题编号。

工具访问要求

  1. 命令必须有description前端配置
  2. 命令不能有disable-model-invocation: true
  3. 用户必须在权限中允许SlashCommand工具

禁用特定命令

阻止Claude自动调用命令:

---
disable-model-invocation: true
description: 仅手动审查
---

您的命令内容...

权限规则

通过/permissions精细控制:

SlashCommand:/commit         # 精确匹配:仅/commit
SlashCommand:/review-pr:*    # 前缀匹配:/review-pr带任意参数

拒绝SlashCommand以禁用所有自动调用。


最佳实践

做:

  • 使用描述性名称匹配功能(例如,/optimize/security-review
  • 包含description以便通过/help和SlashCommand工具发现
  • 添加argument-hint用于清晰使用模式
  • 保持命令专注于单一责任
  • 使用Bash执行用于变化的上下文(git状态、时间戳)

不做:

  • 嵌入属于代码的静态内容(改用文件引用)
  • 创建没有描述的命令(破坏工具集成)
  • 使用过多位置参数(>3变得难记)
  • 假设工具可用而不声明allowed-tools

内置Slash命令(参考)

您免费获得的基本命令:

命令 目的
/help 列出所有命令(内置+自定义)
/config 打开设置界面
/status 显示版本、模型、账户
/cost 令牌使用统计
/model 切换AI模型
/memory 编辑CLAUDE.md
/rewind 回滚对话或代码
/clear 清除历史
/agents 管理自定义AI子代理
/mcp 管理MCP服务器连接

工作流集成

在CLAUDE.md或项目指令中:

## 自定义命令

使用这些命令加速开发:

- `/optimize [file]` — 分析代码性能
- `/security-review [file]` — 检查漏洞
- `/commit [message]` — 创建原子提交
- `/test [suite]` — 运行测试并聚焦

在对话中:

> 我将使用/optimize检查此函数的性能问题。

Claude识别斜杠,如果启用SlashCommand工具,可能自动调用。


另见

  • MCP Slash命令:由MCP服务器暴露的命令(模式:/mcp__server__prompt
  • 插件命令:来自已安装插件的命令(模式:/plugin-name:command或仅/command
  • 交互模式:键盘快捷键和输入模式
  • 权限:精细的工具和命令访问控制