Antigravity CLI を使用した仕様駆動開発 - スキルと MCP を使用した構造化エージェント ワークフロー

1. はじめに

MVP のバイブ コーディングは高速ですが、プロンプトを壁に投げつけて機能を追加すると、プロジェクトが破綻します。AI 支援開発に構造と現実世界のコンテキストを取り込む方法が必要です。そこで登場するのが、ターミナルで実行される AI コーディング エージェントである Antigravity CLI です。単独でコードベースを理解し、コマンドを実行してファイルを編集できます。このデバイスの真の力は、接続するデバイスによって発揮されます。

  • スキルは、エージェントに方法論とドメイン知識を提供します。方法論スキルは構造化された開発ワークフローを適用し、ドメインスキルは正確な API 知識を提供して、エージェントがハルシネーションを起こさないようにします。
  • MCP サーバーにより、エージェントは外部システムにライブ接続できます。これにより、エージェントは古いトレーニング知識に頼るのではなく、実際のスキーマを検査し、クエリを実行し、実際のデータに対して作業を検証できます。

スキルはエージェントの思考方法を形作り、MCP はエージェントが確認して操作できるものを形作ります。これらを組み合わせることで、汎用コーディング エージェントが、実際のデータに基づいた構造化されたワークフローに従うエージェントに変わります。この Codelab では、プラグインのインストールから機能のリリースまで、その組み合わせについて説明します。

作成するアプリの概要

この Codelab のパターン(方法論とドメイン知識のスキルをインストールする、ライブデータ アクセス用に MCP サーバーを接続する、仕様主導の開発サイクルを実行する)は、言語、フレームワーク、Google Cloud プロダクトに関係なく、Antigravity CLI で構築するすべての機能に適用されます。これらのパターンを具体的にするために、e コマース分析ダッシュボードに BigQuery 統合を追加するという具体的な例を説明します。

スターター アプリは、静的 CSV ファイルから販売データを読み取り、グラフ(収益の傾向、上位の商品、注文ステータスの内訳、カテゴリのパフォーマンス)をレンダリングする FastAPI ウェブアプリです。最終的に、アプリは BigQuery からライブデータをクエリします。BigQuery は、インフラストラクチャを管理することなく大規模なデータセットに対して SQL クエリを実行できる Google Cloud のサーバーレス データ ウェアハウスです。具体的には、thelook_ecommerce データセットに接続して、500 行の CSV では提供できない注文、商品、顧客の完全なカタログを利用できるようにします。この機能は、スキルと MCP に基づいて Antigravity CLI を介して構築します。

5acdeb09cd9d5960.png

Antigravity CLI で使用するエージェント構成は次のようになります。

5e3dd8629e65e6ce.png

学習内容

  • Cloud Shell で Antigravity CLI を使用する方法 - 起動、TUI の操作、スラッシュ コマンドの実行
  • エージェントのスキルとは何か、プログレッシブ開示パターン(メタデータ → 指示 → リソース)によってコンテキストの効率がどのように維持されるか
  • 3 つのスキル カテゴリ: 方法論(スーパーパワー)、効率(原始人)、ドメイン知識(google/skills)
  • MCP と、Antigravity CLI 用のリモート MCP サーバー(BigQuery MCP)を構成する方法
  • 仕様主導の開発サイクルを実行する方法: 指定 → 計画 → 実装
  • (省略可)Antigravity CLI のサブエージェントの仕組みと管理方法
  • google-cloud-bigquery Python クライアント ライブラリを FastAPI アプリに統合する方法
  • (省略可)ドメイン スキルを使用して Antigravity CLI でアプリを Cloud Run にデプロイする方法

前提条件

  • Google Cloud アカウント
  • Python、REST API、ターミナル コマンドに関する基本的な知識

2. 環境をセットアップする

このステップでは、スターター リポジトリのクローンを作成し、Google Cloud プロジェクトを構成して、必要な API を有効にします。

Cloud Shell を開く

ブラウザで Cloud Shell を開きます。Cloud Shell には、この Codelab で必要なすべてのツールがプリインストールされた環境が用意されています。プロンプトが表示されたら、[Authorize] をクリックします。

[表示] -> [ターミナル] をクリックしてターミナルを開きます。インターフェースは次のようになります。

86307fac5da2f077.png

これがメイン インターフェースになります。上部に IDE、下部にターミナルが表示されます。

作業ディレクトリを設定する

この Codelab のスターター コードを含むコンパニオン リポジトリのクローンを作成します。

git clone https://github.com/alphinside/sdd-agy-bigquery-dashboard.git
cloudshell workspace sdd-agy-bigquery-dashboard && cd sdd-agy-bigquery-dashboard

このリポジトリには、静的 CSV ファイルから読み取る完全な動作可能な e コマース ダッシュボード アプリが含まれています。この Codelab では、Antigravity CLI を使用して、BigQuery 統合を新しい機能として追加します。

800c260f0be6933c.png

主なファイルとディレクトリは次のとおりです。

  • src/main.py - ダッシュボード データを提供する API エンドポイントを含む FastAPI アプリケーション
  • src/data_service.py - pandas を使用して CSV ファイルから読み取るデータレイヤ
  • src/templates/dashboard.html - Chart.js 可視化を含む Jinja2 テンプレート
  • data/ - e コマースデータの小さなサブセットを含む静的 CSV ファイル(orders.csvproducts.csvorder_items.csv

このアプリは、読み取り専用のシンプルなダッシュボードです。main.py は API エンドポイントを定義し、data_service.py は CSV ファイルを読み取って構造化データを返し、dashboard.html はそのデータをグラフとしてレンダリングします。構築する BigQuery インテグレーションでは、静的ファイルを読み取る代わりにライブデータをクエリするモジュールで data_service.py を置き換えます。

ターミナルを構成する

Google Cloud プロジェクトを作成する(省略可)

新しいプロジェクトを作成するには、Cloud コンソール UI で、左上のプロジェクト ピッカーをクリックして New Project をクリックします。

e2411959f960166b.png

または、より迅速な方法をご希望の場合は、ターミナルで次のコマンドを実行します。

PROJECT_ID="sdd-agy-cli-$(openssl rand -hex 5)"
gcloud projects create "$PROJECT_ID"
echo $PROJECT_ID

これにより、ランダムなプロジェクト ID を持つ Google Cloud プロジェクトが作成されます。コマンドは生成されたプロジェクト ID を出力します。この ID は、後で構成で YOUR_PROJECT_ID として使用します。

ターミナルの有効化

次に、選択した Google Cloud プロジェクトでターミナルを構成する必要があります。次のコマンドを実行して、使用可能なプロジェクトを一覧表示し、選択するプロジェクト ID を見つけます。

gcloud projects list

次のようなリストが表示されます。使用するプロジェクト ID をメモするかコピーします。

PROJECT_ID: alvin-exploratory-2
NAME: alvin-exploratory-2
PROJECT_NUMBER: 109790610330

次のコマンドを実行して、ターミナルをアクティブにするスクリプトを作成します(このファイルは自分で作成することもできます)。

cloudshell edit configure_terminal.sh

次のコードをスクリプトにコピーします。

#!/bin/bash

gcloud config set project YOUR_PROJECT_ID
export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value project)
echo $GOOGLE_CLOUD_PROJECT

YOUR_PROJECT_ID を実際のプロジェクト ID に置き換えます。前のコマンドでは、Codelab 全体で使用するプロジェクト ID を環境変数としてエクスポートします。その後、ファイルを保存して実行します。

bash configure_terminal.sh

Cloud Shell ターミナル プロンプトの作業ディレクトリの横にある黄色のテキストを確認して、プロジェクトが正しく設定されていることを確認します。プロジェクト ID が表示されます。

8205fa68a1d749d7.png

必要な API を有効にする

次に、ユースケースのシナリオに関連する BigQuery を操作します。この Codelab に必要な Google Cloud APIs を有効にします。

gcloud services enable bigquery.googleapis.com

この API を使用すると、BigQuery にアクセスできます。この Codelab のシナリオで使用する初期データセットを準備しましょう。

3. BigQuery データセットを設定する

シナリオは次のとおりです。会社には、注文、商品、注文アイテムなどの e コマース データが BigQuery にすでに保存されています。注文データ ダッシュボードを表示するアプリケーションを開発していますが、現在は、このデータの小さな CSV 抽出のみを読み取って、最初にフロントエンドに集中できるようにしています。ここで、完全なデータセットに対して BigQuery を直接クエリするようにアップグレードします。

これをシミュレートするには、Google が管理する一般公開データセットである TheLook E-commerce を使用します。このデータセットには、実際の e コマースの合成データ(125,000 件以上の注文、29,000 件以上の商品)が含まれています。関連するテーブルを独自のプロジェクトの BigQuery インスタンスにコピーして、「会社のデータ」として機能させます。

Cloud Shell には、BigQuery と直接やり取りするために使用できる bq CLI がすでに存在するため、データを直接準備できます。

プロジェクトにデータセットを作成します。

bq mk --dataset $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

一般公開データセットから新しいデータセットに 3 つのテーブルをコピーします。

bq cp bigquery-public-data:thelook_ecommerce.orders $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.orders
bq cp bigquery-public-data:thelook_ecommerce.order_items $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.order_items
bq cp bigquery-public-data:thelook_ecommerce.products $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.products

テーブルがデータセットにあることを確認します。

bq ls $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

ordersorder_itemsproducts の 3 つのテーブルが表示されます。

   tableId     Type    Labels   Time Partitioning   Clustered Fields  
 ------------- ------- -------- ------------------- ------------------ 
  order_items   TABLE                                                  
  orders        TABLE                                                  
  products      TABLE

簡単なテストクエリを実行して、データにアクセスできることを確認します。

bq query --nouse_legacy_sql \
  "SELECT COUNT(*) as total_orders FROM \`$GOOGLE_CLOUD_PROJECT.thelook_ecommerce.orders\`"
+--------------+
| total_orders |
+--------------+
|       125957 |
+--------------+

10 万件を超える注文数が表示されます。

4. 最初のウェブアプリを実行する

アプリをアップグレードする前に、現在の状態で実行して、CSV を利用したダッシュボードがどのようなものか見てみましょう。

uv は、Rust で記述された高速の Python パッケージおよびプロジェクト管理ツールです(ドキュメント)。この Codelab では、速度と簡便性を重視してこれを使用します。このチュートリアルで Cloud Shell を使用する場合、インスタンスにすでにプリインストールされています。ローカルにインストールする場合は、こちらのチュートリアルをご覧ください。

プロジェクトの依存関係をインストールします。これにより、仮想環境も準備されます。

uv sync

その後、Python に精通している場合は、python コマンドを実行する代わりに、uv バイナリですべてのコマンドを実行します。FastAPI 開発用サーバーを起動します。

uv run uvicorn src.main:app --host 0.0.0.0 --port 8080

Cloud Shell のウェブ プレビュー機能を使用して、ブラウザでダッシュボードを開きます。[ウェブでプレビュー] ボタン(Cloud Shell ツールバーの目のアイコン)をクリックし、[ポート 8080 でプレビュー] を選択します。

53758c68d6505e7a.png

ダッシュボードには、次の 4 つのグラフ パネルが表示されます。

  • 収益の推移 - CSV データの期間における 1 日あたりの収益を示す折れ線グラフ
  • 収益上位の商品 - 商品を総売上高でランク付けした横棒グラフ
  • 注文ステータスの内訳 - 完了、発送済み、処理中、キャンセル、返品の注文の分布を示すドーナツ グラフ
  • カテゴリ別のパフォーマンス - 商品カテゴリ別の収益を示す横棒グラフ

ヘッダーに [データソース: CSV] バッジが表示されていることを確認します。概要カードには、500 件の注文と約 750 件の注文商品から計算された合計が表示されます。これは、TheLook データセットの小さなサブセットです。日付の範囲は 2023 年 10 月~ 12 月に限定されます。

これがベースライン アプリです。次に、Antigravity CLI を使用して BigQuery と統合するようにアップグレードします。

5. Antigravity CLI を設定する

このステップでは、Antigravity CLI を紹介し、ターミナル ユーザー インターフェースについて説明します。また、開発ワークフローを効率化するために 3 つのカテゴリのプラグインをインストールします。その過程で、エージェント スキルと MCP とは何か、それらが AI コーディング エージェントの機能をどのように拡張するかを学びます。

Antigravity CLI とは

Antigravity CLI は、Google の AI コーディング エージェントであるターミナル用 Antigravity のバリエーションです。これは、Antigravity 2.0 デスクトップ アプリケーションを駆動するのと同じエージェント ハーネスに接続する、Go で構築された軽量のターミナル ユーザー インターフェース(TUI)です。コードベースの読み取り、コマンドの実行、ファイルの編集、MCP 経由での外部ツールへの接続をすべてターミナルから行います。

このチュートリアルで Cloud Shell を使用する場合、Antigravity CLI はすでにプリインストールされています。次のコマンドを実行して確認できます。

agy --help

次のコマンド オプションの詳細が表示されます。

Usage of agy:
  --add-dir                       Add a directory to the workspace (repeatable) (default [])
  -c                              Short alias for --continue
  --continue                      Continue the most recent conversation
  --conversation                  Resume a previous conversation by ID
  --dangerously-skip-permissions  Auto-approve all tool permission requests without prompting
  -i                              Short alias for --prompt-interactive
  --log-file                      Override CLI log file path
  --model                         Model for the current CLI session
  --new-project                   Create a new project for this session
  -p                              Short alias for --print
  --print                         Run a single prompt non-interactively and print the response
  --print-timeout                 Timeout for print mode wait (default 5m0s)
  --project                       Project ID for the current CLI session
  --prompt                        Alias for --print
  --prompt-interactive            Run an initial prompt interactively and continue the session
  --sandbox                       Run in a sandbox with terminal restrictions enabled

Available subcommands:
  changelog       Show changelog and release notes
  help            Show help for subcommands
  install         Configure environment paths and shell settings
  models          List available models
  plugin          Manage plugins (install, uninstall, list, enable, disable)
  plugins         Alias for plugin
  update          Update CLI

Antigravity CLI を起動する

Antigravity CLI を初めて使用する場合は、セットアップする必要があります。新しいターミナルタブで起動します。

agy

初めて実行する場合は、認証方法の選択を求められます。

5606b640b9bed9c3.png

このチュートリアルでは Google OAuth を使用します。URL を開くように求められ、ログインに使用する Google アカウントを選択するよう求められます。

e42183f1ccc5771a.png

[認証] をクリックしたら、Google アカウントを選択して Sign In をクリックします。

572b1d06151b55fa.png

コピーする文字列が表示されます。Copy to Clipboard をクリックしてコピーします。

590d375c71f62a0e.png

次に、以下のように Antigravity CLI プロンプトに貼り付けます。

a807ff24fbf278b4.png

その後、カラーテーマの選択と利用規約への同意を求められます。

3a7cd90438c94f5c.png

現在のワークスペース ディレクトリを信頼するかどうかを尋ねられます。受け入れて続行します。これは、ターミナルで Antigravity CLI を操作するためのメイン エントリになります。

9e1e03543e8063c.png

ここでは、Antigravity CLI を終了して、次のセクションに進みます。

6. カスタマイズ - エージェント スキル

Antigravity CLI は、すぐに使用できる状態で、コードベースの読み取り、シェル コマンドの実行、ファイルの編集を行うことができます。組み込みの仕様駆動開発ワークフローは限定的で、特定の API に関する知識はトレーニング データに含まれていたものに限定されます。BigQuery を既存のアプリに統合するタスクの場合、次の 2 つのギャップが生じます。

  1. プロセスギャップ - 構造がないと、Antigravity CLI はコードの記述に直接ジャンプする可能性があります。小さな修正であれば問題ありません。複数のファイルとエンドポイントにまたがる機能の場合、実装に一貫性がなくなり、エッジケースが抜け落ち、決定事項やその理由に関するドキュメントが作成されません。
  2. 知識のギャップ - モデルのトレーニング データに、古い BigQuery クライアント ライブラリ パターン、非推奨の API 呼び出し、誤ったテーブル スキーマが含まれている可能性があります。現在の実際のデータセットを確認する方法はありません。

スキルは、プロセス ギャップを解消します。superpowers などの開発方法論スキルは、仕様の承認までエージェントがコードを記述しないという、仕様策定、計画、実装のサイクルを強制します。bigquery-basics などのドメインスキルは、Google が管理する最新の API ドキュメントを提供するため、エージェントは正しいクライアント ライブラリ パターンを使用します。

MCP サーバーは、実行時に知識のギャップを埋めます。BigQuery MCP は、エージェントに実際のデータセットへのライブ接続を提供します。テーブルのリスト表示、列の型の検査、サンプル クエリの実行が可能です。エージェントは推測ではなく、実際のスキーマデータに基づいて動作します。

この 2 つについて詳しく見ていきましょう。

Agent Skills(エージェントのスキル)

Agent Skills は、専門知識とワークフローを使って AI エージェント機能を拡張するための軽量のオープン フォーマットです。各スキルは、SKILL.md ファイルを含むポータブルなバージョン管理ディレクトリです。SKILL.md ファイルは、エージェントが特定のタスクを処理する方法を定義する機械可読コントラクトです。

スキル ディレクトリは次のようになります。

skills/<skill-name>/
├── SKILL.md          # Required: YAML frontmatter + workflow instructions
├── scripts/          # Optional: helper scripts
├── references/       # Optional: reference implementations
├── assets/           # Optional: templates or assets
└── ...                # Any additional files or directories

スキルは、SKILL.md ファイルを含むフォルダです。このファイルには、メタデータ(少なくとも名前と説明)と、エージェントに特定のタスクの実行方法を指示する手順が含まれています。スキルには、スクリプト、参考資料、テンプレート、その他のリソースをバンドルすることもできます。

この Codelab で後ほど使用する bigquery-basics スキルの SKILL.md は次のとおりです。

---
name: bigquery-basics
metadata:
  category: BigDataAndAnalytics
description: >-
  Manages datasets, tables, and jobs in BigQuery. Use when you need to interact
  with BigQuery, run SQL queries, manage BigQuery resources (datasets, tables,
  views), or perform basic data ingestion and analysis.
---

# BigQuery Basics

[Detailed instructions about BigQuery APIs, SQL patterns,
 client library usage, data ingestion patterns, etc.]

YAML frontmatter(名前、説明、メタデータ)は、Antigravity CLI が起動時に読み込む軽量メタデータです。--- の下のマークダウン本文は、Antigravity が BigQuery 関連のタスクを検出した場合にのみ読み込まれる完全な命令セットです。

段階的な開示

スキルは、コンテキスト ウィンドウの飽和を防ぐ 3 層のプログレッシブ開示パターンを使用します。

  1. レイヤ 1(検出): 起動時に、Antigravity はインストールされているすべてのスキルの YAML メタデータのみを読み取ります。スキルが存在することだけを認識します。
  2. レイヤ 2(アクティベーション): タスクがスキルの説明と一致すると、AGY は SKILL.md 全体をアクティブ コンテキストに読み込みます。これで、何をすべきかがわかるようになりました。
  3. レイヤ 3(実行): 必要に応じて、Antigravity はスキルのスクリプト、例、リソースにアクセスします。これで、その方法がわかりました。

関連する知識のみが適切なタイミングで読み込まれます。たとえば、Cloud Run デプロイのスキルは、BigQuery クエリの操作中にコンテキストを使用しません。

3 つのスキルカテゴリ

エージェントのスキルにはさまざまな種類があります。この Codelab では、3 つのスキルを使用します。各スキルは、異なるカテゴリのスキルを表します。

カテゴリ

スキル

目的

ドメイン知識

google/skills

エージェントが特定のテクノロジーについて知っていること

手法

obra/superpowers

開発方法 - 仕様駆動開発、計画、テストを強制します

効率性

JuliusBrussee/caveman

トークンを効率的に使用する方法

google/skills は、Google プロダクト向けに Google が管理するファーストパーティ エージェント スキルを提供します。たとえば、BigQuery API、Cloud Run デプロイ パターン、その他のサービスに関する正確で最新の知識をエージェントに提供します。ドメイン スキルがないと、エージェントは古い可能性のあるトレーニング データや不完全なトレーニング データに依存することになります。ドメイン スキルは、推測を最新のドキュメントに置き換えます。

obra/superpowers は、仕様駆動開発(SDD)ワークフローの独自の実装です。SDD フレームワークがないと、エージェントは機能の説明を聞くとすぐにコードに飛びつきます。これは小さな修正には有効ですが、大規模な修正では一貫性がなく、保守が難しい結果が生じます。SDD は、要件の明確化 → 仕様の作成 → 計画の生成 → 仕様に沿った実装という構造化されたサイクルを強制します。各ステージでレビュー可能な成果物が生成されます。エージェントは、仕様を承認するまでコーディングを開始しません。他の SDD フレームワーク(spec-kitagent-skills など)も存在しますが、それぞれが specify-plan-implement サイクルについて異なる意見を持っています。この Codelab では、具体的な例としてスーパーパワーを使用しますが、基盤となる規律(コーディング前に指定して計画する)は、選択するフレームワークに関係なく適用されます。

JuliusBrussee/caveman は、エージェントの出力を最大 75% 圧縮します。技術的な内容はそのままに、フィラー、挨拶、冗長な説明を削除します。レスポンスあたりのトークン数が少ないほど、セッションあたりの生産性が向上し、レスポンスが速くなります。/caveman を使用するか、エージェントに効率的に話すよう指示して有効にします。セキュリティ警告や取り消し不可能な操作では自動的に無効になります。

エージェント スキルのインストール

Google Skills の公式インストール

まず、操作する必要な Google スキルをインストールしましょう。このチュートリアルでは、BigQueryCloud Run を中心に、主要な技術スタックについて説明します。では、これらのスキルをインストールしましょう。このインストールには npx skills コマンドを使用します。

npx skills add google/skills

インタラクティブ ターミナル UI が開きます。多くのスキルがあります。矢印キースペースバーを使用して、この Codelab で必要なスキルを選択します。

8b6b0deb5fe07dfd.png

bigquery-basicscloud-run-basics を見つけて、[スペース] をクリックして選択します。下の図のように、ボックスが濃いグレーで表示されます。

4fa62a7341444be5.png

次に、エージェントの選択画面で [Enter] をクリックして選択をスキップします。Antigravity CLI はデフォルトで含まれています。

c16e7ed1be8ad91b.png

[Project] インストール スコープを選択します。これにより、スキルが作業ディレクトリの .agents ディレクトリにインストールされます。

6c84cee31651dffc.png

最後に [Enter] をクリックして、Yes と回答し、インストールを完了します。構成されているスキルが多い場合は、必要に応じて [はい] を選択して find-skills スキルをインストールすることもできます。

4709e3a1ad34a27d.png

プラグインとしてのサードパーティ製スキルのインストール

次に、obra/superpowers スキルと JuliusBrussee/caveman スキルをインストールします。これらのスキルは Antigravity CLI プラグインとしてインストールできるようにサポートされているため、次のコマンドを使用してインストールできます。

agy plugin install https://github.com/obra/superpowers
agy plugin install https://github.com/JuliusBrussee/caveman

次のコマンドを使用して、インストールを確認できます。

agy plugin list

次のような出力が表示されます。

{
  "imports": [
    {
      "name": "superpowers",
      "source": "gemini-cli",
      "importedAt": "2026-07-06T01:50:36Z",
      "components": [
        "skills",
        "hooks"
      ]
    },
    {
      "name": "caveman",
      "source": "gemini-cli",
      "importedAt": "2026-07-06T01:50:37Z",
      "components": [
        "skills",
        "agents",
        "commands"
      ]
    }
  ]
}

これでスキル設定は完了です。次の質問に移ります

7. カスタマイズ - MCP ツール

e7b9be2e1c98b4db.png

MCP(Model Context Protocol)は、AI エージェントが外部ツールを検出してやり取りする方法を標準化するオープン プロトコルです。クライアント / サーバー モデルを定義します。エージェントは MCP クライアントをホストし、ツールは MCP サーバーによって公開されます。MCP 対応のクライアントは、MCP 対応のサーバーを使用できます。エージェントは、各ツールにカスタム統合コードを必要としません。

MCP はクライアント / サーバー アーキテクチャを使用します。

  • ホスト - AI モデルが存在するアプリケーション(この場合は Antigravity CLI)
  • クライアント - MCP 通信を処理するホスト内のコンポーネント(Antigravity CLI に組み込まれています)
  • サーバー - AI に機能を公開する軽量プログラム(このケースでは、Google Cloud Managed BigQuery MCP Server を使用します)。

この Codelab の後半で Antigravity CLI が SDD ワークフローを実行する際に、BigQuery データセット スキーマ(テーブル名、列の型、リレーションシップ)に関する正確な知識が必要になります。BigQuery MCP を使用すると、Antigravity CLI でライブ スキーマを直接検査できます。これにより、実際にあるテーブルと列を参照する仕様とコードが生成されます。

BigQuery Managed MCP の構成

Google は、Google Cloud インフラストラクチャでマネージド BigQuery MCP サーバーをホストします。ローカル設定は必要ありません(サポートされている他の Google Cloud プロダクトについては、こちらのドキュメントをご覧ください)。プロジェクト ディレクトリに MCP 構成ファイルを作成して、Antigravity CLI が接続するように構成します。

mkdir -p .agents
cat > .agents/mcp_config.json << EOF
{
  "mcpServers": {
    "bigquery": {
      "serverUrl": "https://bigquery.googleapis.com/mcp",
      "transport": "http",
      "authProviderType": "google_credentials"
    }
  }
}
EOF

この構成では、AGY に次のように指示します。

  • BigQuery MCP サーバー(serverUrl)の確認場所
  • 認証に Google 認証情報を使用する(authProviderType

構成はワークスペース レベル(.agents/mcp_config.json)に存在します。

Antigravity CLI 内から構成を確認できます。まず実行してみましょう。

agy

次に、スラッシュ コマンド /mcp を実行して構成を確認します。

/mcp

次のような画面が表示されます。

a7ef228bfcbb5280.png

次に、Esc キーを押して、スラッシュ コマンドの操作を終了します。

当面の間、Antigravity CLI を終了します(Ctrl+D を 2 回押します)。

8. 仕様駆動開発による機能開発

スキル/プラグインがインストールされ、BigQuery MCP が接続されたので、仕様駆動開発ワークフローを使用して BigQuery 統合機能を正式に指定できるようになりました。これは、「コーディング前に指定する」が具体的なステップになる段階です。

Antigravity CLI を入力します。このデモでは、このフラグを使用してすべてのツールの実行を許可します。

agy --dangerously-skip-permissions

洞窟人モードを有効にする

SDD サイクルを開始する前に、洞窟人モードを有効にして、マルチステップ ワークフロー全体でトークンの使用を効率的に保ちます。

/caveman:caveman

Antigravity CLI のレスポンスが簡潔になります。技術的な内容はすべて維持しながら、つなぎ言葉や挨拶が削除されます。1 回のやり取りで使用するトークンが少ないほど、同じ割り当て内で生産性の高い会話を行うことができます。

8e6965ae2207147e.png

SDD 仕様を開始する

機能リクエストで Antigravity CLI をプロンプトします。

I want to add a BigQuery integration feature to this e-commerce dashboard app. Currently it reads
from CSV files in the data/ directory. I want to replace the CSV reads with live queries
against the thelook_ecommerce dataset in my BigQuery project using the
google-cloud-bigquery Python client library.

The dashboard should show the same panels (revenue trend, top products, order status,
category performance) but with the full dataset instead of the 500-row CSV subset.

Follow spec-driven-development for development workflow, ensure spec and plan docs created following the superpowers standard in current working directory; also use Bigquery MCP to figure out the data schema.

スーパーパワー スキルは、機能レベルのリクエストを検出すると自動的に有効になります。AGY は、コードに直接ジャンプするのではなく、SDD サイクルに入ります。

Antigravity CLI は、現在のプロジェクトを理解し、必要なコンテキストを収集するプロセスを開始します。次のように、ListDirRead などのコマンドが実行されます。

3102949f929df967.png

また、以前に設定した BigQuery MCP 接続を使用して、データセットのスキーマを検索します。

7fbc061a07058d24.png

これにより、開発を開始する前に Antigravity CLI のコンテキストが正しく設定されます。

要件の明確化

Antigravity CLI は、機能の範囲について的を絞った質問をすることがあります。一般的な質問には次のようなものがあります。

  • プロジェクト ID はどのように構成する必要がありますか?
  • 収益の推移グラフはどのように集計して表示すればよいですか?
  • 統合はどのようにアプローチすべきですか?直接 SQL とローカル Pandas

エージェントの推奨事項に沿って、これらの質問に回答できます。

91fb44a131f927e9.png4d5e5ffbc81644a5.png

仕様を確認する

明確化された後、正式な仕様書が作成されます。手順に正しく従うと、obra/superpowers スキルの規約に従って、以下のように docs/superpowers/specs ディレクトリに仕様書が作成されます。

86e0a2f86a956497.png

仕様書は次のようになります。

# BigQuery Integration Design Specification

## Overview

This document specifies ...

## Architecture

The application currently reads ...

## Data Schema & Sources

All tables reside in the BigQuery ...

...

これを確認した後、仕様を確認して計画フェーズに進む必要があります

74cde3e9b4c95b88.png

proceed with the specs

計画フェーズとサブエージェントの実行

仕様を承認すると、Antigravity CLI は仕様を実装プランに分解し、ディレクトリ docs/superpowers/plans に書き込みます。

727b92a4eca89106.png

プランのドキュメントには、次の例のような項目が記載されます。

  • 変更するファイル
  • 作成/更新するファイル
  • 依存関係の変更
  • タスクの内訳

また、Antigravity CLI でサポートされている subagent driven development の使用も推奨されます。単一のエージェントがすべてを順番に実行するのではなく、Antiravity CLI はタスクを専門のサブエージェントに委任できます。実装中に、次のようなサブエージェントが表示されることがあります。

  • タスク実装者 - プランの特定のタスクのコードを記述します。
  • タスク レビュー担当者 - 仕様に沿って実装されたコードをレビューします
  • 最終コードレビュー担当者 - 完了前にすべての変更を包括的にレビューします。

751df4f6d964e42b.png

次のようなプロンプトが表示された場合は、次のように応答します。

Use subagent driven development

後で説明しますが、サブエージェントはタスクを 1 つずつ選択するように委任されます。

fb4a986dbceaec96.pngb2e74e769f9ff4bf.png620d12e9056f621b.png

しばらくすると、開発がすべて完了します(おそらく Final Code Reviewer エージェントの生成後)。次に、結果を検査できます。

アプリの手動審査の更新

すべてのタスクが完了したら、更新されたアプリケーションを確認できます。Ctrl+D を 2 回押して Antigravity CLI を終了し、次のコマンドを実行します。

bash configure_terminal.sh && uv run uvicorn src.main:app --host 0.0.0.0 --port 8080

開発が成功すると、Total Orders に 12 万件を超える注文が表示され、BigQuery と統合されます。

20398466e2d8a70f.png

おめでとうございます!これで、Antigravity CLI のサポートにより、BigQuery をウェブ アプリケーションに統合できました。

9. (省略可)Antigravity CLI を使用して Cloud Run にデプロイする

ダッシュボードは、Cloud Shell ウェブ プレビューを介してローカルで動作します。この省略可能な手順では、一般公開されているウェブサービスとして Cloud Run にデプロイします。これにより、Antigravity CLI のドメイン スキルが開発から運用に拡張される方法が示されます。

cloud-run-basics スキル(以前にインストールした google/skills プラグイン)により、Antigravity CLI は Cloud Run のデプロイ パターン、Dockerfile の要件、ポート バインディング、gcloud run deploy フラグに関する知識を取得します。ソースベースのデプロイ(gcloud run deploy --source .)では、1 つのコマンドでビルドとデプロイが行われます。コンテナ化は Cloud Build によって自動的に処理されます。

Cloud Run API を有効にする

デプロイに必要な API を有効にします。

gcloud services enable \
  run.googleapis.com \
  cloudbuild.googleapis.com \
  cloudresourcemanager.googleapis.com

次に、Antigravity CLI を入力します

agy --dangerously-skip-permissions

Antigravity CLI にデプロイを求める

アプリケーションをデプロイするように指示します。

Deploy this application to Cloud Run, name the service "bigquery-dashboard" and make it publicly accessible

cloud-run-basics スキルを読み取り、現在のプロジェクトのウェブ アプリケーションをデプロイするための要件を把握します。

a5ef955de2d71c91.png

完了すると、デプロイが成功したことが確認され、以前に実行されたデプロイ プロセスの概要が、次の例のように表示されます。指定された URL でアプリケーションにアクセスできます

b58fb8f5f2023264.png

これで、Antigravity CLI を使用して、完全にデプロイされ、アクセス可能なライブ アプリケーションが作成されました。

10. まとめ

e コマース ダッシュボードを静的 CSV ファイルからライブ BigQuery データにアップグレードしました。アプリケーション コードを手動で記述することはありません。Antigravity CLI は、再利用可能なスキルと MCP を介したデータへのライブ接続によって導かれる、規律ある仕様主導の開発ワークフローを通じて実装を処理しました。

学習した内容

  • Cloud Shell で Antigravity CLI を使用して AI 支援開発を行う方法
  • エージェントのスキルとは何か、プログレッシブ開示によってコンテキスト ウィンドウの効率がどのように維持されるか
  • 3 つのスキル カテゴリ: 方法論(スーパーパワー)、効率性(原始人)、ドメイン知識(Google/スキル)
  • MCP と、ライブデータ アクセス用に BigQuery MCP を構成する方法
  • バイブ コーディングではなく、仕様主導の開発サイクル(指定 → 計画 → 実装)を実行する方法
  • Antigravity CLI がサブエージェントを生成して開発をより集中的かつ効率的にする方法

クリーンアップ

この Codelab で作成したリソースについて、Google Cloud アカウントに課金されないようにするには、個々のリソースを削除するか、プロジェクト全体を削除します。

最も簡単なクリーンアップ方法は、プロジェクトを削除することです。これにより、プロジェクトに関連付けられているすべてのリソースが削除されます。

gcloud projects delete $GOOGLE_CLOUD_PROJECT

オプション 2: 個々のリソースを削除する

プロジェクトを保持し、この Codelab で作成したリソースのみを削除する場合は:

bq rm -r -f $GOOGLE_CLOUD_PROJECT:thelook_ecommerce
gcloud run services delete bigquery-dashboard --region us-central1 --quiet