spatial-app-architecture について
visionOS の空間アプリ開発者向けに、表示面、状態の所有範囲、SwiftUI のファイルやモジュール構成を検討するスキルです。実装への引き継ぎや、動作を保つリファクタリングの計画にも対応します。
主な機能
- 01表示面の選定
- 02状態の所有範囲の整理
- 03ファイルとモジュールの設計
- 04リファクタリング手順の計画
- 05次の実装スキルへの引き継ぎ
活用シーン
- 01ウィンドウ、ボリューム、没入空間の選択
- 02アプリ、シーン、ビュー間の状態分担
- 03SwiftUI モジュール構成の計画
- 04動作を保ったリファクタリング
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tomkrikorian/ visionosagents --skill spatial-app-architectureインストール後、Claude Code で/spatial-app-architectureを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/anti-patterns.mdfile-layouts.mdrefactor-playbook.mdstate-ownership.mdsurface-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 | 構造上の問題を指摘したり、あるアプローチが不適切な理由を説明したりするとき。 |
ワークフロー
- ユーザーが行う作業と、現在または予定している表示方法に基づいて機能を分類します。
- ウィンドウ、ボリューム、イマーシブスペース、またはそれらの組み合わせから、表示方法のモデルを選びます。
- 状態の所有境界を割り当てます:アプリ、シーン、イマーシブ空間、機能、ビュー。
- 所有モデルに合ったファイル/モジュール構成を選びます。
- 実装の引き継ぎ先を決めます:SwiftUI、RealityKit、ARKit、SharePlay、またはビルド/デバッグ。
- リファクタリングの場合は、動作が安定した状態を保てるように抽出の順序を決めます。
- 最初に使用可能な機能の一部ができたら、
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
コメント
Markdown 対応