swiftui-core について
Appleプラットフォーム向けSwiftUI開発の基礎を扱うスキルです。ビュー構成、ナビゲーション、SwiftData、状態管理、Liquid Glass、App Intentsを参考資料や実践的な指針とともに紹介します。
主な機能
- 01ビューとモディファイアの構成
- 02NavigationStackとNavigationSplitView
- 03SwiftDataによる永続化
- 04@State、@Observable、@Environment
- 05Liquid GlassとApp Intents
活用シーン
- 01SwiftUIのビューとコンポーネントの構築
- 02スタック型またはマルチカラム型ナビゲーションの実装
- 03SwiftDataによるデータ保存
- 04状態管理とSiriまたはShortcutsとの連携
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ fusengine/ agents --skill swiftui-coreインストール後、Claude Code で/swiftui-coreを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/app-intents.mddata-swiftdata.mdliquid-glass.mdnavigation.mdstate-management.mdviews-modifiers.md詳細
リファレンスでは、ビュー/モディファイア、ナビゲーション、SwiftData、状態管理、すべてのプラットフォームにわたる Liquid Glass、App Intents を詳しく扱います。
ベストプラクティス: ビューの body が約 30 行を超えたらサブビューを抽出する、ViewBuilder とモディファイアで構成する、常に #Preview を含める、セマンティックカラー(.primary/.secondary)を使用する、アイコンにアクセシビリティラベルを追加する、サイズクラスに応じてレイアウトを適応させる。
SwiftUI Core
すべての Apple プラットフォームで共通する SwiftUI の基礎。
エージェントワークフロー(必須)
実装を行う前に、必ず 3 つのエージェントを並列で起動します。それぞれ name を指定した Agent 呼び出しを 1 回ずつ行います:
- fuse-ai-pilot:explore-codebase - 既存の SwiftUI パターンを分析する
- fuse-ai-pilot:research-expert - Context7/Exa 経由で最新の SwiftUI ドキュメントを検証する
- mcp__apple-docs__search_apple_docs - SwiftUI のビューパターンを確認する
実装後は、検証のために fuse-ai-pilot:sniper を実行します。
概要
使用する場面
- SwiftUI のビューやコンポーネントを構築するとき
- ナビゲーション(NavigationStack、SplitView)を実装するとき
- SwiftData によるデータ永続化を行うとき
- 状態管理(@State、@Observable)を行うとき
- カスタムビューモディファイアやレイアウトを作成するとき
SwiftUI Core を選ぶ理由
| 機能 | 利点 |
|---|---|
| 宣言型 UI | コード量が少なく、自動更新される |
| クロスプラットフォーム | iOS/macOS/watchOS/visionOS で同じコード |
| @Observable | シンプルなリアクティブ状態 |
| SwiftData | 最小限のコードで実現するモダンな永続化 |
主要な概念
ビューとモディファイア
組み合わせ可能な UI 構築ブロック。30 行以上になったらサブビューを抽出します。
ナビゲーション
スタックベースには NavigationStack、マルチカラムには NavigationSplitView。
SwiftData
@Model によるモダンな永続化。ほとんどのユースケースで Core Data を置き換えます。
状態管理
ローカルには @State、共有には @Observable、注入には @Environment。
リファレンスガイド
| 目的 | リファレンス |
|---|---|
| ビュー、モディファイア、レイアウト | views-modifiers.md |
| NavigationStack、ディープリンク | navigation.md |
| SwiftData、@Query、CloudKit | data-swiftdata.md |
| @State、@Observable、Environment | state-management.md |
| すべてのプラットフォームの Liquid Glass | liquid-glass.md |
| Siri、ショートカット、App Intents | app-intents.md |
ベストプラクティス
- 小さなビュー - 30 行以上で抽出する
- コンポジション - ViewBuilder とモディファイアを使用する
- プレビュー駆動 - 常に #Preview を含める
- セマンティックカラー - .primary、.secondary を使用する
- アクセシビリティ - アイコンにラベルを追加する
- プラットフォーム適応 - レスポンシブレイアウトのために sizeClass を確認する