mcpField
S
spatial-app-architecture

spatial-app-architecture

github.com/tomkrikorian開発6696 回インストール19 週間前に更新
リポジトリ

spatial-app-architecture について

visionOS の空間アプリ開発者向けに、表示面、状態の所有範囲、SwiftUI のファイルやモジュール構成を検討するスキルです。実装への引き継ぎや、動作を保つリファクタリングの計画にも対応します。

主な機能

  1. 01表示面の選定
  2. 02状態の所有範囲の整理
  3. 03ファイルとモジュールの設計
  4. 04リファクタリング手順の計画
  5. 05次の実装スキルへの引き継ぎ

活用シーン

  1. 01ウィンドウ、ボリューム、没入空間の選択
  2. 02アプリ、シーン、ビュー間の状態分担
  3. 03SwiftUI モジュール構成の計画
  4. 04動作を保ったリファクタリング

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tomkrikorian/visionosagents --skill spatial-app-architecture

インストール後、Claude Code で/spatial-app-architectureを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
anti-patterns.md
file-layouts.md
refactor-playbook.md
state-ownership.md
surface-selection.md

詳細

空間アプリのアーキテクチャ

クイックスタート

APIに関する質問ではなく、アーキテクチャに関する質問にこのスキルを使用してください。

次のような場合に使用します:

  • ウィンドウ、ボリューム、イマーシブスペース、またはそれらを組み合わせたフローのうち、適切な表示方法を選ぶ必要がある
  • アプリ全体、シーン単位、イマーシブ空間単位、ビュー単位のどこで状態を管理するかを判断している
  • ルートファイルが多くの関心事を抱えており、リファクタリング計画が必要である
  • SwiftUIコードを記述または分割する前に、ファイルやモジュールの計画が必要である

参照資料を読み込むタイミング

参照資料使用するタイミング
references/surface-selection.mdウィンドウ、ボリューム、イマーシブスペースのどれを選ぶか、またそれぞれのライフサイクル境界を決めるとき。
references/state-ownership.mdアプリ、シーン、機能コーディネーター、RealityKit の所有者、ビューのどこに属するかを決めるとき。
references/file-layouts.mdレイヤー型または機能分割型のファイル構成やモジュール構成を提案するとき。
references/refactor-playbook.mdアプリがすでに存在し、動作を壊さずにリファクタリングすることが主な作業であるとき。
references/anti-patterns.md構造上の問題を指摘したり、あるアプローチが不適切な理由を説明したりするとき。

ワークフロー

  1. ユーザーが行う作業と、現在または予定している表示方法に基づいて機能を分類します。
  2. ウィンドウ、ボリューム、イマーシブスペース、またはそれらの組み合わせから、表示方法のモデルを選びます。
  3. 状態の所有境界を割り当てます:アプリ、シーン、イマーシブ空間、機能、ビュー。
  4. 所有モデルに合ったファイル/モジュール構成を選びます。
  5. 実装の引き継ぎ先を決めます:SwiftUI、RealityKit、ARKit、SharePlay、またはビルド/デバッグ。
  6. リファクタリングの場合は、動作が安定した状態を保てるように抽出の順序を決めます。
  7. 最初に使用可能な機能の一部ができたら、build-run-debug で構成を検証します。

別のスキルに切り替えるタイミング

  • 表示方法と所有モデルがすでに決まっており、次の手順が SwiftUI API の実装である場合は、spatial-swiftui-developer に切り替えます。
  • 主な作業がエンティティ、コンポーネント、システム、または RealityKit のランタイム動作に関するものである場合は、realitykit-visionos-developer に切り替えます。
  • アーキテクチャの選択がプロバイダーの制約、アンカー、またはトラッキング対象のワールドの動作に左右される場合は、arkit-visionos-developer に切り替えます。
  • アプリの構造がグループアクティビティや共有イマーシブプレゼンスを中心に決まる場合は、shareplay-developer に切り替えます。
  • 最初に使用可能なアーキテクチャの一部ができ、検証が必要になったら、build-run-debug に切り替えます。

ガードレール

  • 新奇性だけを理由にイマーシブな表示を選ばないでください。
  • 一時的なビューに、長期間続くイマーシブなライフサイクルや RealityKit の変更を所有させないでください。
  • リポジトリに一貫性のある慣例がすでにある場合は、それを維持してください。

出力要件

次の内容を提示してください:

  • 選択した表示方法のモデルと、その理由
  • 所有関係の対応表:アプリ、シーン、機能モデル/コーディネーター、RealityKit の所有者、ビュー
  • 提案するファイル/モジュール構成
  • 既存コードの改修の場合は、リファクタリングの分割手順
  • 次の実装の引き継ぎ先: spatial-swiftui-developer、realitykit-visionos-developer、 arkit-visionos-developer、shareplay-developer、または build-run-debug

コメント