Communitygithub.com

AutumnsGrove/Lattice

これは、オープンソースのエージェンティックなタスク管理フレームワークです。AIエージェントと人間が協調して、複雑なプロジェクトを構造化、計画、実行するための「ラティス(格子)」を提供します。

Lattice とは?

AutumnsGrove/Lattice は、AIエージェントと人間が共同で作業するための、高度に構造化されたタスク管理システムです。従来のフラットなタスクリストとは異なり、Lattice は依存関係、スプリント、役割、進行状況を視覚化する「格子」状のフレームワークを提供します。これにより、大規模なソフトウェア開発プロジェクトを管理可能な単位に分解し、AIエージェント(Claude Code、Cursor、Codex など)に明確なコンテキストと責任範囲を割り当てることができます。主な機能には、マイルストーンとスプリントに基づく反復計画、タスク間の依存関係グラフの管理、エージェントと人間の役割の明確な定義、そして状態管理(未着手、進行中、レビュー中、完了)が含まれます。Lattice は、AIエージェントが自律的に動作しつつも、人間の監督と方向性を必要とするハイブリッドな開発ワークフローに特に有効です。SKILL.md には、具体的なフォルダ構造、タスク定義のYAMLスキーマ、エージェントへの指示のテンプレート、および進行状況を追跡するためのベストプラクティスが詳細に記載されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AutumnsGrove/Lattice/tree/HEAD/.claude/skills/hummingbird-pollinate

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

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

ドキュメント

Lattice 🕸️

Lattice は、AIエージェントと人間のための協調タスク管理フレームワークです。複雑なプロジェクトを管理可能な「格子」状の構造に分解し、依存関係を明確にし、進捗を追跡します。

いつ使うか

  • 複数人(または複数のAIエージェント)が関わるプロジェクトの計画
  • タスク間の複雑な依存関係を管理する必要がある場合
  • AIエージェントに明確なコンテキストを与えて自律的に作業させたい場合
  • プロジェクトの進捗を可視化し、誰が何をしているかを把握したい場合

コアコンセプト

ラティス構造

プロジェクトは「ラティス」と呼ばれる格子状の構造で表現されます。各ノードはタスクを表し、エッジは依存関係を表します。

マイルストーンとスプリント

  • マイルストーン: 大きな目標 (例: "MVPのリリース")
  • スプリント: マイルストーンを達成するための短い反復期間 (例: 1週間)

タスクの状態

  • backlog: 未着手
  • ready: 着手可能 (依存関係が解決済み)
  • in_progress: 作業中
  • in_review: レビュー中
  • done: 完了
  • blocked: ブロック中

役割

  • owner: タスクの責任者 (人間またはエージェント)
  • reviewer: レビュー担当者
  • contributor: 貢献者

クイックスタート

1. プロジェクトフォルダ構造

project/
├── .lattice/
│   ├── config.yaml        # プロジェクト設定
│   ├── skills/            # AIエージェントのスキル定義
│   ├── templates/         # タスクテンプレート
│   └── state/             # 現在の状態
├── sprints/
│   ├── sprint-001.md
│   └── sprint-002.md
├── milestones/
│   ├── mvp.md
│   └── v2.md
└── tasks/
    ├── TASK-001-setup-infra.md
    └── TASK-002-auth-system.md

2. 設定ファイル (.lattice/config.yaml)

name: "MyProject"
version: "1.0.0"

team:
  - name: "Alice (Human)"
    role: "Product Manager"
  - name: "Claude-Codex"
    role: "AI Agent - Backend"
  - name: "Cursor-Dev"
    role: "AI Agent - Frontend"

milestones:
  - id: M1
    name: "MVP"
    deadline: "2024-06-30"
  - id: M2
    name: "v2 with Analytics"
    deadline: "2024-09-30"

3. タスク定義 (TASK-001-setup-infra.md)

---
id: TASK-001
title: インフラストラクチャのセットアップ
description: AWSでECSクラスターとRDSデータベースをプロビジョニングします。
milestone: M1
sprint: 1
status: backlog
owner: Claude-Codex
reviewer: Alice
dependencies:
  - TASK-000 (前提: プロジェクトリポジトリ)
acceptance_criteria:
  - ECSクラスターが作成され、サービスをデプロイできること
  - RDSインスタンスが起動し、接続可能であること
  - Terraformスクリプトが `terraform apply` でエラーなく完了すること
tags:
  - infrastructure
  - terraform
  - aws
---

## コンテキスト

このタスクは、プロジェクトの実行環境を整える最初のステップです。

## 指示 (AIエージェント向け)

1. ```terraform/infra/``` ディレクトリにある Terraform スクリプトを確認してください。
2. `terraform init` を実行し、プロバイダーを初期化してください。
3. `terraform plan` で変更内容をレビューしてください。
4. `terraform apply` でインフラをプロビジョニングしてください。
5. 完了後、結果をこのファイルに記録し、ステータスを `done` に更新してください。

## メモ

- AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY は環境変数に設定済みです。
- RDSのパスワードは AWS Secrets Manager に保存されます。

4. スプリント計画 (sprints/sprint-001.md)

# Sprint 001: Setup & Core Auth

**期間:** 2024-06-03 〜 2024-06-09

**目標:** インフラをセットアップし、認証システムの基本部分を実装する。

## タスク

| ID | タイトル | 担当者 | 状態 |
|----|----------|--------|------|
| TASK-001 | インフラのセットアップ | Claude-Codex | in_progress |
| TASK-002 | 認証システムの実装 | Claude-Codex | backlog |
| TASK-003 | フロントエンドログインページ | Cursor-Dev | backlog |
| TASK-004 | ユーザーストーリーマッピング | Alice | done |

## 振り返り

(スプリント終了後記入)

エージェントへのベストプラクティス

タスクの開始

  1. status を in_progress に変更します。
  2. 依存関係がすべて done になっていることを確認します。
  3. タスクファイルの指示に従って実装を開始します。
  4. ブロッカーが発生した場合、ステータスを blocked に設定し、理由を notes セクションに記載します。

タスクの完了

  1. 受け入れ基準をすべて満たしていることを確認します。
  2. コードレビューが必要な場合は in_review に設定します。
  3. レビューが通過したら、done に設定します。
  4. タスクファイルの下部に ## 完了ログ セクションを追加し、実行した内容と結果を記録します。

依存関係の管理

  • タスクを開始する前に、dependencies リストを確認します。
  • 依存関係が blocked または in_progress の場合は、そのタスクの完了を待つか、代替手段を検討します。
  • 依存関係の変更が必要な場合は、before アクションで調整します。

例: AIエージェントの対話

人間: Latticeを使ってプロジェクトを計画したい。
エージェント: 了解しました。まず `.lattice/config.yaml` を作成しましょう。
プロジェクト名、チームメンバー、マイルストーンを定義してください。

人間: プロジェクト名は MyApp、チームは私と二人のAIエージェント、マイルストーンはMVPとv2。

エージェント: 設定ファイルを作成しました。次に最初のスプリントを計画しましょう。
スプリントの目標は何ですか?

人間: 認証とプロフィールページを実装したい。

エージェント: では、スプリント1にTASK-001 (認証バックエンド) と TASK-002 (プロフィールフロントエンド) を割り当てます。
依存関係を考慮すると、TASK-002はTASK-001に依存しますね。

統合

Lattice は他のフレームワークと組み合わせて使用できます。

  • Flyte (データパイプライン): Lattice でタスクを管理し、Flyte でデータ処理パイプラインを実行します。
  • Dagster (データオーケストレーション): データエンジニアリングプロジェクトの計画に Lattice を使用し、実行に Dagster を使用します。
  • Prefect (ワークフロー管理): 同様に、タスクの依存関係を Lattice で定義し、実行を Prefect に委譲します。

アンチパターン

  • 過剰なタスク分割: 1つのタスクが小さすぎると管理が煩雑になります。適切な粒度 (1人日〜1週間) を維持します。
  • 依存関係の無視: タスクをランダムに開始せず、必ず依存関係を確認します。
  • 状態の更新漏れ: タスクの状態は常に最新に保ちます。古い情報は混乱の元です。
  • コンテキストの不足: タスク定義には十分なコンテキストを含め、エージェントが迷わないようにします。

Lattice は、混沌としたプロジェクトに秩序をもたらします。それは、蜘蛛の巣のように繊細で、かつ強靭な構造で、全員が同じ方向に進むことを可能にします。 🕸️

関連スキル