スキルを登録する

Agent Registry では、スキルは、エージェントが持つことができるスタンドアロンの実行可能な機能を表します。SKILL.md ファイルの指示、コード スクリプト、エージェントの推論を拡張するアセットが含まれています。Agent Registry にスタンドアロン スキルを登録すると、組織の AI エージェント全体で機能を一元的に管理、バージョン管理、共有できます。

Google が作成したスキルは、Agent Registry を設定するとすぐに表示されます。このドキュメントでは、Agent Registry に独自のスタンドアロン スキルを手動で登録する方法について説明します。

始める前に

始める前に、Agent Registry を設定します。これらのタスクを実行するには、プロジェクト ID が必要です。

このドキュメントの Google Cloud CLI コマンドを使用するには、gcloud CLI 環境を設定していることを確認してください。

必要なロール

Agent Registry にスキルを登録するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

  • スタンドアロン スキルを登録して管理する: Agent Registry ユーザー (roles/agentregistry.user)
  • スタンドアロン スキルやその他の Agent Registry リソースを登録して管理する: Agent Registry API 編集者 (roles/agentregistry.editor)

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

他の Agent Registry ロールには、スキルとスキル リビジョンを登録して管理するために必要な権限が含まれている場合もあります。詳細については、Agent Registry のロールと権限をご覧ください。

取り込みペイロードの制約

スキルを登録するには、ケーパビリティのソースファイルを ZIP アーカイブにパッケージ化する必要があります。アーカイブのルートに SKILL.md 指示ファイルを含める必要があります。スキル登録プロセスの取り込みフェーズでは、Agent Registry はペイロードが次の制約に準拠していることを検証します。

  • ZIP アーカイブのサイズ: 圧縮後のアーカイブの最大サイズは 500 KB です。
  • 非圧縮ペイロードの合計サイズ: 非圧縮サイズの上限は 10 MB です。
  • 個々のファイルサイズ: 1 ファイルあたりの最大非圧縮サイズは 1 MB です。
  • 深いネスト: ディレクトリのネストの最大深度は 8 レベルです。
  • 仕様への準拠: SKILL.md ファイルには、エージェント スキル仕様で定義されている名前、説明、メタデータを定義する有効な YAML フロントマター セクションが含まれている必要があります。

スキルを登録する

Google が作成したスキルは、Agent Registry を設定するとすぐに表示されます。ただし、独自のスキルを手動で登録することもできます。各スキルにはデフォルトのリビジョンがあり、複数のバージョン管理されたスキル リビジョンを含めることができます。

独自のスキルを登録するには、論理スキルコンテナを作成し、1 回のオペレーションで初期リビジョン ペイロードをアップロードします。登録したスキルとその後のスキル リビジョンは、後で管理できます。

スキルの料金と機能の費用については、Agent Registry の料金をご覧ください。

ユーザーが作成したスキルは、Google が作成したスキルとの名前の競合を避けるため、デフォルトの private パブリッシャーに自動的に割り当てられます。そのため、特定のスキルの公開 ID は private-SKILL_ID になります。スキル作成時にカスタム パブリッシャーを指定することはできません。

たとえば、ID が workspace-tools のスキルを作成すると、リソース名は projects/PROJECT_ID/locations/LOCATION/skills/private-workspace-tools として作成されます。論理 Uniform Resource Name(URN)は urn:skill:projects-PROJECT_NUMBER:locations:LOCATION:private-workspace-tools として割り当てられます。以降のすべてのスキル オペレーションでは、この公開 ID(private-workspace-tools)を使用する必要があります。

スキルを登録する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[エージェント レジストリ] ページに移動します。

    Agent Registry に移動

  2. プロジェクト選択ツールで、 Google Cloud プロジェクトを選択します。

  3. [スキル] タブを選択します。

  4. [スキル] タブの [スキルを追加] ボタンに 2 つのオプションが表示されます。次のいずれかを選択できます。

    • スキルを追加: レジストリに新しいスキルコンテナを作成します。必要に応じて、スキル パッケージをアップロードして最初のリビジョンを作成できます。
    • スキルをインポート: コードまたはプロンプト指示(SKILL.md)ファイルを含む ZIP バンドルをアップロードして、新しいカスタム スキル パッケージをオンボーディングします。
  5. [スキルを作成] パネルまたは [スキルをインポート] パネルで、次の詳細を指定します。

    • 表示名: スキルのわかりやすい名前を入力します。
    • 説明: スキルの機能を説明する簡単な概要を入力します。
    • 地域: 地理的地域(global、us、eu など)を選択します。
  6. [ペイロード ソース] セクションで、次のいずれかを選択します。

    • ファイル: パッケージ化されたスキルの ZIP ファイルをドラッグするか、ローカル ディレクトリを参照します。
    • バケット: Cloud Storage バケットに保存されている ZIP アーカイブのパスを gs://BUCKET_NAME/SKILL_PACKAGE.zip 形式で入力します。

  7. [作成] をクリックします。

スキルが作成されます。以降のスキル オペレーションでは、Google Cloud コンソールに表示されるとおりに、スキルを private-SKILL_ID として参照してください。

gcloud

スキルを登録して初期ペイロードをアップロードするには、ローカル ZIP ファイルをアップロードするか、Cloud Storage に保存されているパッケージをインポートします。

次のように置き換えます。

  • SKILL_ID: スキルのリソース ID(workspace-docs-skill など)。作成後、レジストリは private- 接頭辞を自動的に付加します。以降のすべてのスキルコマンドでは、接頭辞付きの ID(private-workspace-docs-skill など)を使用する必要があります。
  • PROJECT_ID: プロジェクト ID。
  • LOCATION: 地理的リージョン(global、us、eu など)。
  • DISPLAY_NAME: スキルのわかりやすい名前。
  • DESCRIPTION: スキルの機能を説明する簡単な概要。

  • ローカル ZIP ファイルをアップロードする: ローカル ZIP ペイロードを使用してスキルを登録するには:

    gcloud alpha agent-registry skills create SKILL_ID \
      --project=PROJECT_ID \
      --location=LOCATION \
      --display-name="DISPLAY_NAME" \
      --description="DESCRIPTION" \
      --payload="LOCAL_ZIP_PATH"
    

    LOCAL_ZIP_PATH は、ローカルマシン上のパッケージ化されたスキルのアーカイブのパスに置き換えます(例: ./workspace-docs-skill.zip)。

  • Cloud Storage バケットからインポート: Cloud Storage バケットでホストされている ZIP アーカイブを使用してスキルを登録するには:

    gcloud alpha agent-registry skills create SKILL_ID \
      --project=PROJECT_ID \
      --location=LOCATION \
      --display-name="DISPLAY_NAME" \
      --description="DESCRIPTION" \
      --gcs-source-uri="gs://BUCKET_NAME/SKILL_PACKAGE.zip"
    

    次のように置き換えます。

    • BUCKET_NAME: ZIP バンドルを含む Cloud Storage バケット名。
    • SKILL_PACKAGE: スキル ペイロードを含むスキル パッケージの名前。

REST

最初のリビジョンをインラインで指定してスキルを作成するには:

HTTP メソッドと URL

POST https://agentregistry.googleapis.com/v1alpha/projects/{project}/locations/{location}/skills?skillId={skillId}

リクエストの本文(JSON)(ローカル ファイルのアップロード)

ローカル ZIP アーカイブ バイトを直接アップロードしてスキルを作成するには、archiveUploadSource ペイロードを使用します。

{
  "displayName": "DISPLAY_NAME",
  "description": "DESCRIPTION",
  "type": "SIMPLE",
  "targetState": "TARGET_STATE_ACTIVE",
  "initialRevision": {
    "archiveUploadSource": {
      "archiveContent": "BASE64_ZIP_BYTES"
    }
  }
}

BASE64_ZIP_BYTES は、ローカル ZIP アーカイブの base64 でエンコードされた文字列表現に置き換えます。

リクエストの本文(JSON)(Cloud Storage からインポート)

または、Cloud Storage バケットに保存されているアーカイブを使用してスキルを作成するには、gcsSource を使用します。

{
  "displayName": "DISPLAY_NAME",
  "description": "DESCRIPTION",
  "type": "SIMPLE",
  "targetState": "TARGET_STATE_ACTIVE",
  "initialRevision": {
    "gcsSource": {
      "uri": "gs://BUCKET_NAME/SKILL_PACKAGE.zip"
    }
  }
}

次のように置き換えます。

  • BUCKET_NAME: ZIP バンドルを含む Cloud Storage バケットの名前。
  • SKILL_PACKAGE: スキル ペイロードを含むスキル パッケージの名前。

curl コマンド(ローカル ファイルのアップロード)

curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "displayName": "DISPLAY_NAME",
        "description": "DESCRIPTION",
        "type": "SIMPLE",
        "targetState": "TARGET_STATE_ACTIVE",
        "initialRevision": {
          "archiveUploadSource": {
            "archiveContent": "$(base64 -w0 local_skill.zip)"
          }
        }
      }' \
      "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills?skillId=SKILL_ID"

Cloud Storage バケット ファイルのアップロードの場合は、リクエストの JSON 本文を対応するフィールドと値に置き換えます。

次のステップ