AgentSkillsCN

mud-onchain-dev

具备全面支持基于MUD(Lattice)的全链路游戏/应用开发的能力。从需求梳理、ECS架构设计、World与System的实现,到客户端同步、测试、部署以及运维故障排查,均可一站式推进。适用于MUD项目的新建启动、现有功能的改造升级、性能与Gas优化,以及构建可复现的开发流程等场景。

SKILL.md
--- frontmatter
name: mud-onchain-dev
description: MUD(Lattice)を使ったフルオンチェーンゲーム/アプリ開発を包括支援するスキル。要件整理、ECSスキーマ設計、World/System実装、クライアント同期、テスト、デプロイ、運用トラブルシュートまでを一貫して進めるときに使用する。MUDプロジェクトの新規立ち上げ、既存実装の改修、性能/ガス改善、再現性のある開発フロー整備が必要な場面でトリガーする。

MUD Onchain Dev

概要

MUDアプリ開発を「仕様整理 → スキーマ/システム設計 → 実装 → 検証 → デプロイ/運用」の順で進める。ローカル環境の最短セットアップから、ECSモデリング、クライアント連携、障害対応までを同じ基準で扱う。

クイックスタート

  1. 対象プロジェクトがMUD v2系か確認する。
  2. 変更対象を contracts(World/System/Schema)と client(同期/UI)に分離する。
  3. 先にデータモデル(テーブル、主キー、整合性)を決めてからSystemを書く。
  4. System単体テストとシナリオテストを実行し、クライアント同期を検証する。
  5. デプロイ時はチェーン設定、権限、環境変数を再確認する。

実行ワークフロー

1. 要件整理

  • 「誰が」「いつ」「どのSystemを呼び」「どのテーブルがどう変わるか」を文章で固定する。
  • オンチェーン必須データと、オフチェーンでよい派生データを分離する。
  • 競合しうる同時操作(例: 同一エンティティ更新)を明示する。

2. ECSスキーマ設計

  • Entity を軸に正規化し、将来拡張が必要な列は早めに分割する。
  • hot path で頻繁に読む値は、読取回数を減らせる構造にする。
  • 書き込みコストの高い操作は、イベント駆動や集約テーブルで回数を抑える。

3. World/System実装

  • 1つのSystemは1つの責務に寄せる。
  • 失敗条件は先に検証し、理由が分かるrevert設計にする。
  • 外部呼び出しがある場合は順序と再入可能性を点検する。

4. クライアント同期

  • クライアントは「最終状態」ではなく「状態遷移」を前提に設計する。
  • optimistic UIを使う場合は、ロールバック条件と表示規約を定義する。
  • インデクサ遅延やRPC遅延時のフォールバック表示を用意する。

5. 検証と品質ゲート

  • 最低限、以下を毎回確認する。
  • スキーマ破壊的変更の有無。
  • 主要Systemの成功/失敗パス。
  • ガス増加の有無(変更前後比較)。
  • クライアント表示とチェーン状態の一致。

6. デプロイと運用

  • チェーンプロファイル、デプロイアカウント、権限設定を固定してから実行する。
  • デプロイ後は初期データ整合性と主要ユースケースのスモークテストを行う。
  • 障害時は「契約状態」「インデクサ状態」「クライアント状態」を分離して調査する。

このスキルで読む参照資料

  • 実装手順全体: references/workflow.md
  • ECS/World設計指針: references/architecture.md
  • 障害対応と運用チェック: references/operations.md

出力ルール

  • 変更提案時は必ず「対象ファイル」「変更理由」「副作用」「検証方法」をセットで提示する。
  • 仕様が曖昧なまま実装を進めず、先に不足条件を列挙して確定する。
  • MUD特有の制約(ガス、同期遅延、状態競合)を必ず明示する。