visionos-widgetkit-developer について
visionos-widgetkit-developerは、visionOS向けWidgetKitウィジェットを開発する人のためのスキルです。空間レイアウト、データ経路、描画、操作、検証を案内します。
主な機能
- 01プラットフォームとファミリーの選定
- 02近距離・遠距離レイアウトの計画
- 03設置方式・テクスチャ・描画の指針
- 04タイムラインと共有データの選択
- 05操作と更新の問題の調査
活用シーン
- 01視距離に応じたウィジェットレイアウトの計画
- 02データソースと更新方法の選定
- 03App Intentによるウィジェット操作の追加
- 04表示や更新に関する問題の診断
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tomkrikorian/ visionosagents --skill visionos-widgetkit-developerインストール後、Claude Code で/visionos-widgetkit-developerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/debugging-and-updates.mdfamilies-and-platforms.mdinteractive-widgets.mdmounting-styles.mdproximity-levelofdetail.mdtextures-and-rendering.mdvisionos-rendering-styles.mdwidget-animation.mdwidget-overview.md詳細
visionOS WidgetKit 開発
クイックスタート
visionOS ウィジェットは、小さな 2D サーフェスではなく、まず空間オブジェクトとして捉えてください。
- 最初にプラットフォームとファミリーの範囲を決めます。
- ビジュアルを仕上げる前に、近距離と遠距離の両方のレイアウトを定義します。
- タイムラインエントリー、共有ストレージ、App Intents を連携の境界として扱い、実行中のホストアプリの状態には依存しないでください。
- 現在の問題に合ったリファレンスファイルだけを読み込みます。
リファレンスを読み込むタイミング
| リファレンス | 使用するタイミング |
|---|---|
widget-overview.md | Vision Pro ウィジェットの概要、判断ポイント、クイックチェックリストを確認するとき。 |
families-and-platforms.md | ネイティブの visionOS ファミリー、互換性のある iOS ファミリー、または特大ウィジェットのサポートを選ぶとき。 |
mounting-styles.md | 浮き上がった表示と埋め込み表示のどちらにするかを決め、レイアウトの崩れを避けるとき。 |
visionos-rendering-styles.md | visionOS ウィジェットの公式なレンダリングモード、背景、ファミリー、テクスチャを確認し、共通のボタン形状ポリシーへの案内を確認するとき。 |
textures-and-rendering.md | ガラスと紙のどちらを選ぶかを決め、異なるレンダリングモードで読みやすさを確保するとき。 |
proximity-levelofdetail.md | LevelOfDetail を使って近距離/遠距離のレイアウトを実装するとき。 |
interactive-widgets.md | ウィジェットに Button、Toggle、または AppIntent による操作を追加するとき。 |
debugging-and-updates.md | ウィジェットが更新されない、表示されない、古い状態のまま、または壊れているように見えるとき。 |
widget-animation.md | タイムラインエントリーと Canvas のクロスフェードを使ってウィジェットのコンテンツをアニメーション化するとき、フレームレートを調整するとき、またはバンドルや計算の予算制限に達したとき。 |
ワークフロー
- ウィジェットのプラットフォームとファミリー構成を確認します。
- マウントスタイル、テクスチャ、近距離/遠距離のレイアウト戦略を選びます。
- データ経路を決めます。タイムラインのみ、App Group/共有ストレージ、バックグラウンド URL セッション、または WidgetKit プッシュ通知から選択します。
- ウィジェットをひと目で把握できる状態に保てる場合に限り、操作を追加します。
- 構成が決まったら、タイムライン、再読み込み、レンダリングモード、拡張機能のログを検証します。
ガードレール
- 距離が離れていても読みやすくなるよう、常に
.simplifiedの使用を検討します。 - ネイティブの visionOS ファミリーは意図的に使用します。ネイティブの visionOS 特大ウィジェットには
.systemExtraLargePortraitを使用し、互換性のある iOS/iPadOS ウィジェットには.systemExtraLargeを引き続き使用します。 - 明示的にレイアウトを確認せずに、埋め込み表示が機能すると想定しないでください。
- 情報を詰め込みすぎた、コントラストの低いレイアウトは避けてください。
- アプリを開くためのナビゲーションには
LinkまたはwidgetURL(_:)を使用し、ButtonとToggleは実際のAppIntentアクションに使用します。 - 各
WidgetBundleのウィジェット構成は、実用的な上限の範囲内に保ちます。
出力要件
以下を提示してください。
- ウィジェットのプラットフォームとファミリーの範囲
- 使用したリファレンス
- 選択した表示戦略
- 主なレンダリング、操作、またはタイムラインの制約
- 次に行う検証手順
コメント
Markdown 対応