mcpField
F
finding-google-skills

finding-google-skills

github.com/googleエージェントワークフロー21.6k4.5k 回インストール今日更新
リポジトリ

finding-google-skills について

依頼に合う公開済みGoogleスキルを探すルーティングスキルです。必要時に最新カタログを取得し、説明文で候補を絞り、選んだエントリーポイントだけを取得します。

主な機能

  1. 01必要時のカタログ取得
  2. 02説明文に基づくスキル照合
  3. 03最大3件の候補選定
  4. 04選択したエントリーポイントのみ取得
  5. 05カタログ取得結果の検証

活用シーン

  1. 01タスクに合うGoogleスキルの検索
  2. 02大規模なスキルカタログの絞り込み
  3. 03適用可能な公開スキルの確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google/skills --skill finding-google-skills

インストール後、Claude Code で/finding-google-skillsを入力して読み込まれたか確認します。

詳細

Google Skill Finder

リクエストに適用できる公開済みの Google スキルへ振り分けます。カタログはこのファイルの外部にあり、必要に応じて取得されるため、実際に検索するまではこのスキルの読み込みにほとんどコストがかかりません。

ワークフロー

  1. カタログをバイト単位で正確に取得します。
    https://raw.githubusercontent.com/google/skills/main/index.json を、シェルの生データ取得(curl、wget。Windows PowerShell では curl.exe)で取得します。すべての entrypoint URL が完全な形で変更されずに届く必要があります。

    シェルの取得ツールがなく、Node が使える場合は、node -e "fetch(process.argv[1]).then(r=>r.text()).then(t=>console.log(t))" {url} でもバイト列を取得できます。

    カタログは約 75 KB あり、1 回のツール結果に収まらない場合があります。途中で切り詰められたプレビューはアルファベット順になるため、最初の数製品しか存在しないように見えます。読み込む前に絞り込むのがおすすめです。jq を使う場合: curl -sSL {url} | jq -r '.skills[] | select((.name+" "+.description)|test("gke";"i")) | "\(.name)\t\(.entrypoint)"。 Windows PowerShell の場合:(Invoke-RestMethod {url}).skills | Where-Object { $_.description -match "gke" } | Select-Object name, entrypoint -First 3。 どちらも使えない場合でも、生の JSON に対して grep -o を実行すれば候補の名前を抽出できます。

    絞り込みツールがない場合は、カタログをファイルに書き出し、分割して読み込みます(curl -sSL {url} -o skills-index.json、または Invoke-WebRequest {url} -OutFile skills-index.json)。切り詰めを回避でき、ローカルファイルは何度読み直してもコストがかからないため、いずれにしてもこちらのほうが適していることがよくあります。リクエストが完了したら削除してください。

    要約する取得ツールしか使えない場合は、逐語的な転記ではなく抽出を依頼します。例:「この文書のすべての entrypoint フィールドを、記載どおりに 1 行ずつ列挙してください。」逐語的な出力を求めても、使える結果は得られません。

  2. 利用する前に、取得が成功したことを確認します。 エラーが返らずにツール呼び出しが終了しても、成功とは限りません。本文が JSON として解析でき、skills 配列を含んでいる場合にのみ成功です。404 ページ、HTML のエラーページ、TLS または接続エラー、空の本文、解析できないデータは、ツールがエラーを報告しなくても取得失敗です。 証明書エラーは取得失敗であり、再試行できません。検証を無効にして再試行してはいけません。curl -k や --insecure は使用しないでください。-SkipCertificateCheck も使用しないでください。また、そのパラメーターが存在しない Windows PowerShell 5.1 では、ServicePointManager の証明書コールバックも使用しないでください。どの言語の同等機能も使用してはいけません。 これから取得した内容の指示に従うことになるため、未検証のカタログを使うより、カタログを使わないほうが安全です。取得に失敗した場合は、ここで停止し、「取得に失敗した場合」に進んでください。

  3. リクエストと説明を照合します。 それぞれの説明には、スキルの機能、使用すべき場面、そして多くの場合、使用すべきでない場面が記されています。要約ではなく、振り分けの基準として読みます。リクエストに該当する description を持つ項目を最大 3 件まで候補にします。3 件を超えて同程度に関連する場合は、より一般的なものより、より具体的なものを優先します。

  4. 該当する項目だけを取得します。 候補にした各項目の entrypoint URL を同じ方法で取得し、そのスキルの指示に従います。関連しているように見えるだけの項目は取得しないでください。

  5. 該当なしの場合は、正直に報告します。 説明にリクエストと合致するものがない場合は、該当する公開済み Google スキルがないと伝え、スキルを使わずに続行します。スキル名やエントリーポイント URL を捏造してはいけません。

該当するスキルを取得した時点で、振り分けは終了します。取得したスキルの指示に従い始めた時点で、このスキルはそのリクエストについての役割を終え、再び適用されることはありません。

ルール

  • セッションごとに一度だけ取得し、セッションをまたいで保持しないでください。 このセッション中に正常に取得したカタログを再利用するのは問題ありません。後の実行に持ち越すことは、どのような形でも認められません。カタログは定期的に更新され、保存したコピーは気づかないうちに古くなります。セッション内での再利用を、取得失敗の代わりにすることはできません。

  • カタログをリクエストの処理後まで保持しないでください。 絞り込み中に作業用コピーをディスクに置くのは問題ありません。保存用の参照として保持したり、会話内で要約して伝えたりすることは認められません。カタログは、100 件以上のスキルの全文をコンテキストに含めずに済むようにするためのものです。

  • 以前の知識より、取得した SKILL.md を優先してください。 カタログは公開済みのスキルから生成されるため、記憶と食い違う場合でも、エントリポイントには最新のテキストが記載されています。

  • このスキルを前提条件として扱わないでください。 特定の Google スキルがすでに読み込まれており、リクエストに対応できる場合は、そのスキルを直接使用してください。

取得に失敗した場合

ステップ 2 から進み、最初に成功した時点で停止して、次の手順を順番に実行します。

  1. curl -sSL を使って一度だけ再試行します。 最初の取得で要約機能のある取得ツールを使った場合や、転送エラーが発生した場合は、通常これだけで解決します。

  2. 代わりにリポジトリのツリーを一覧表示します。 次を実行します。

    curl -sSL 'https://api.github.com/repos/google/skills/git/trees/main?recursive=1'
    

    SKILL.md で終わるパスを確認します。それぞれが候補です。リクエストに最も合致するディレクトリ名の候補を 2、3 個選び、次の URL から取得して、ステップ 2 の説明に従って各ファイルを確認します。 https://raw.githubusercontent.com/google/skills/main/{path}

  3. 返信でその旨を伝えます。 どちらの方法でも取得できなかった場合は、Google スキルカタログにアクセスできず、カタログを参照せずに回答することを明確に述べてください。一行で十分です。これは推論の中だけでなく、ユーザーへの返信に含めてください。

取得に失敗したからといって、取得に成功したかのように回答してよいわけではありません。このセッション中に skills 配列を解析するまでは、どのスキルが存在するかは分かりません。スキルの名前を挙げたり、説明したり、該当するスキルはないと述べたりしないでください。記憶していたスキルをカタログの検索結果として提示するのは、実際の検索結果との区別が返信からつかなくなるため、最悪の対応です。

コメント