Agent Skills by ALSEL
汎用LLM・AI開発⭐ リポ 0品質スコア 65/100

lattice

Latticeは、AIコーディングエージェント(Sprites)のフリートを管理するためのElixir/Phoenixベースのコントロールプレーンです。このスキルを使用することで、Lattice APIの仕組み、基本的な概念、およびオペレーターワークフローについて理解できます。

description の原文を見る

Lattice is an Elixir/Phoenix control plane for managing fleets of AI coding agents (Sprites). Use this skill to understand the Lattice API, core concepts, and operator workflows.

SKILL.md 本文

Lattice

Lattice は、Sprites と呼ばれる AI コーディングエージェントのフリートを管理するための Elixir/Phoenix コントロールプレーンです。リアルタイムフリート可視化のための LiveView ダッシュボード、プログラマティック制御のための REST API、安全性分類とヒューマンインザループ承認によるインテント ベースのガバナンスシステム、および Telemetry と PubSub を介したイベント駆動の可観測性を提供します。

コアコンセプト

Sprites

Sprite は管理下にある AI コーディングエージェントです。各 Sprite は OTP GenServer プロセスとして実行され、Fleet Manager によって監視されます。Sprites には 3 つのステータスがあります:

  • cold — 実行していない、リソースが割り当てられていない
  • warm — プロビジョニング済みだがアイドル状態
  • running — アクティブに作業を実行中

Sprites API エンドポイントを使用して、Sprites の作成、起動、休止、タグ付け、調整、および削除を実行できます。

Intents

Intent は Lattice における管理対象の作業単位です。Sprite(またはオペレータ)が操作を実行したい場合、Intent を提案します。Intent はステートマシンを通じて移行します:

proposed → classified → awaiting_approval → approved → running → completed
                                                                → failed
                                          → rejected
                        → canceled (from most states)

各 Intent には kind があります:action(何かを変更)、inquiry(読み取り専用)、または maintenance(システムメンテナンス)。

Fleet Manager

Fleet Manager は、すべての Sprite プロセスを所有する DynamicSupervisor です。Sprites のスポーン、追跡、および監視を処理します。フリート概要については GET /api/fleet を使用し、フリート全体の調整をトリガーするには POST /api/fleet/audit を使用します。

Capabilities

Capabilities は、外部システム(GitHub、Fly.io、Sprites API)に対して境界のあるインターフェースを提供する behavior モジュールです。これらはクリーンなモッキングとテストを実現します。

Safety pipeline

すべての操作は safety pipeline を通じて流れます:classify → gate → audit

  • Classify: 操作が safecontrolled、または dangerous であるかを判定
  • Gate: 分類に基づいて承認要件を適用
  • Audit: トレーサビリティのためにすべての操作と決定をログ

API 概要

認証

すべての /api エンドポイントはベアラートークンが必要です:

Authorization: Bearer <token>

GET /health は認証なしでアクセスできます。

レスポンスフォーマット

成功レスポンス:

{
  "data": { ... },
  "timestamp": "2026-01-15T12:00:00Z"
}

エラーレスポンス:

{
  "error": "Human-readable message",
  "code": "MACHINE_READABLE_CODE"
}

ステータスコード

コード意味
200成功
401ベアラートークンが不足または無効
404リソースが見つからない
422バリデーションエラー

エンドポイント リファレンス

Health

メソッドパス説明
GET/healthヘルスチェック(認証不要)

Fleet

メソッドパス説明
GET/api/fleetフリート概要とステータス別 sprite カウント
POST/api/fleet/auditフリート全体調整のトリガー

Sprites

メソッドパス説明
GET/api/spritesすべての sprites をリスト表示
GET/api/sprites/:idSprite 詳細
POST/api/spritesSprite を作成(ボディ:{"name": "..."})
POST/api/sprites/:id/wake休止中の sprite を起動
POST/api/sprites/:id/sleep実行中の sprite を休止
PUT/api/sprites/:id/tagsSprite タグ/メタデータを更新
DELETE/api/sprites/:idSprite を削除(危険 — 承認が必要)
POST/api/sprites/:id/reconcileSprite 調整をトリガー
POST/api/sprites/:id/execexec セッションを開始(WebSocket ベース)
GET/api/sprites/:id/sessionsアクティブな exec セッションをリスト表示
GET/api/sprites/:id/sessions/:sid出力を含む exec セッション詳細
DELETE/api/sprites/:id/sessions/:sidexec セッションを終了
POST/api/sprites/:name/tasksSprite 上にタスクを作成
GET/api/sprites/:name/skillsSprite で利用可能なスキルをリスト表示
GET/api/sprites/:name/skills/:skill_nameマニフェスト付きスキル詳細

Intents

メソッドパス説明
GET/api/intentsIntents をリスト表示
GET/api/intents/:id遷移ログ付き Intent 詳細
POST/api/intentsIntent を作成(提案)
POST/api/intents/:id/approveIntent を承認
POST/api/intents/:id/rejectIntent を却下
POST/api/intents/:id/cancelIntent をキャンセル

Runs

メソッドパス説明
GET/api/runsRuns をリスト表示(フィルタ:intent_idsprite_namestatus
GET/api/runs/:idRun 詳細
POST/api/runs/:id/answerブロック中の run の質問に回答

一般的なワークフロー

フリートヘルスを確認

curl -H "Authorization: Bearer $TOKEN" https://your-lattice.fly.dev/api/fleet

Sprite を起動してタスクを割り当て

# Sprite を起動
curl -X POST -H "Authorization: Bearer $TOKEN" \
  https://your-lattice.fly.dev/api/sprites/my-sprite/wake

# タスクを割り当て
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"repo": "org/repo", "task_kind": "open_pr_trivial_change", "instructions": "Fix the typo in README.md"}' \
  https://your-lattice.fly.dev/api/sprites/my-sprite/tasks

Intent を作成して承認

# Intent を提案
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"kind": "action", "source": {"type": "operator", "id": "jane"}, "summary": "Deploy v1.2.3"}' \
  https://your-lattice.fly.dev/api/intents

# 承認(レスポンスから intent ID を使用)
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"actor": "operator:jane"}' \
  https://your-lattice.fly.dev/api/intents/INTENT_ID/approve

安全性分類

レベルゲーティング
safe自動承認、ヒューマンレビュー不要読み取り専用クエリ、ステータスチェック、sprites のリスト表示
controlled実行前にヒューマン承認が必要Sprites の作成、起動/休止、コードのデプロイ
dangerous明示的なヒューマン承認が必須、昇格されたオーディットSprites の削除、破壊的な操作、インフラストラクチャの変更

エラーコード

コード意味
SPRITE_NOT_FOUND指定された ID の sprite が存在しない
INTENT_NOT_FOUND指定された ID の intent が存在しない
MISSING_FIELDリクエストボディに必須フィールドが不足している
INVALID_STATEリソースが操作に対して有効なステートにない
INVALID_KINDIntent kind が action、inquiry、maintenance のいずれでもない
INVALID_SOURCE_TYPEソースタイプが sprite、agent、cron、operator のいずれでもない
INVALID_STATE_TRANSITIONリクエストされたステート遷移が許可されていない
INVALID_TRANSITIONステートマシンがこの遷移を許可していない
SPRITE_ALREADY_EXISTSこの名前の sprite が既に存在する
UPSTREAM_API_ERROR外部 API(Sprites API、GitHub、Fly)がエラーを返した
DELETE_FAILEDSprite 削除が上流 API で失敗した

注意点

  • Intent ステートマシンは厳密です。 ステートをスキップすることはできません。Intent は承認前に分類される必要があり、実行前に承認される必要があります。無効な遷移を試みると INVALID_STATE_TRANSITION が返されます。
  • エンドポイントでの名前と ID。 ほとんどの sprite エンドポイントは :id を使用しますが、/tasks および /skills エンドポイントは :name を使用します。上記のエンドポイント リファレンスを確認してください。
  • 危険な操作は承認が必要です。 dangerous に分類された操作(DELETE /api/sprites/:id など)は Intent 承認ワークフローを通す必要があります。直接削除を試みると、承認が必要な Intent が作成されます。
  • Sprite ステータスは上流のステートを反映します。 cold/warm/running ステータスは Lattice ではなく Sprites API から来ます。調整はこのステートを同期します。
  • Intent kind は必須フィールドに影響します。 action kind は affected_resourcesexpected_side_effects、および rollback_strategy を期待します。inquiry および maintenance kind はそうではありません。
  • ソースタイプは列挙されています。 Intent ソースの typespriteagentcron、または operator である必要があります。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
plattegruber
リポジトリ
plattegruber/docs
ライセンス
MIT
最終更新
2026/2/19

Source: https://github.com/plattegruber/docs / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: plattegruber · plattegruber/docs · ライセンス: MIT