1. はじめに

このラボでは、エージェント スキルを作成して、LLM にカスタムの知識とワークフローへのアクセス権を付与する方法について学びます。これは、Gemini CLI からアクセスできるローカルスキルとして作成します。
演習内容
- お気に入りのものに関する独自のエージェント スキルを作成できます。
- Gemini CLI を使用してスキルをクエリします。
- Firebase 用の公式エージェント スキルをインストールし、それを使用してアプリをビルドしてデプロイします。
学習内容
- スキルの構造化方法。
SKILL.mdファイルを作成する方法。- Gemini CLI でローカルスキルを使用する方法。
2. プロジェクトのセットアップ
- Google アカウントをまだお持ちでない場合は、Google アカウントを作成する必要があります。
- 仕事用または学校用アカウントではなく、個人アカウントを使用します。職場用アカウントと学校用アカウントには、このラボに必要な API を有効にできない制限が設定されている場合があります。
- Google Cloud コンソールにログインします。
- Cloud コンソールで課金を有効にします。
- このラボを完了するのにかかる Cloud リソースの費用は 1 米ドル未満です。
- このラボの最後の手順に沿ってリソースを削除すると、それ以上の料金は発生しません。
- 新規ユーザーは、300 米ドル分の無料トライアルをご利用いただけます。
- 新しいプロジェクトを作成するか、既存のプロジェクトを再利用します。
- プロジェクトの割り当てに関するエラーが表示された場合は、既存のプロジェクトを再利用するか、既存のプロジェクトを削除して新しいプロジェクトを作成します。
3. Cloud Shell エディタを開く
- このリンクをクリックすると、Cloud Shell エディタに直接移動します。
- 本日、承認を求めるメッセージがどこかの時点で表示された場合は、[承認] をクリックして続行します。

- ターミナルが画面の下部に表示されない場合は、ターミナルを開きます。
- [表示] をクリックします。
- [ターミナル] をクリックします。

- ターミナルで、次のコマンドを使用してプロジェクトを設定します。
- 形式:
gcloud config set project [PROJECT_ID] - 例:
gcloud config set project lab-project-id-example - プロジェクト ID を忘れた場合:
- 次のコマンドを使用すると、すべてのプロジェクト ID を一覧表示できます。
gcloud projects list | awk '/PROJECT_ID/{print $2}'

- 次のコマンドを使用すると、すべてのプロジェクト ID を一覧表示できます。
- 形式:
- 次のようなメッセージが表示されます。
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 に好きなものを教えるスキルを作成します。
- このラボのディレクトリを作成し、そのディレクトリに移動します。
mkdir ~/agent-skills-lab && cd ~/agent-skills-lab - プロジェクト スキルのディレクトリを作成します。
mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things - スキル用の新しい
SKILL.mdファイルを作成して開きます。cloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.mdcloudshell editコマンドを実行すると、ターミナルの上にエディタでSKILL.mdファイルが開きます。 SKILL.mdファイルに次の内容を追加します。--- name: my-favorite-things description: Provides personal information about my favorite color, food, and programming language. Use this skill when the user asks questions about my personal preferences or favorite things. --- # Knowledge - **Favorite Color:** Blue - **Favorite Food:** Pizza - **Favorite Programming Language:** Python If asked about one of my favorite things, please respond with the information provided above.
SKILL.md ファイルのみで、最初のスキルを作成しました。このスキルを Gemini CLI で使用します。
5. Gemini CLI からスキルを使用する
スキルが .agents/skills ディレクトリにあるため、スキルを作成すると、Gemini CLI で検出できるようになります。
- Gemini CLI を起動します。
Gemini CLI が新しいスキルを認識していることがわかります。デフォルト設定を受け入れるために、geminiEnterキーを押す必要がある場合があります。
- Gemini に、コンテキスト内で利用可能なスキルを一覧表示させる
利用可能なスキルの一覧に/skillsmy-favorite-thingsが表示されます。 - 好きな色について Gemini に質問する:
Gemini CLI は、What is my favorite color?my-favorite-thingsスキルを使用して質問に回答します。プロンプトが表示されたら、Gemini CLI がスキルを使用できるようにします。
出力には、Gemini CLI がスキルを使用して「青」や「私の好きな色は青です」などの回答を返したことが表示されます。
これで完了です。スキルを作成し、Gemini CLI を使用してテストしました。
セッションを終了する準備ができたら、「/quit」と入力して Enter を押して Gemini CLI を終了します。
6. (省略可)アプリケーションをビルドして Firebase Hosting にデプロイする
独自のスキルを作成するだけでなく、他のユーザーが作成したスキルをインストールすることもできます。これは、簡単に共有して再利用できる知識、手順、ワークフローの自己完結型モジュールであるポータブル スキルの使用例です。
Firebase のエージェント スキルは、このようなポータブル モジュールの好例です。これらは、AI アシスタントが Firebase のベスト プラクティスを理解し、複雑なタスクをより高い精度と低いトークン費用で実行できるように設計されています。
Agent Skills for Firebase を使用して、ユーザー認証とデータベースを備えた「To Do」ウェブ アプリケーションを作成し、Firebase Hosting にデプロイします。
プロジェクトを設定する
- Gemini CLI をまだ使用している場合は、
/quitと入力して終了します。 - プロジェクト用の新しいディレクトリを作成し、そのディレクトリに移動します。
mkdir ~/todo-app && cd ~/todo-app - Google アカウントを使用して Firebase にログインします。Cloud Shell を使用しているため、
--no-localhostフラグを使用します。firebase login --no-localhost- CLI プロンプトを操作する:
Enable Gemini in Firebase features?と表示されたら、「Y」(はい)と入力してEnterキーを押します。Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?と表示されたら、「Y」(はい)と入力してEnterキーを押します。
- ブラウザで承認する:
- ターミナルに URL が表示されます。リンクをクリックして、新しいブラウザタブでログインページを開きます。
- ステップ 1/3(コマンドの確認): [はい、今このコマンドを実行しました] をクリックします。
- ステップ 2/3(セッション ID の確認): セッション ID がターミナルに表示されているものと一致していることを確認し、[はい、これは私のセッション ID です] をクリックします。
- ステップ 3/3(コードをコピー): [コピー] をクリックして、認証コードをクリップボードにコピーします。
- ログインを完了します:
- Cloud Shell ターミナルに戻り、
? Enter authorization code:プロンプトに認証コードを貼り付けます。 Enterキーを押します。
- Cloud Shell ターミナルに戻り、
✔ Success! Logged in as」という成功メッセージが表示されます。 - CLI プロンプトを操作する:
Firebase 用エージェント スキルをインストールする
プロジェクト ディレクトリを作成したら、そのディレクトリ内に Firebase 用エージェント スキルをインストールする必要があります。
ターミナルで skills CLI を使用して、Agent Skills for Firebase をインストールできます。
npx skills add firebase/agent-skills
インストール中に、インストールするスキルを選択するよう求められます。矢印キーを使用してリスト内を移動し、スペースバーを使用してスキルを選択します。
firebase-basicsfirebase-hosting-basicsfirebase-auth-basicsfirebase-firestore-enterprise-native-mode

以降のプロンプトでは、Enter キーを押してデフォルトをそのまま使用してかまいません。
このコマンドは、firebase-basics や firebase-hosting-basics などのスキルをダウンロードしてインストールし、my-favorite-things スキルとともに Gemini CLI で使用できるようにします。
Firebase のエージェント スキルの詳細については、利用可能なスキルをご覧ください。
基本的なウェブアプリを作成してデプロイする
- プロジェクトに必要な API を有効にします。
gcloud services enable \ cloudresourcemanager.googleapis.com \ firebase.googleapis.com - 現在の Google Cloud プロジェクトで Firebase を有効にします。
firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT} - Gemini CLI を起動します。
gemini - Gemini に基本的な
index.htmlの生成を依頼します。 Gemini はGenerate an index.html file with the content "Hello Firebase Hosting" and deploy the application to Firebase Hosting using the current Google Cloud Project.index.htmlの作成とfirebaseの実行を求めます。Enterを押して許可します。Gemini CLI は、Agent Skills for Firebase を使用してウェブサイトを作成し、デプロイします。必要に応じて、承認とともにエージェントをガイドします。
デプロイが完了すると、ウェブアプリの URL が提供されます。ctrl+click(Windows)または cmc+click(Mac)を使用して、Cloud Shell エディタのターミナルでリンクを開きます。デプロイしたアプリの URL にアクセスします。
Firebase Authentication を追加する
- Gemini CLI がまだ起動していない場合は起動します。
Gemini から「このフォルダを信頼しますか?」などの質問が表示されることがあります。geminiEnterキーを押してデフォルトを受け入れます。 - 次に、Gemini に Google ログインを追加するようリクエストします。
Gemini は、Generate HTML, CSS, and Javascript for a single page application. It should use Google Sign-in with Firebase Authentication. A user should be able to sign in with their Google Account. Deploy when you are done and give the URL to the user.index.html、style.css、script.jsなどのファイルの作成または更新を求めることがあります。許可します。Gemini から Firebase コンソールでアクションを実行するよう求められることがあります。CLI は、試行をリクエストすれば、これらのほとんどを実行できますが、Cloud Shell インスタンスに古いバージョンの Firebase CLI がインストールされている場合は、手順を手動で完了する(Google OAuth を有効にするなど)必要がある場合があります。
デプロイが完了すると、ウェブアプリの URL が提供されます。ctrl+click(Windows)または cmc+click(Mac)を使用して、Cloud Shell エディタのターミナルでリンクを開きます。デプロイしたアプリの URL にアクセスします。
最新の変更を表示するには、ctrl+shift+R(Windows)または cmd+shift+R(Mac)で「ハード更新」を行う必要がある場合があります。
Cloud Firestore を追加する
- Gemini CLI がまだ起動していない場合は起動します。
Gemini から「このフォルダを信頼しますか?」などの質問が表示されることがあります。geminiEnterキーを押してデフォルトを受け入れます。 - Gemini に Firestore を追加してタスクを保存するようリクエストします。
Gemini がファイルを更新します。その場合は許可してください。Update the application to 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. Deploy when you are done and give the URL to the user.
デプロイが完了すると、ウェブアプリの URL が提供されます。ctrl+click(Windows)または cmc+click(Mac)を使用して、Cloud Shell エディタのターミナルでリンクを開きます。デプロイしたアプリの URL にアクセスします。
最新の変更を表示するには、ctrl+shift+R(Windows)または cmd+shift+R(Mac)で「ハード更新」を行う必要がある場合があります。
アプリケーションが想定どおりに機能しない場合は、Gemini CLI を使用して、想定どおりの機能を実現します。例: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.
ラボでさまざまな機能を試して、新しい Firebase アプリケーションに追加する機能を見つけてください。
7. まとめ
おめでとうございます!スキルを作成し、Gemini CLI の追加スキルをインストールする方法を学びました。
(省略可)クリーンアップ
クリーンアップする場合は、クラウド プロジェクトを削除して追加料金が発生しないようにします。
必要に応じて、プロジェクトを削除します。
gcloud projects delete $GOOGLE_CLOUD_PROJECT
Cloud Shell ディスクから不要なリソースを削除して、空き容量を増やすこともできます。
- ラボ ディレクトリを削除します(スキルとアプリの両方が削除されます)。
rm -rf ~/agent-skills-lab - 「To Do」アプリケーション ディレクトリを削除します(外部で作成した場合)。
rm -rf ~/todo-app
Cloud Shell をデフォルトの状態にリセットする必要がある場合は、公式ドキュメントの手順に沿って安全にリセットしてください。