跳到主要内容

自定义斜杠命令

进阶

一个自定义斜杠命令把你反复输入的提示打包成一个 /word。定义一次,永久复用(还能分享给你的团队)。

What you'll learn
  • 解释什么是自定义斜杠命令,以及为什么它胜过反复输入提示
  • 把一个 Markdown 文件放进正确的目录来创建一个命令
  • 根据位置区分项目命令和个人命令
  • 使用各种构建块:$ARGUMENTS、嵌入的 bash 输出、文件引用和前置元数据
  • 为给定任务在斜杠命令、技能和子智能体之间做出选择

它们如何工作

一个命令就是一个 Markdown 文件。把它放进你的命令目录,它的文件名就成了命令。文件的正文就是你调用它时 Claude 运行的提示。

文件的位置决定了它的作用范围:

Guided walkthrough1 of 3
  1. 把它保存为 .claude/commands/changelog.md → /changelog。它存在于仓库里,所以整个团队都能用上。
Pro tip
  • 决定命令名称的是文件名,而不是前置元数据。changelog.md 永远是 /changelog。

一个最小示例

下面是一个完整的命令文件。前置元数据里放着 description;它下面的所有内容就是提示。

commit.md —— 起草一条 Conventional Commit

---
description: Draft a Conventional Commit message from the staged diff
---

Look at the staged changes with `git diff --cached` and write a single
Conventional Commit message (feat/fix/docs/refactor/chore). Output only the
message, no preamble.

把它保存为 commit.md,那么 /commit 每次都会做这件事。(文件叫什么就给它取什么名字——同样的正文保存为 changelog.md 就会是 /changelog。)

实用的构建块

四种要素把一个静态提示变成一个灵活的命令:

构建块它的作用
$ARGUMENTS注入用户在命令之后输入的内容。/review src/auth.ts → 该路径会落入你的提示。
运行 bash 并嵌入输出命令可以包含 shell 输出(例如当前的 diff),让 Claude 基于实时状态来行动。
引用文件指向某些文件以包含它们的内容。
前置元数据description(显示在菜单中)以及其他选项。

参数、bash 和文件引用的确切语法见官方文档

值得"偷"来的命令

我们的斜杠命令库里有一套起始命令:提交信息、PR 描述、代码审查、变更日志、脚手架式生成组件。

命令 vs 技能 vs 子智能体

打包工作有三种方式——区别在于由谁触发以及运行时有多隔离

  • 斜杠命令——由你按需触发一个已知的工作流。
  • 技能——Claude 在相关时自动加载专长。
  • 子智能体——把一大块工作委派给一个隔离的智能体。
按 Enter 或空格键翻转卡片。使用左右方向键在卡片之间切换。已显示术语。
1 / 6

自我检测

0/4
  1. 你要把斜杠命令保存在哪里,整个团队才能在仓库里用上它?
  2. 什么决定了一个斜杠命令的名称?
  3. $ARGUMENTS 在一个命令里做什么?
  4. 哪一种打包方式是 Claude 在相关时自动加载,而不是由你触发的?

下一步