Slash Command(スラッシュコマンド)とは?Claude Codeで定型作業を自動化するショートカット機能を徹底解説

Slash Command(スラッシュコマンド)とは

Slash Command(スラッシュコマンド)とは、チャット欄や入力欄で先頭に「/」(スラッシュ)を入力することで呼び出せる、定型のコマンド・プロンプト・アクションのこと。Discord、Slack、Microsoft Teams、そしてAnthropicのClaude Codeなど、さまざまなツールで採用されている入力ショートカット機構です。

身近な例えで言えば、パソコンのキーボードショートカット(Ctrl+Cでコピー等)のチャット版と思えばわかりやすいでしょう。よく使う定型作業を「/コマンド名」として登録しておけば、わずか数文字の入力で同じ処理を何度でも呼び出せます。Claude Codeの場合、例えば /init と打つだけでプロジェクトのCLAUDE.md初期化、/review でプルリクのレビューが走る、といった使い方ができます。

Slash Commandの読み方

スラッシュコマンド

スラッシュ・コマンド

/コマンド

Slash Commandの仕組み

Slash Commandは、チャットUIの入力パーサが行頭の「/」を検出した時点でコマンドモードに切り替わり、続く文字列をコマンド名として解釈します。システムは登録済みコマンド一覧と照合し、該当するコマンドの処理(プロンプト展開、APIコール、Webhook発火など)を実行します。ここが重要なポイントですが、ツールによって「/」の扱いが若干異なります。

主要プラットフォームでの扱いの違い

プラットフォーム 用途 代表例
Claude Code プロンプト展開・スキル呼び出し /init, /review, /clear
Discord Botの操作・各種APIアクション /play, /kick, /tts
Slack アプリ連携・Webhook発火 /remind, /jira
Microsoft Teams ステータス変更・会議設定 /available, /call
Notion ブロック挿入・書式設定 /heading, /todo

内部処理の流れ

Slash Commandの処理フロー

① 「/」入力
コマンドモード
② 候補表示
オートコンプリート
③ パラメータ入力
引数を受け取る
④ 処理実行
結果を返す

Slash Commandの使い方・実例

Claude Codeでの自作コマンド

Claude Codeでは、プロジェクト単位で .claude/commands/ ディレクトリにMarkdownファイルを置くだけで、独自のスラッシュコマンドを追加できます。ファイル名がコマンド名になります。

# .claude/commands/security-review.md
セキュリティ観点で現在のブランチをレビューしてください。

以下の観点で確認すること:
- SQLインジェクション・XSS・CSRFの余地
- 機密情報のハードコード
- 認証認可ロジックの抜け

優先度(高・中・低)付きで箇条書き報告してください。

このファイルを置くと、チャット欄で /security-review と入力するだけで、上記プロンプトが自動的に送信されます。チーム共通のコマンドは .claude/commands/、個人用は ~/.claude/commands/ に配置する運用が定着しつつあります。

Discord Botでのスラッシュコマンド登録(Python例)

import discord
from discord import app_commands

intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)

@tree.command(name="hello", description="挨拶を返します")
async def hello(interaction: discord.Interaction):
    await interaction.response.send_message(
        f"こんにちは、{interaction.user.display_name}さん!"
    )

@client.event
async def on_ready():
    await tree.sync()
    print(f"Logged in as {client.user}")

client.run("YOUR_BOT_TOKEN")

Discord APIでは、スラッシュコマンドは事前にエンドポイントへ登録する必要があり、tree.sync() でグローバル同期が走ります。登録完了後、Discordクライアント上で /hello を入力すると候補が表示されます。

Slack Appでのスラッシュコマンド

Slack Appの場合、api.slack.comの設定画面で「Slash Commands」機能を有効化し、コマンド名(例: /deploy)とリクエストURLを登録します。ユーザーが入力するとSlackサーバーから指定URLへPOSTが飛び、アプリが応答する仕組みです。実務ではデプロイ起動、タスク作成、勤怠報告などの業務フローに組み込まれることが多いです。

Slash Commandのメリット・デメリット

メリット

✅ 学習コストが低い

「/」だけで候補が一覧表示されるため直感的。

✅ 再利用性が高い

よく使うプロンプトを何度でも同じ品質で呼び出せる。

✅ 共有しやすい

Markdownファイルとしてリポジトリに含めれば、チーム全員で共有可能。

✅ UI統合

チャットUIを離れずに外部システム連携ができる。

デメリット

⚠️ 乱立すると管理が大変

数が増えると探せなくなり、重複も発生しやすい。

⚠️ プラットフォーム依存

定義や挙動がツールごとに微妙に異なる。

⚠️ 変更の周知

コマンド仕様を変えるとチーム全員への告知が必要。

⚠️ 誤爆リスク

「/」で始まる他のテキスト(パス等)との衝突に注意。

Slash CommandとAgent Skillsの違い

Slash CommandとAnthropicのAgent Skillsは似ていますが、役割が異なります。スラッシュコマンドは「手動呼び出しのプロンプトショートカット」、Agent Skillsは「モデル自身が必要と判断して自動起動する手順書」と覚えておくと整理しやすいでしょう。

観点 Slash Command Agent Skill
起動トリガー ユーザーが /名前 を明示入力 AIが文脈から自律的に選択
中身 固定プロンプト or アクション SKILL.md + 追加資料
柔軟性 入力時に決まる固定処理 判断フローに応じて変化
典型用途 定型レビュー、初期化、整形 ドキュメント作成、データ処理

よくある誤解

誤解1「スラッシュコマンドはClaude Code独自の機能」

いいえ、スラッシュコマンドはDiscord、Slack、Teams、Notion、Mattermostなど多くのツールが以前から採用している一般的なUIパターンです。Claude Codeは比較的新しいですが、仕組み自体は長年の蓄積があります。

誤解2「コマンド実行はコマンド名だけで完結する」

多くのスラッシュコマンドは引数(オプション)を取ります。例: /remind me at 10am "stand-up" のように、引数が続くのが一般的です。Discord APIでは引数のスキーマ(型・必須/任意)を事前に定義します。

誤解3「すべてのスラッシュコマンドが同じ書き方」

実際にはツールごとに定義方法が大きく違います。Claude CodeはMarkdown、DiscordはJSON/コード、Slackは管理画面フォームからの登録というふうに形式が分かれているので、使うツールの仕様を都度確認する必要があります

実務での活用シーン

Claude Codeでのレビュー自動化

/review コマンドを登録しておけば、プルリクのレビューを一貫した観点で何度でも繰り返せます。コーディング規約・命名規則・テストカバレッジなど、チームで決めた観点を漏らさずチェックできるのが強みです。

SlackでのCI/CD起動

Slack Appで /deploy staging のようなコマンドを登録し、社内Webhookを介してGitHub Actionsを起動する運用が一般的です。チャット上で完結するため、チーム全員にデプロイ状況が見える透明性も得られます。

Notionでの高速編集

ドキュメント作成時に /code/table/todo などを使えば、マウス操作なしでブロックを挿入できます。ライター・技術文書執筆者にとっては生産性に直結する機能です。

AI駆動のカスタム開発ワークフロー

Claude Codeの .claude/commands/ にプロジェクト固有のテンプレート(テスト自動生成、ドキュメント更新、リリースノート作成)を入れておき、開発メンバー全員が同じ品質で反復作業をこなすパターンが広がっています。

よくある質問(FAQ)

Q1: Claude Codeのコマンド定義に引数を渡せますか?

はい。Markdownの中で $1$ARGUMENTS のようなプレースホルダを使うことで、コマンド呼び出し時の引数を参照できます。

Q2: スラッシュコマンドは無効化できますか?

プラットフォーム次第です。Discordはサーバー権限で制限可能、Slackは管理者が無効化できます。Claude Codeの場合は該当Markdownファイルを削除するだけです。

Q3: 個人用とチーム用を分けたい場合は?

Claude Codeでは、個人用は ~/.claude/commands/、プロジェクト用は ./.claude/commands/ に配置すれば自動的に分離されます。チームで共有したいコマンドはリポジトリにコミットします。

Q4: スラッシュコマンドの名前衝突はどう解決される?

多くのツールはローカル(プロジェクト)が優先されます。Claude Codeも同様に、プロジェクト単位のコマンドがグローバルより優先されます。

Q5: スラッシュコマンドとショートカットキーの違いは?

ショートカットキーはキーボード組み合わせ、スラッシュコマンドはチャット入力で呼び出すコマンドです。両者は共存可能で、Slackや各種ツールでは両方提供されています。

まとめ

  • Slash Command(スラッシュコマンド)は「/」から始まる入力でアクションを呼び出す仕組み
  • Claude Code、Discord、Slack、Teams、Notionなど多様なプラットフォームで採用
  • Claude Codeでは .claude/commands/ にMarkdownを置くだけで自作可能
  • メリット: 学習コストの低さ・再利用性・共有しやすさ
  • デメリット: 乱立管理・プラットフォーム依存・誤爆リスク
  • Agent Skillsと違い、ユーザーが明示的に呼び出す点が特徴
  • チームで共通のコマンドセットを持つことで作業の質を平準化できる

参考文献・出典

📚 参考文献・出典