跳到主要內容
AI 與工具

AI 相關紀錄 v6|Commands / Slash Commands:CLI 裡的 `/` 指令是什麼?

介紹 Claude Code 與 Codex CLI 的 Slash Commands,整理常用內建指令、自訂指令與 Skills 的差異。

W

前面已經整理過:

  • CLAUDE.md / AGENTS.md
  • .claude/ / .codex/
  • settings / config
  • Rules

接下來是在實際使用 Claude Code、Codex CLI 時很常碰到的:

/xxx

例如:

/init
/help
/model
/compact

這類通常稱為 Slash Commands。

可以先簡單理解成:

在互動式 CLI Session 裡,快速控制目前工作階段或執行特定功能的指令。


Slash Commands 可以做什麼?

不同工具提供的 Slash Commands 不完全一樣。

常見用途包括:

初始化專案設定
切換 Model
查看 Session 狀態
整理 Context
管理權限
執行 Code Review
管理 MCP
執行 Skill

例如:

/model

通常用來切換目前 Session 使用的 Model。

而:

/compact

則可以在對話變長時,壓縮目前 Context,保留重要資訊並釋放 Context Window。

所以 Slash Commands 比較像:

目前正在使用 CLI
        ↓
想快速執行某個功能
        ↓
輸入 /xxx

Claude Code

Claude Code 本身提供很多內建 Slash Commands。

例如:

/init
/help
/model
/compact
/permissions
/mcp
/agents
/skills
/review

輸入:

/

就可以查看目前環境中可使用的 Commands。

實際能看到哪些指令,也可能依 Claude Code 版本、平台或方案有所不同。


/init

前面已經介紹過:

/init

第一次進入專案時,可以讓 Claude Code 幫忙建立:

CLAUDE.md

作為專案工作指示的起點。


/model

例如:

/model

可以切換目前 Session 使用的 Model。

不用離開 Claude Code 再重新啟動。


/compact

當 Session 越來越長,Context 也會跟著增加。

這時可以使用:

/compact

讓 Claude 將目前對話整理成較精簡的摘要,再繼續工作。

可以簡單理解:

很長的 Session
↓
/compact
↓
整理重要資訊
↓
釋放部分 Context
↓
繼續目前工作

Claude Code 可以建立自己的 /xxx

除了內建 Command,Claude Code 也可以建立自己的工作指令。

例如以前很常使用:

.claude/
└─ commands/
   └─ review.md

假設 review.md 裡寫著:

請檢查目前修改內容:

1. 是否有明顯 Bug
2. 是否影響既有功能
3. 是否缺少錯誤處理
4. 是否有不必要的修改

就可以在 Claude Code 中使用:

/review

執行這份 Prompt。

這適合把:

經常重複輸入的 Prompt

變成可以反覆使用的 Command。


.claude/commands/ 現在還能用嗎?

可以。

例如:

.claude/commands/review.md

仍然可以建立:

/review

不過 Claude Code 現在已經把 Custom Commands 的能力整合進 Skills。

所以如果現在才開始建立新的工作流程,官方比較建議使用:

.claude/
└─ skills/
   └─ review/
      └─ SKILL.md

Claude Skill 也可以直接變成 Slash Command

假設建立:

.claude/
└─ skills/
   └─ review-code/
      └─ SKILL.md

那這個 Skill 可以直接使用:

/review-code

呼叫。

所以可以先這樣理解:

舊方式

.claude/commands/review.md
↓
/review


現在建議

.claude/skills/review/SKILL.md
↓
/review

兩種方式目前都能使用。

但 Skills 可以加入更多功能,例如:

  • Supporting files
  • Script
  • Reference
  • Frontmatter 設定
  • 控制是否允許 AI 自動呼叫
  • 指定 Agent
  • 指定工具

所以新的重複工作流程,比較適合直接從 Skill 開始。


內建 Slash Command 和 Skill 有什麼差別?

雖然使用起來可能都是:

/xxx

但背後其實不一定是同一種東西。

例如:

/help
/model
/compact

這類主要是 Claude Code 本身提供的功能。

而自己建立:

/review-code
/deploy
/check-api

則可能是 Skill。

可以先簡單理解:

內建 Slash Command
↓
控制 Claude Code 本身


Skill
↓
定義可以重複使用的 AI 工作流程

使用方式看起來相似,但目的不太一樣。


Codex CLI

Codex CLI 同樣提供 Slash Commands。

例如:

/init
/model
/status
/compact
/review
/skills
/mcp
/permissions

一樣可以直接輸入:

/

打開目前可用的 Slash Command 清單。


/init

Codex 的:

/init

用途和 Claude Code 類似,但產生的文件不同。

Claude Code:

/init
↓
CLAUDE.md

Codex:

/init
↓
AGENTS.md

所以同樣叫 /init,實際產生的是各自工具使用的專案指示文件。


/model

例如:

/model

可以切換目前 Codex Session 使用的 Model。


/status

/status

可以查看目前 Session 的一些狀態,例如:

  • Model
  • Approval
  • Writable roots
  • Context 使用狀況

在想確認:

現在 Codex 到底是用什麼設定執行?

時很方便。


/review

Codex 還有:

/review

可以讓 Codex Review 目前 Working Tree 的修改。

例如完成一個功能後,可以先:

/review

再搭配:

/diff

查看實際修改內容。


/mcp

/mcp

可以查看目前 Codex Session 可以使用的 MCP Server 與 Tool。

如果之後開始加入外部工具,這個 Command 會很常看到。


Codex 的 Skill 呼叫方式和 Claude 不太一樣

這裡是我覺得最容易搞混的地方。

Claude Code 的 Skill:

.claude/skills/review/SKILL.md

可以直接使用:

/review

但是 Codex 的 Skill 不是直接變成 /skill-name。

Codex 可以使用:

/skills

開啟 Skill 選擇器。

例如:

/skills
↓
選擇需要的 Skill
↓
將 Skill 加入目前工作

另外,也可以直接使用:

$skill-name

指定某個 Skill。

例如:

$skill-creator

或:

$my-review-skill

所以兩邊的差異可以簡單記成:

Claude Code

Skill
↓
/skill-name

而 Codex:

Codex

Skill
↓
/skills

或

$skill-name

這也是為什麼不能直接把 Claude Code 的 Slash Command 用法完全套到 Codex 上。


Codex 需要自己建立 Slash Command 嗎?

如果目的是:

建立一套可以重複使用的 AI 工作流程

目前比較適合使用:

Skill

例如:

.agents/
└─ skills/
   └─ code-review/
      └─ SKILL.md

然後透過:

/skills

或:

$code-review

來使用。

所以一般不需要另外設計一套:

/custom-command

格式來保存重複 Prompt。

可以先把兩個概念分開:

Slash Commands
↓
控制目前 CLI / Session


Skills
↓
保存可以重複使用的 AI 工作流程

Claude Code / Codex 簡單比較

功能Claude CodeCodex
查看可用 Command//
初始化專案規則/init → CLAUDE.md/init → AGENTS.md
切換 Model/model/model
壓縮 Context/compact/compact
Code Review/review/review
查看 Skill/skills/skills
自訂重複工作流程SkillSkill
直接指定 Skill/skill-name$skill-name 或 /skills
舊式 Custom Command.claude/commands/*.md不使用相同結構

Slash Command 和 Skill 怎麼分?

我自己會先用一個很簡單的方式判斷。

如果是:

我現在想控制 CLI 本身。

例如:

切換 Model
查看狀態
壓縮 Context
調整 Permission
初始化專案

通常使用 Slash Command。

例如:

/model
/status
/compact
/permissions
/init

如果是:

我有一套工作流程,之後想重複使用。

例如:

Code Review 流程
建立 Commit 流程
部署流程
檢查 API 流程
產生文件流程

比較適合做成:

Skill

最後簡單整理

Slash Commands 可以先理解成:

/xxx
↓
快速控制目前 CLI Session
或執行某個功能

例如:

/init
/model
/compact
/review
/status

如果只是偶爾需要某個功能,直接使用內建 Command 就好。

如果某段 Prompt 或工作流程開始一直重複:

每次都重新貼 Prompt
        ↓
開始覺得麻煩
        ↓
整理成 Skill

Claude Code:

.claude/skills/
↓
可以使用 /skill-name

Codex:

.agents/skills/
↓
使用 /skills 選擇

或

$skill-name

至於 Claude Code 舊有的:

.claude/commands/

目前仍然能使用,不需要急著把舊專案全部改掉。

但如果現在才開始建立新的重複工作流程,優先從 Skills 開始。

分享這篇