mcpField
S
swiftui-core

swiftui-core

github.com/fusengine開発3441 回インストール2 週間前に更新
リポジトリ

swiftui-core について

swiftui-core は、Apple 各プラットフォーム向けの SwiftUI インターフェース構築を支援するコーディングスキルです。ビュー構成、ナビゲーション、SwiftData、状態管理に加え、アクセシビリティやプラットフォーム対応、実装レビューの手順を扱います。

主な機能

  1. 01コンポーザブルなビューとモディファイア
  2. 02NavigationStack と NavigationSplitView のパターン
  3. 03SwiftData による永続化
  4. 04@State、@Observable、@Environment による状態管理
  5. 05アクセシビリティとプラットフォーム対応の指針
  6. 06プレビューとデザイン資料

活用シーン

  1. 01SwiftUI ビューやコンポーネントの構築
  2. 02ナビゲーションと永続化の追加
  3. 03ビューのローカル状態と共有状態の管理
  4. 04アクセシビリティと適応型レイアウトの確認

インストール

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

$npx skills add https://github.com/fusengine/claude-plugins --skill swiftui-core

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

詳細

すべての Apple プラットフォームで共通する SwiftUI の基礎を扱います。合成可能なビューとモディファイア、ナビゲーション(スタックベースのフローには NavigationStack、複数列レイアウトには NavigationSplitView)、データ永続化(SwiftData の @Model。ほとんどのケースで Core Data を置き換えます)、状態管理(ローカル状態には @State、共有状態には @Observable、依存関係の注入には @Environment)、Liquid Glass のスタイル設定、Siri/ショートカットとの連携に使う App Intents を扱います。

リファレンスでは、ビュー/モディファイア、ナビゲーション、SwiftData、状態管理、各プラットフォームでの Liquid Glass、App Intents を詳しく解説します。また、アクセシビリティ(Dynamic Type の AX5 までのサイズ、VoiceOver、コントラスト、タップ対象、視差効果を減らす/透明度を下げる設定)、右から左への表示、モダリティ/シート/アラート/オンボーディング、システムサーフェス(ウィジェット、Live Activities、通知、App Shortcuts/Siri/スニペット)、iPhone Duo に関するルールを、ソース URL とともに Apple Human Interface Guidelines(HIG)から参照します。

ビジュアル仕様は、design-ios のハンドオフがある場合はそこから取得します。このスキルはその仕様を実装し、検証します。ベストプラクティス:ビューの body が複数の責務を担うようになった場合、または一目で読み取れなくなった場合にサブビューを抽出すること、ViewBuilder とモディファイアを組み合わせること、必ず #Preview を含めること、システムカラーを使うこと(カスタムカラーにはライト、ダーク、コントラスト強化の各バリエーションが必要です)、アイコンのみのコントロールにはすべてラベルを付けること、サイズクラスに応じてレイアウトを調整すること。

SwiftUI Core

すべての Apple プラットフォームで共通する SwiftUI の基礎です。

エージェントのワークフロー(必須)

実装を始める前に、必ず 3 つのエージェントを並行して起動してください。それぞれ name を指定して Agent を 1 回呼び出します。

  1. fuse-ai-pilot:explore-codebase - 既存の SwiftUI パターンを分析します
  2. fuse-ai-pilot:research-expert - Context7/Exa を使用して最新の SwiftUI ドキュメントを確認します
  3. 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、CloudKitdata-swiftdata.md
@State、@Observable、Environmentstate-management.md
すべてのプラットフォームでの Liquid Glassliquid-glass.md
Siri、ショートカット、App Intentsapp-intents.md
HIG のルール(UI に関するすべての作業で読み込んでください)
必要な内容リファレンス
Dynamic Type の AX5、VoiceOver、コントラスト、タップ対象、視差効果を減らす設定hig-accessibility.md
アラビア語/ヘブライ語のミラーリング、数字hig-rtl.md
シート、アラート、モダリティ、オンボーディング、起動、権限hig-modality.md
ウィジェット、Live Activities、通知、App Shortcuts、Siri、スニペットhig-system-surfaces.md
iPhone Duo(折りたたみ式)、予約領域、縦向きツールバーhig-iphone-duo.md

ベストプラクティス

  1. 小さなビュー - 30行以上になったら切り出します
  2. 合成 - ViewBuilderとモディファイアを使用します
  3. プレビュー主導 - 常に#Previewを含めます
  4. システムカラー - カスタムカラーでは、ライト、ダーク、高コントラスト用のバリエーションを用意します(HIG color)
  5. アクセシビリティ - アイコンのみのコントロールにはラベルを付け、AX5でもレイアウトが崩れないようにし、iOSではタップ対象を44 pt以上にします(hig-accessibility.md)
  6. プラットフォームへの適応 - サイズクラスを使用し、固定幅やデバイス判定は避けます(HIG layout)

コメント