Communitygithub.com

HybridAIOne/hybridclaw

本番環境のGoogle Analytics 4 Data APIレポートを、ゲートウェイインジェクションベアラー認証、安全なリクエストレビュー、トラフィックソース、ランディングページ、時系列、収益、セッション、キーイベントレポートと共に実行します。

hybridclaw とは?

このスキルは、Google Analytics 4 Data APIを使用した本番環境レポートの実行を専門としています。開発者やAIエージェントは、自然言語クエリをGA4 APIリクエストJSONに変換し、実行前にレビューし、安全に実行できます。セッション、収益、キーイベント、トラフィックソース、ランディングページ、時系列トレンドなど、一般的なアナリストのニーズをカバーしています。認証はHybridClawゲートウェイを介して処理され、委任ユーザーOAuthとサービスアカウントJWTの両方をサポートしており、機密性の高い認証情報がモデルやプロンプトに公開されることはありません。このスキルはHybridClawエコシステム内で動作し、`ga4.py`スクリプトを介してレポート計画、HTTPリクエストペイロード構築、レビュー、実行のためのコマンドラインインターフェースを提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HybridAIOne/hybridclaw/tree/HEAD/skills/ga4

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

GA4

このスキルは、Google Analytics Data APIを通じたGoogle Analytics 4レポート(セッション、キーイベント、収益、トラフィックソースの内訳、ランディングページの内訳、時系列クエリ、アドホックなアナリスト読み取り、ダッシュボード、スケジュールレポート、ETL、モニタリング)に使用します。

スコープ

  • 設定されたプロパティに対してGA4 runReport リクエストを実行
  • 一般的な英語のアナリストリクエストを、レビュー可能なData APIペイロードに変換
  • 実行前にGA4リクエストJSONをレビュー
  • トラフィックソース、チャネルグループ、ランディングページ、日次トレンド、収益、セッション、ユーザー、キーイベントレポートを作成
  • 同じゲートウェイベアラーハンドル契約を通じて、委任ユーザーOAuthとサービスアカウント認証の両方をサポート
  • 認証モードの選択をテナント/ランタイム設定に保持し、プロンプトロジックには含めない
  • 通常のHybridClaw UsageTotals を通じてスキル実行コストを測定

デフォルトのワークフロー

  1. ユーザーがGA4 Data APIリクエストJSONを既に提供している場合を除き、自然言語リクエストは report-plan から開始します。
  2. 生成された、またはユーザーが提供したリクエストJSONを、実際の呼び出しの前に review-request でレビューします。
  3. HybridClaw内での実際のGA4 API呼び出しには、可能な場合は http_request を直接使用します。ヘルパーから出力された httpRequest オブジェクトをツールに渡します。
  4. オフラインでの計画/レビュー、および http_request が利用できない場合のゲートウェイプロキシ実行には、ヘルパーを使用します:
    python3 skills/ga4/scripts/ga4.py ...
    
  5. このスキルのすべてのGA4操作は読み取り専用として扱います。Admin APIの変更、プロパティアクセスの変更、キーイベントの変更、タグの変更を行わないでください。

認証契約

このスキルは、モデルにトークンや秘密鍵を公開せずに2つの認証モードをサポートします:

  • ベアラーシークレットハンドルによる委任ユーザーOAuth
  • ゲートウェイを介したGoogleサービスアカウントJWTベアラー交換

テナント設定でどのモードを使用するか決定します。

デフォルトの委任ユーザーOAuthハンドル:

hybridclaw auth login google \
  --client-id "<google-oauth-client-id>" \
  --client-secret "<google-oauth-client-secret>" \
  --account [email protected] \
  --scopes "https://www.googleapis.com/auth/analytics.readonly"

hybridclaw auth status google

委任OAuthでは、デフォルトの bearerSecretName: "GOOGLE_WORKSPACE_CLI_TOKEN" または google-oauth URL認証ルートを使用します。

サービスアカウント自動化では、サービスアカウントの client_email とPEM private_key を暗号化されたランタイムシークレットとして保存します。ゲートウェイはこれらの名前付きシークレットを読み取り、JWTアサーションにサーバーサイドで署名し、短期間有効なGoogleアクセストークンと交換し、そのトークンをGA4リクエストに注入します。

これらのシークレットを以下の順序で設定または更新します:

  1. ブラウザ管理者:アクティブなHybridClaw管理者URL(/admin/secrets で終わるもの)を開きます。
  2. ブラウザ /chat またはTUIフォールバック: /secret set GA4_SERVICE_ACCOUNT_EMAIL "<client-email>" および /secret set GA4_SERVICE_ACCOUNT_PRIVATE_KEY "<pem-private-key>"。
  3. ローカルコンソールフォールバック:
hybridclaw secret set GA4_SERVICE_ACCOUNT_EMAIL "<client-email>"
hybridclaw secret set GA4_SERVICE_ACCOUNT_PRIVATE_KEY '<pem-private-key>'

OAuthアクセストークン、リフレッシュトークン、サービスアカウント秘密鍵、ダウンロードしたJSONキーファイルをプロンプトに貼り付けないでください。実際の認証情報はHybridClawシークレットランタイムに保持され、ゲートウェイによってサーバーサイドで使用されます。

オプションの保存デフォルトも同じ設定順序を使用します:ブラウザ管理者の /admin/secrets、次にブラウザ /chat またはTUIでの /secret set、最後にローカルコンソールフォールバック。

hybridclaw secret set GA4_PROPERTY_ID "<numeric-property-id>"
hybridclaw secret set GA4_BEARER_SECRET_NAME "GOOGLE_WORKSPACE_CLI_TOKEN"

無人サービスアカウントジョブの場合は、テナントランタイムに環境デフォルトを設定します:

GA4_SERVICE_ACCOUNT_EMAIL_SECRET=GA4_SERVICE_ACCOUNT_EMAIL
GA4_SERVICE_ACCOUNT_PRIVATE_KEY_SECRET=GA4_SERVICE_ACCOUNT_PRIVATE_KEY

コマンド契約

自然言語からレポートを計画:

python3 skills/ga4/scripts/ga4.py --format json report-plan \
  "先週のオーガニックコンバージョンと前週の比較を表示"

計画済みまたは手書きのリクエスト用に http_request ペイロードを作成:

python3 skills/ga4/scripts/ga4.py --format json http-request 123456789 \
  --request-json '{"dateRanges":[{"startDate":"7daysAgo","endDate":"yesterday"}],"dimensions":[{"name":"date"}],"metrics":[{"name":"sessions"}],"limit":25}'

ゲートウェイヘルパーパスを介してレポートを実行:

python3 skills/ga4/scripts/ga4.py --format json run-report 123456789 \
  --request-json '{"dateRanges":[{"startDate":"7daysAgo","endDate":"yesterday"}],"metrics":[{"name":"sessions"}]}'

保存されたサービスアカウントシークレット名を選択してサービスアカウント認証を使用:

python3 skills/ga4/scripts/ga4.py --format json http-request 123456789 \
  --google-service-account-email-secret GA4_SERVICE_ACCOUNT_EMAIL \
  --google-service-account-private-key-secret GA4_SERVICE_ACCOUNT_PRIVATE_KEY \
  --request-json '{"dateRanges":[{"startDate":"7daysAgo","endDate":"yesterday"}],"metrics":[{"name":"sessions"}]}'

リクエストJSONをオフラインでレビュー:

python3 skills/ga4/scripts/ga4.py --format json review-request \
  '{"dateRanges":[{"startDate":"30daysAgo","endDate":"yesterday"}],"dimensions":[{"name":"landingPagePlusQueryString"}],"metrics":[{"name":"sessions"},{"name":"totalRevenue"}],"limit":25}'

アナリストクエリのプロンプトテンプレートペイロードを出力:

python3 skills/ga4/scripts/ga4.py --format json prompt-template \
  "過去30日間の日次セッションと収益"

バンドルされた評価スイートを実行:

python3 skills/ga4/scripts/ga4.py --format json eval-scenarios

作業ルール

  • 数値のGA4プロパティIDを使用します。properties/<id> 形式の入力は受け付けますが、API呼び出しの前に正規化します。
  • コンバージョンタイプのレポートには keyEvents を使用します。ユーザーが明示的にカスタムイベント指標を要求した場合を除きます。
  • カスタムディメンションに頼る前に、一般的な本番内訳には sessionDefaultChannelGroup、sessionSourceMedium、landingPagePlusQueryString、date を使用します。
  • 行制限を含めます。アドホックレポートではデフォルトで25とし、ユーザーがエクスポートやETLサイズの結果を要求した場合のみ増やします。
  • リクエストが年なしで四半期を指定した場合は、確認を求めます。
  • このスキルにAdmin APIの書き込みを追加しないでください。別の管理スキルには、明示的な承認レベルと境界テストが必要です。

評価スイート

バンドルされたシナリオは、セッション、キーイベント、収益、トラフィックソース、ランディングページ、時系列、比較、Eコマース、地理、デバイス、安全性/明確化のケースにわたる、25の代表的なアナリストリクエストをカバーしています。

関連スキル