Gemini CLI 用のエージェント スキルを作成する方法

1. はじめに

このラボでは、エージェント スキルを作成して、LLM にカスタムの知識とワークフローへのアクセス権を付与する方法について学びます。これは、Gemini CLI からアクセスできるローカル スキルとして作成します。

演習内容

  • お気に入りのものに関する独自の Agent Skills を作成できます。
  • Gemini CLI を使用してスキルをクエリします。
  • Firebase 用の公式エージェント スキルをインストールし、それを使用してアプリをビルドしてデプロイします。

学習内容

  • スキルの構造化方法。
  • SKILL.md ファイルを作成する方法。
  • Gemini CLI でローカル スキルを使用する方法。

2. プロジェクトの設定

  1. Google アカウントをまだお持ちでない場合は、Google アカウントを作成する必要があります。
    • 仕事用または学校用アカウントではなく、個人用アカウントを使用します。職場用アカウントと学校用アカウントには、このラボに必要な API を有効にできない制限が設定されている場合があります。
  2. Google Cloud コンソールにログインします。
  3. Cloud コンソールで課金を有効にします
    • このラボを完了するのにかかる Cloud リソースの費用は 1 米ドル未満です。
    • このラボの最後の手順に沿ってリソースを削除すると、それ以上の料金は発生しません。
    • 新規ユーザーは、300 米ドル分の無料トライアルをご利用いただけます。
  4. 新しいプロジェクトを作成するか、既存のプロジェクトを再利用します。
    • プロジェクトの割り当てに関するエラーが表示された場合は、既存のプロジェクトを再利用するか、既存のプロジェクトを削除して新しいプロジェクトを作成します。

3. Cloud Shell エディタを開く

  1. このリンクをクリックすると、Cloud Shell エディタに直接移動します。
  2. 本日、承認を求めるメッセージがどこかの時点で表示された場合は、[承認] をクリックして続行します。Cloud Shell を承認する
  3. ターミナルが画面の下部に表示されない場合は、ターミナルを開きます。
    • [表示] をクリックします。
    • [ターミナル] をクリックします。Cloud Shell エディタで新しいターミナルを開く
  4. ターミナルで、次のコマンドを使用してプロジェクトを設定します。
    • 形式:
      gcloud config set project [PROJECT_ID]
      
    • 例:
      gcloud config set project lab-project-id-example
      
    • プロジェクト ID を忘れた場合:
      • 次のコマンドを使用すると、すべてのプロジェクト ID を一覧表示できます。
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Cloud Shell エディタのターミナルでプロジェクト ID を設定する
  5. 次のようなメッセージが表示されます。
    Updated property [core/project].
    
    WARNING が表示され、Do you want to continue (Y/n)? と表示された場合は、プロジェクト ID が正しく入力されていない可能性があります。n を押して Enter を押し、gcloud config set project コマンドを再実行します。

4. 「お気に入りのもの」スキルを作成する

エージェント スキルは、AI エージェントに手順と知識を提供する SKILL.md ファイルを少なくとも 1 つ含むディレクトリです。このセクションでは、Gemini CLI に好きなものを教えるスキルを作成します。

  1. スキルを保存するディレクトリを作成します。
    mkdir -p ~/.gemini/skills/my-favorite-things
    
  2. スキル用の新しい SKILL.md ファイルを作成して開きます。
    cloudshell edit ~/.gemini/skills/my-favorite-things/SKILL.md
    
    cloudshell edit コマンドを実行すると、ターミナルの上にエディタで SKILL.md ファイルが開きます。
  3. SKILL.md ファイルに次の内容を追加します。
    ---
    name: my-favorite-things
    description: Information about my favorite things. Use this skill to answer questions about my favorite color, food, or programming language.
    ---
    
    My favorite color is blue.
    My favorite food is pizza.
    My favorite programming language is Python.
    
    If asked about one of my favorite things, please respond with the information provided above.
    

SKILL.md ファイルのみで、最初のスキルを作成しました。このスキルを Gemini CLI で使用します。

5. Gemini CLI からスキルを使用する

スキルが作成されたので、Gemini CLI で使用できます。~/.gemini/skills に配置されたスキルは、Gemini CLI によって自動的に検出されます。

  1. Cloud Shell で Gemini CLI を起動する
    gemini
    
    デフォルト設定を受け入れるために、Enter キーを押す必要がある場合があります。
  2. Gemini に、コンテキスト内で利用可能なスキルを一覧表示させる
    /skills
    
    利用可能なスキルの一覧に my-favorite-things が表示されます。
  3. お気に入りの色について Gemini に質問する:
    What is my favorite color?
    
    Gemini CLI は、my-favorite-things スキルを使用して質問に回答する必要があります。プロンプトが表示されたら、Gemini CLI がスキルを使用できるようにします。

出力には、Gemini CLI がスキルを使用して「Blue」と回答したことが表示されます。

これで完了です。スキルを作成し、Gemini CLI を使用してテストすることができました。

セッションを終了する準備ができたら、「/quit」と入力して Enter を押して Gemini CLI を終了します。

6. Agent Skills for Firebase をインストールする

独自のスキルを作成するだけでなく、他のユーザーが作成したスキルをインストールすることもできます。Firebase 用エージェント スキル(GitHub)は、Firebase 固有の知識、手順、ワークフローのポータブルで自己完結型のモジュールです。これらは、AI アシスタントが Firebase のベスト プラクティスを理解し、複雑なタスクをより高い精度と低いトークン費用で実行できるように設計されています。

ターミナルで skills CLI を使用して、Firebase 用のすべてのエージェント スキルをインストールできます。

npx skills add firebase/agent-skills

このコマンドは、firebase-basicsfirebase-auth-basicsfirebase-firestore-basicsfirebase-app-hosting-basics などのスキルをダウンロードしてインストールし、my-favorite-things スキルとともに Gemini CLI で使用できるようにします。

Firebase 用エージェント スキルの詳細については、利用可能なスキルをご覧ください。

7. Firebase のエージェント スキルについて

これで、Firebase 用のエージェント スキルがインストールされ、Gemini CLI で使用できるようになりました。Gemini CLI を実行して /skills firebase と入力すると、これらのコマンドを確認できます。

gemini

Gemini CLI で次の操作を行います。

/skills firebase

インストールされている Firebase スキル(firebase-basicsfirebase-auth-basicsfirebase-firestore-basicsfirebase-app-hosting-basics など)のリストが表示されます。

8. (省略可)Agent Skills for Firebase を使用してアプリケーションを作成してデプロイする

インストールした Agent Skills for Firebase を使用して、ユーザー認証とデータベースを備えた「To Do」ウェブ アプリケーションを作成し、Firebase App Hosting にデプロイします。

  1. Gemini CLI がまだ開いている場合は、/quit と入力して終了します。
  2. プロジェクト用の新しいディレクトリを作成し、そのディレクトリに移動します。
    mkdir todo-app && cd todo-app
    
  3. Google アカウントを使用して Firebase にログインします。Cloud Shell またはブラウザのない別の環境にいる場合は、--no-localhost フラグを使用します。
    firebase login --no-localhost
    
    手順に沿って Firebase CLI を承認します。
  4. Gemini CLI を起動します。
    gemini
    
  5. 次に、Gemini にアプリケーション コードの生成をリクエストします。
    Generate HTML, CSS, and Javascript for a single page  application. It should use Google Sign-in with Firebase Authentication, and save tasks in Cloud Firestore for the signed-in user. A user should be able to add new tasks and see a list of their tasks.
    
    Gemini から index.htmlstyle.cssscript.js などのファイルの作成を求められることがあります。その場合は許可してください。
  6. 最後に、アプリケーションを Firebase App Hosting にデプロイします。
    /firebase-app-hosting-basics deploy my web app to Firebase App Hosting.
    
    プロンプトに沿って App Hosting を構成し、デプロイを完了します。デプロイが完了すると、ライブ アプリケーションの URL が届きます。

9. おわりに

おめでとうございます!スキルを作成し、Gemini CLI に追加のスキルをインストールする方法を学びました。

(省略可)クリーンアップ

クリーンアップする場合は、Cloud プロジェクトを削除して追加料金が発生しないようにします。

必要に応じて、プロジェクトを削除します。

gcloud projects delete $GOOGLE_CLOUD_PROJECT

不要なリソースを Cloud Shell ディスクから削除することもできます。次のことが可能です。

  1. スキル ディレクトリを削除します。
    rm -rf ~/.gemini/skills/my-favorite-things
    
  2. 警告: この操作は元に戻せません。Cloud Shell のすべてのデータを削除して空き容量を増やす場合は、ホーム ディレクトリ全体を削除できます。残しておきたいものはすべて別の場所に保存されていることを確認してください。
    sudo rm -rf $HOME