開発 開発・自動化

Claude Codeのスラッシュコマンドで作業を自動化する方法

· SEADICE STUDIO

Claude Codeのスラッシュコマンドは、.claude/commands/コマンド名.mdにMarkdownを置くだけで作れる。API料金なし・サブスク範囲内で動き、繰り返し作業の自動化に最も効果的だ。

SEADICEでは/gachaというコマンドを作り、ニッチリサーチからFlutterアプリのコード生成、サイトへの追加、デプロイまでを1コマンドで実行できるようにした。この記事では、その仕組みと実際の使い方をFAQ形式で詳しく解説する。

スラッシュコマンドとは何か

チャット欄で/コマンド名と打つと、あらかじめ用意したMarkdownファイルのプロンプトが自動実行される機能だ。毎回同じ手順の作業をコマンド化して呼び出せる。

プロンプトが長くなってきた処理や、毎回同じ手順で実行する作業に特に効果的だ。

仕組み

.claude/commands/にMarkdownを置くだけで認識される。ファイル名がそのままコマンド名になり、グローバル設定は~/.claude/commands/に置く。

.claude/
  commands/
    gacha.md   → /gacha で実行
    deploy.md  → /deploy で実行
    review.md  → /review で実行

ファイルの中身がそのままClaudeへのプロンプトとして使われる。Markdownで書けるので、手順を番号付きリストで整理したり、コードブロックでサンプルを示したりできる。

よくある質問(FAQ)

コマンド数の制限はなく、プロジェクトごとに独立した設定が持てる。API料金は発生せず、Claude.ai Proサブスクの範囲内で動作する。

スラッシュコマンドはどこに置けばいい?

プロジェクトローカルなら.claude/commands/コマンド名.md。全プロジェクトで使いたい場合は~/.claude/commands/コマンド名.mdに置くとグローバルになる。

いくつまで登録できる?

制限はない。.claude/commands/に置いたMarkdownファイルの数だけコマンドが増える。

プロジェクトごとに別々のコマンドを持てる?

持てる。各プロジェクトの.claude/commands/は独立しているので、プロジェクトに合わせた専用コマンドを設定できる。グローバル(~/.claude/commands/)と併用も可能。

コマンドの中身はどう書けばいい?

普通のMarkdownで書く。手順をステップで並べたり、コードブロックでサンプルを示したり、「このフォルダにファイルを作る」「このコマンドを実行する」といった具体的な指示を書けばそのとおりに動く。Claudeへのプロンプトと同じ書き方で問題ない。

コマンドを編集するには?

VS Codeなどのエディタで.claude/commands/コマンド名.mdを直接開いて編集するだけ。Claude Code上でファイルを編集してもいい。変更は次回コマンドを実行したときから反映される。

コマンドをGitで管理できる?

できる。.claude/commands/はプロジェクトのファイルなので、そのままgit管理できる。チームで共有したり、バージョン管理したりするのに向いている。

Claude APIの料金はかかる?

かからない。スラッシュコマンドはClaude Codeのサブスクリプション(Claude.ai Pro/Max)の範囲内で動く。API料金は発生しない。

実行中に確認プロンプト(Yes/No)が頻繁に出る。減らせる?

減らせる。.claude/settings.jsonpermissions.allowによく使うコマンドのパターンを登録しておくと自動承認される。"Bash(flutter build *)""Bash(firebase deploy *)"のように書く。

コマンドの中でファイルを作ったり編集したりできる?

できる。Claude Codeが持っているすべての能力(ファイル作成・編集・Bash実行・Web検索など)をコマンドの中でそのまま使える。プロンプトに「このファイルを作れ」と書けば作るし「このコマンドを実行しろ」と書けば実行する。

コマンドの途中で止めることはできる?

できる。Claude Codeの通常の操作と同様に、実行中にEscキーや中断ボタンで止められる。途中まで生成したファイルはそのまま残る。

コマンドに引数を渡せる?

渡せる。/gacha 釣りのようにコマンドの後ろに追加テキストを書くと、Claude Codeがそれを文脈として読み取って処理する。プロンプトの中で$ARGUMENTSという変数名で参照することも可能。

自動でデプロイまでやらせて大丈夫?

用途次第。SEADICEの/gachaは最後にgit commitとfirebase deployまで自動実行する。ただし、デプロイ前に生成物を確認したい場合はコマンドからデプロイ部分を外して手動でやる設計にした方が安全。

コマンドが認識されない場合は?

Claude Codeを再起動すると解決することが多い。コマンドはClaude Code起動時に読み込まれるため、新しく追加した場合は再起動が必要なことがある。

SEADICEの/gachaコマンドの実例

/gachaコマンド1つで、ニッチリサーチからHTML生成・Flutterコード作成・デプロイまで10ステップを全自動化している。手作業では数時間かかる工程だ。

SEADICEでは以下の処理を1コマンドで実行できるようにした。

  1. WebSearchで日本のApp Storeの競合が少いニッチを調査
  2. 既存のp/tools/と重複しないニッチを選定
  3. ニッチのランディングページHTML(p/tools/{slug}/)を生成
  4. アプリ詳細ページHTML×3(App Storeメタデータ付き)を生成
  5. プライバシーポリシーHTML×3を生成
  6. p/tools/index.htmlp/index.htmlにカードを追加
  7. Flutterアプリのコード(lib/main.dartpubspec.yaml)×3を生成
  8. flutter createでBundle ID(win.seadice.*)を自動設定
  9. firebase.jsonにrewriteを追加
  10. git commit & firebase deploy

これだけの処理を毎回手作業でやっていたら数時間かかる。/gachaと打つだけで全部終わる。

どんな作業をコマンド化すべきか

毎回同じ手順で実行する・ステップが多い・複数ファイルを一度に作成する——この3つに当てはまる作業がコマンド化の最適候補だ。

逆に、毎回内容が大きく変わる作業や、一度しかやらない作業はコマンド化しても意味が薄い。

まとめ

スラッシュコマンドはMarkdownを1つ置くだけで作れ、API料金なし・サブスク範囲内で繰り返し作業を完全自動化できる。

プロンプトを丁寧に書き込むほど精度が上がり、一度作ってしまえば毎回ゼロから指示を出す必要がなくなる。まず小さなコマンドから始めて、少しずつ育てていくのがおすすめだ。

← ブログ一覧へ