lattice-sdk-integration について
Lattice Sandboxes との連携を構築するためのスキルで、パブリッシャー、タスクエージェント、コンシューマー、ブリッジの実装者を対象とします。SDK や API の正式な契約を確認し、サンドボックスとの実際の往復通信で検証する方針です。
主な機能
- 01連携タイプの振り分け
- 02SDK のイントロスペクション手順
- 03REST・gRPC 契約の参照先
- 04サンドボックス認証の指針
- 05ライブ往復検証
活用シーン
- 01データソースからのエンティティ公開
- 02タスク対応エージェントの構築
- 03エンティティストリームの消費
- 04外部システムと Lattice の接続
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ anduril/ lattice-sdk-ai --skill lattice-sdk-integrationインストール後、Claude Code で/lattice-sdk-integrationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/auth-and-deployment.mdentity-fields.mdenum-literals.generated.mdenums.mdlattice-terminology.mdobjects-api.mdprotocol-selection.mdtask-lifecycle.md詳細
Lattice 連携の構築
素早く 0 → 0.9 の連携を構築する場合は、Lattice Sandboxes を対象にしてください。デフォルトの認証方式は環境トークンです。正確な値を推測してはいけません。必要な情報の種類に応じて、適切な情報源から取得してください。
情報の優先順位 — 情報の種類ごとに分けてください:
- 列挙型のリテラル、フィールド名、protobuf のメッセージ/サービス名、認証ヘッダー → お使いの言語用の Lattice SDK をインストールして調査する(正式な情報源です。最新版をインストールしてください)→ enum-literals.generated.md のスナップショット(便利ですが、古い場合があります)→ ドキュメント(フォールバック)。
- REST URL パス(例:
/api/v1/entities)→ https://developer.anduril.com/openapi/rest.json にある REST OpenAPI 仕様。パスはインストール済み SDK には含まれていません。生成されたクライアントはentities.publish_entity(...)のようなメソッドの背後にパスを抽象化しているため、調査してもパスはわかりません。代わりに仕様を取得してください。 - gRPC のインターフェース(RPC、メッセージの構造)→ インストール済み/生成済みのスタブ、および閲覧用の gRPC リファレンス https://developer.anduril.com/reference/grpc。
- ドキュメント内のその他の情報 → AI エージェント向けサイトマップ https://developer.anduril.com/llms.txt から始めてください(各ドキュメントページの URL に
.mdを追加すると、整形済みの Markdown を取得できます)。
サンドボックスとの実際のラウンドトリップをもって完了とします。
連携の分類
連携を分類し、コードを書く前に関連するリファレンスを読んでください。
| 構築するもの… | 分類 | 詳細 |
|---|---|---|
| ソースからエンティティ/トラックを公開する | エンティティパブリッシャー | <references/entity-fields.md>、<references/enums.md> |
| タスクを受信して実行するタスク対応エージェント | タスクエージェント | <references/task-lifecycle.md> |
| エンティティストリームを監視/利用する | ウォッチャー/コンシューマー | <references/entity-fields.md> |
| メディア/ファイルをアップロードまたは添付する | オブジェクト/メディア(REST のみ) | <references/objects-api.md> |
| 外部システムを Lattice に接続する | ブリッジ | <references/protocol-selection.md> |
| REST と gRPC のどちらを使うべきか不明 | プロトコルの選択 | <references/protocol-selection.md> |
| サンドボックスで認証する | 認証 | <references/auth-and-deployment.md> |
連携に関する質問に回答したり、コードを書いたりする前に、関連するリファレンスファイルを読んでください。
重要なルール
- 列挙型のリテラル、フィールド名、タスク仕様の URL、protobuf のメッセージ名/サービス名、認証ヘッダーを推測しないでください。 インストール済み SDK を調べてください。enums.md を参照してください。REST URL のパスを確認するには、OpenAPI 仕様を取得してください(上記の事実の優先順位に関する説明を参照)。パスは SDK に含まれていません。
- インポート/解決プローブで SDK を検出してください。ファイルシステムを検索してはいけません。 1 回のコマンドでインポートして、SDK がインストールされているか確認してください(Python:
python -c "import anduril, inspect, os; print(os.path.dirname(inspect.getfile(anduril)))"、またはpip show anduril-lattice-sdk;node -p "require.resolve('@anduril-industries/lattice-sdk')";go list -m github.com/anduril/lattice-sdk-go)。インストールされていない場合は、インストールしてください(pip install anduril-lattice-sdkなど)。インストールが正しい最初の手順であり、代替手段ではありません。Latticeクラスや SDK ファイルを探してfind/grepでファイルシステムを検索しないでください。 - 実際に送受信して往復確認することが完了の条件です。 プロセスが正常に終了したり、自分のログを読んだりしても、何の証明にもなりません。
Any型の列挙型の罠により、誤った値でもローカルでは通り、サーバーでのみ拒否されます。サンドボックスに対して公開/実行し、別の手順で読み戻してください。 - 環境トークン認証をデフォルトにし、認証情報をハードコードしたりログに記録したりしないでください。 認証情報がない場合はユーザーに確認してください。作り出してはいけません(auth-and-deployment.md を参照)。
- サンドボックスのみを対象とします。 このプラグインの範囲はサンドボックスでの検証までです。本番テナントに関する案内に踏み込まないでください。
- Python や REST を前提にしないでください。 リポジトリですでに使われている言語を優先し、プロトコルは意図的に選択してください。
ワークフロー
- 上記のルーティング表を使って、統合の種類を分類します。
- ユーザーまたはリポジトリから、言語、プロトコル、認証、デプロイ先の4 つの要素を抽出します。指定が不十分な場合はプロトコルを推奨し(protocol-selection.md を参照)、ユーザーに確認または変更してもらいます。
- 言語に関する案内は最小限にします。 リポジトリの言語を優先し、REST ではドキュメント化された SDK を、gRPC では生成済みスタブを優先します。言語の変更を強制しないでください。
- auth-and-deployment.md に従って、認証とデプロイ先を選択します。デフォルトは環境トークンとサンドボックストークンです。上書きする場合は OAuth クライアント認証情報を使用します。
- 正確な契約に基づいて構築します。リテラル、フィールド名、メッセージ名についてインストール済み SDK を調べます(未インストールの場合は、先にインストールしてください。ファイルシステム検索ではなく、インポートプローブを使用します)。REST URL のパスを確認するには、REST OpenAPI 仕様を取得してください。パスは SDK に含まれていません。推測しないでください。
- ソースの内容を漏れなく対応付けます。ソースから根拠を得られるすべてのフィールドに値を設定し(entity-fields.md を参照)、値を捏造しないでください。
- サンドボックスに対して実際に検証し、別途データを読み戻します。
- lattice-terminology.md に従って Lattice の用語で結果を説明し、統合で使用した API のみを扱います。
プロトコル別の引き継ぎ
- REST →
lattice-rest-integrationスキルに従います。 - gRPC →
lattice-grpc-integrationスキルに従います。
リファレンスマップ
- protocol-selection.md — REST と gRPC の選択フローチャート。
- auth-and-deployment.md — サンドボックス認証:環境変数を優先するデフォルト、オーバーライド、注意点。
- entity-fields.md — エンティティを運用上完全なものにする要素。
- enums.md — 正確なリテラル値の取得方法(SDK をイントロスペクト)と、オープン文字列列挙型の落とし穴。
- enum-literals.generated.md — 列挙型リテラルのスナップショット(生成版。SDK より古い場合があります)。
- task-lifecycle.md — タスク対応エージェントのライフサイクル不変条件と Python の例。
- objects-api.md — REST 専用のオブジェクトストレージとメディア添付。
- lattice-terminology.md — 検証後の説明に使える簡潔な用語表現。
主要ドキュメント(API ツアー)
リクエストが上記のいずれかの項目に当てはまらない場合は、Lattice のドキュメントを参照してください。各資料の役割を把握しておきましょう。
- llms.txt — ドキュメントの確認はここから始めてください。 ガイド、リファレンス、サンプルを網羅した AI エージェント向けのサイトマップです。任意のドキュメントページ URL の末尾に
.mdを追加すると、整形された Markdown を取得できます。 - REST OpenAPI spec — 取得可能な REST コントラクト(
/api/v1/...のパス、リクエスト/レスポンスのスキーマ)です。REST URL のパスの参照元です。 - gRPC reference — gRPC の閲覧用インターフェース(RPC 名、メッセージ構造)です。参照専用です。ここからではなく、インストール済みの SDK からスタブを生成してください。
- API reference — 人が読みやすい HTML 形式のリファレンスサイトです。
- Guides — 入門、エンティティ、タスク、オブジェクトについて説明しています。
- Samples — 実行可能なサンプルアプリです。
注:
https://developer.anduril.com/openapi.jsonは HTML のインデックスページであり、仕様書ではありません。機械可読な REST コントラクトには、上記のopenapi/rest.jsonを使用してください。取得可能な gRPC 仕様書はありません。gRPC のインターフェースは閲覧可能な HTML 形式のため、gRPC コントラクトは生成済みのスタブから取得してください。