Slide 1

Slide 1 text

カスタムスラッシュコマンドを マスターして開発効率を上げよう TAAT

Slide 2

Slide 2 text

目次 スラッシュコマンドとは? 1 カスタムスラッシュコマンドを作る 2 カスタムスラッシュコマンドの活用例 3

Slide 3

Slide 3 text

3 2 目次 スラッシュコマンドとは? 1 カスタムスラッシュコマンドを作る カスタムスラッシュコマンドの活用例

Slide 4

Slide 4 text

スラッシュコマンドとは? Claude Codeのインタラクティブセッション中に 、/で始まるコマンドを入力する ことで、特定の機能を素早く実行できる 仕組み /add-dir /agents /bug /clear /compact /config /cost /doctor /help /init /login /logout /mcp /memory /model /permissions /pr_comments /review /status /terminal-setup /vim 組み込みスラッシュコマンド https://docs.anthropic.com/ja/docs/claude-code/slash-commands

Slide 5

Slide 5 text

組み込みスラッシュコマンド 専門的なタスク用のサブエージェントを作成・管理 /agents

Slide 6

Slide 6 text

組み込みスラッシュコマンド 会話履歴(コンテキストウィンドウ)をクリアする 作業の精度を上げる・パフォーマンス低下を防ぐためにも、タスクごとにクリアさ せると良い /clear

Slide 7

Slide 7 text

組み込みスラッシュコマンド 会話を圧縮(フォーカスする内容を指定できる) /compact

Slide 8

Slide 8 text

組み込みスラッシュコマンド MCPサーバー接続と OAuth認証を管理 /mcp

Slide 9

Slide 9 text

組み込みスラッシュコマンド ProjectやUserのCLAUDE.mdメモリファイルを編集 ※インポートしているmdファイルもリストアップ /memory

Slide 10

Slide 10 text

2 1 3 目次 スラッシュコマンドとは? カスタムスラッシュコマンドを作る カスタムスラッシュコマンドの活用例

Slide 11

Slide 11 text

カスタムスラッシュコマンドを作る .claude/commands/にMarkdownファイルを配置することで、個人やプロ ジェクトで使える独自のコマンドを作成できる よく使うプロンプトをカスタムスラッシュコマンドにすることで、作業効率が上が る! 構文 / [arguments] # : Markdownファイル名から派生した名前(.md拡張子なし) # [arguments]: コマンドに渡されるオプション引数

Slide 12

Slide 12 text

コマンドタイプ プロジェクトコマンド リポジトリに保存され、チームと共有されるコマンド ※コマンドの補完や/helpでリストされる時、コマンド説明の後に(project)と表示される 場所: .claude/commands/

Slide 13

Slide 13 text

コマンドタイプ 個人コマンド すべてのプロジェクトで利用可能なコマンド ※コマンドの補完や/helpでリストされる時、コマンド説明の後に(user)と表示される 場所: ~/.claude/commands/ ※userではなくproject, gitignoredと表示されているのはバグっぽい?

Slide 14

Slide 14 text

引数 $ARGUMENTS $ARGUMENTSプレースホルダーは、コマンドに渡された全ての引数をキャプ チャする # test.md 以下の内容を出力してください 引数は $ARGUMENTS です > /test 123 high-priority 引数は 123 high-priority です

Slide 15

Slide 15 text

引数 $1, $2 シェルスクリプトと同じような 位置パラメータ を使って、特定の引数に個別にアク セスする # test.md 以下の内容を出力してください number: $1 priority: $2 assignee: $3 > /test 123 high TAAT number: 123 priority: high assignee: TAAT

Slide 16

Slide 16 text

引数 プロンプトテンプレート プロンプトテンプレート の変数を使った方法でも、 Key-Value形式で引数を受け 取れそう # test.md 以下の内容を出力してください number: {{ number }} priority: {{ priority }} assignee: {{ assignee }} > /test priority:high number:123 assignee:TAAT number: 123 priority: high assignee: TAAT

Slide 17

Slide 17 text

Bashコマンド実行 !プレフィックスを使って、スラッシュコマンドが実行される前に bashコマンドを実 行でき、出力はコマンドコンテキストに含まれる --- allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*) description: Create a git commit --- ## Context - Current git status: !`git status` - Current git diff (staged and unstaged changes): !`git diff HEAD` - Current branch: !`git branch --show-current` - Recent commits: !`git log --oneline -10` ## Your task Based on the above changes, create a single git commit.

Slide 18

Slide 18 text

フロントマター コマンドファイルは YAML Front Matterをサポートしていて、コマンドのメタデー タを記述できる ● allowed-tools: コマンドが使用できるツールのリスト(デフォルト では会話から継承) ● argument-hint: コマンドに渡す引数、コマンドの自動 補完で表示される ● description: コマンドの簡潔な説明(デフォルトではプロンプトの最初の行) ● model: 指定するモデル (デフォルトでは会話から継承) --- allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*) argument-hint: [message] description: Create a git commit model: claude-3-5-haiku-20241022 --- Create a git commit with message: $ARGUMENTS

Slide 19

Slide 19 text

3 2 1 目次 スラッシュコマンドとは? カスタムスラッシュコマンドを作る カスタムスラッシュコマンドの活用例

Slide 20

Slide 20 text

カスタムスラッシュコマンドの活用例 実際に活用している便利なカスタムスラッシュコマンドについて紹介 ● Draft PRを作る ● セッションの内容をもとに調査レポートを作る ● ビルド&実行(iOS) ● Renovateによるライブラリ更新の妥当性チェック

Slide 21

Slide 21 text

Draft PRを作る ベースブランチを指定して、 PRテンプレートを参考に Draft PRを作る ブランチ間の差分を元に概要などを書いてくれるので便利 # open-draft-pull-request.md --- argument-hint: [Base branch name] description: Create a Draft PR --- 現在のブランチと $ARGUMENTS のベースブランチとの変更内容を整理して、`.github/pull_request_template.md`を参考に Draft PRを作成してください

Slide 22

Slide 22 text

# research-report.md --- description: Create a research report based on current session --- ## 役割 あなたはベテランの技術系編集者です。 セッション内の内容を整理して、**Markdownファイル**として調査レポートをまとめることが目標です。 ... ## 図の作成 図を作成する場合、**Mermaid記法**を使って作成する ... セッションの内容をもとに調査レポートを作る shibayu36さんのブログ を参考に、セッションでのコード調査内容をもとに、調 査レポートを作成させて Obsidianに保存する 図の作成では Mermaid記法を使わせていて、 いい感じのチャートやシーケンス 図を作ってくれる

Slide 23

Slide 23 text

# build-and-run.md --- description: Build and run the App --- @../BuildAndRun.md の内容に従ってビルドを行い、ビルド成功したら実機デバイスまたはシミュレータでアプリを実行してください # BuildAndRun.md ## 対象デバイス IDの取得 実機とシミュレータのデバイスIDは異なるため、それぞれ以下のコマンドで取得する ... ビルド&実行(iOS) iOS開発で自動で利用可能なデバイス(実機 or シミュレータ)を判定 してビルド・ 実行する XcodeBuildMCPなどのMCPサーバーもあるが、実機やシミュレータを自動判 定してくれなかったので、自前で BuildAndRun.mdを用意している

Slide 24

Slide 24 text

# library-update-check.md --- argument-hint: [PR number or URL] description: Check the PR of library update by Renovate --- あなたはエキスパートiOSアプリエンジニアです ../../RenovateLibraryUpdateGuide.mdを参考にライブラリのアップデートが問題ないか確認してください 1. 基本情報の収集 - `gh pr view ` でPR詳細とリリースノートを確認 - 該当ライブラリのGitHubリポジトリでChangelog/Release notesを調査 - 修正内容(bug fix, feature, breaking change)を分類 ... PR number or URL: $ARGUMENTS Renovateによるライブラリ更新の妥当性チェック Android先行でiOSでも導入したもので、 Renovateが作ったライブラリ更新 PRによる変更内容や影響度、ビルド結果を調査、マージしても問題ないかを チェックさせて、PRにもコメントで追記させている

Slide 25

Slide 25 text

まとめ ● スラッシュコマンドは 特定の機能を素早く実行できる仕組み で、組み込みの コマンドもあり、積極的に使うと良い ● .claude/commands/にMarkdownファイルを配置すれば、カスタムス ラッシュコマンドを作ることができ、 よく使うプロンプトをコマンドとして素早く 実行できる ● カスタムスラッシュコマンドには、 プロジェクトと個人のタイプ があり、引数も 受け取れる ● PR作成や調査レポート、ビルド実行などの 便利な活用例を紹介したので、 ぜひ導入してみてください

Slide 26

Slide 26 text

Thank you for listening!