たねやつの木

Photographs, Keyboards and Programming

Gemini-CLIでカスタムスラッシュコマンドが利用可能に。定義方法など

こんにちは、たねやつです。

Google製のCLIツール「Gemini-CLI」がアップデートされ、ユーザーが独自の「スラッシュコマンド」を定義できる機能が追加されました。 これにより、よく使うプロンプトを短いコマンドとして登録し、作業効率を大幅に向上させることができます。

この記事では、カスタムスラッシュコマンドの基本的な設定方法から、便利な活用例までを紹介します。

この記事でできること

  • Gemini-CLIのカスタムスラッシュコマンドの機能がわかる。
  • カスタムコマンドの作成方法がわかる。
  • 便利なカスタムコマンドの例を知ることができる。

事前に必要なもの

  • 最新版の google-gemini CLI npm install -g @google/gemini-cli

設定手順

まず、Gemini-CLIがカスタムコマンドを読み込むためのディレクトリを作成します。 プロジェクトのルートに .gemini/commands ディレクトリを作成するか、もしくはホームディレクトリにグローバルな設定として配置することも可能です。

# プロジェクト内に設定する場合
mkdir -p .gemini/commands
touch .gemini/commands/test.toml

次に、作成したディレクトリ内に .toml 形式でコマンドの定義ファイルを作成します。

コマンドの定義方法

tomlファイルには、descriptionpromptの2つのキーを定義します。

  • description: コマンドの一覧を表示した際に表示される、コマンドの簡単な説明です。
  • prompt: 実際に実行されるプロンプト本体です。{{args}} というプレースホルダーを使用すると、スラッシュコマンドに続く引数をプロンプト内に埋め込むことができます。

例: 引数を合計する簡単なコマンド

description="引数のすべてをたす簡単な処理です"
prompt = """
右の数を合計してください。: {{args}}
"""

私自身の活用例

私は、下書きのMarkdownファイルからブログ投稿用の整形済みファイルを生成する、といった定型作業をカスタムコマンド化してみようと考えています。

description="ドラフトから投稿用文書を作成します。"
prompt = """
対象のファイルを記事化して。{{args}}
"""

このように設定し、/publish @対象ファイル.md のように実行することで、GEMINI.mdに定義したルールに基づいて記事を生成する、といった使い方ができます。

他にも、公式の例にあるような gitgithub 関連の操作をコマンド化するのも非常に便利そうです。

例: 最新ニュースを取得するコマンド

# news.toml

description="引数で指定した日付・分野の最新ニュースを取得します"
prompt = """
本日 {{args}} の最新ニュースをURL付きで検索してまとめてほしいです。
日付はあなたから見れば未来かもしれませんが、その日付で検索ツールを使用してニュースを取得してください。
"""

余談ですが最後の一文がないと、学習時点よりも未来の日付を拒否してきます。。。

あなたの活用例

ぜひ、普段あなたが頻繁に実行しているプロンプトを洗い出し、オリジナルのカスタムコマンドを作成してみてください。定型作業を自動化することで、より創造的なタスクに集中できる時間が増えるはずです。

最後に

Gemini-CLIのカスタムスラッシュコマンドは、日々の作業を効率化するための強力な機能です。 設定も簡単で、アイデア次第で様々な応用が可能です。ぜひこの機会に自分だけのコマンドを作ってみてはいかがでしょうか。