mcpField
S
swift-apps

swift-apps

github.com/petekp開発4845 回インストール2 日前に更新
リポジトリ

swift-apps について

SwiftUI と Apple フレームワークを使った、Apple プラットフォーム向けアプリの開発・保守を支援するスキルです。アーキテクチャ、UI パターン、アクセシビリティ、性能、検証をタスク別に案内します。

主な機能

  1. 01SwiftUI を軸にしたアプリ設計
  2. 02状態とデータフローの指針
  3. 03プラットフォーム別 UI パターン
  4. 04アクセシビリティと性能の確認
  5. 05タスク別リファレンス

活用シーン

  1. 01新しい画面の設計
  2. 02SwiftUI の状態管理のリファクタリング
  3. 03性能問題の調査
  4. 04macOS の操作性の確認

インストール

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

$npx skills add https://github.com/petekp/claude-code-setup --skill swift-apps

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

同梱ファイル

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

agents/
openai.yaml
references/
architecture-and-state.md
liquid-glass.md
macos-quality-bar.md
official-docs-map.md
performance-and-debugging.md
ui-patterns.md

詳細

Swift アプリ

SwiftUI を優先したパターン、明確な状態の所有権、プラットフォームへの忠実さ、アクセシビリティ、パフォーマンスへの配慮を備えた、Apple プラットフォーム向けのネイティブな使い心地のソフトウェアを開発します。 SwiftUI にウェブ風の抽象化レイヤーを重ねるのではなく、Apple のフレームワークを活用する、直接的で読みやすいコードを基本とします。

作業の進め方を選ぶ

  • 新機能または画面:コードを書く前に、対象プラットフォーム、アプリの種類、主な操作、主要な状態、ナビゲーションモデル、データの所有権を定義します。次に、references/architecture-and-state.md と references/ui-patterns.md を読み込みます。
  • リファクタリングまたは整理:動作を維持し、構造を簡素化し、間接性を減らして、状態の所有権を明確にします。次に、references/architecture-and-state.md を読み込みます。
  • バグ修正:プロジェクトに実用的なテスト環境がある場合は、まず失敗するテストで再現します。コードを変更する前に、仮説を2〜3個挙げます。次に、references/performance-and-debugging.md と、該当するドメイン固有のリファレンスを読み込みます。
  • パフォーマンスまたはカクつき:まずコードを確認し、レビューだけでは判断できない場合にプロファイリングに進みます。references/performance-and-debugging.md を読み込みます。
  • Liquid Glass または新しいデザインシステム API:カスタムのぼかし効果を模倣するのではなく、ネイティブのマテリアルと利用可能な環境の判定を使います。references/liquid-glass.md を読み込みます。
  • macOS 固有の作業:メニューコマンド、キーボード操作、ウインドウ、サイドバー、ツールバー、テキストの挙動を、仕上げではなく製品要件として扱います。references/macos-quality-bar.md を読み込みます。
  • バージョンに依存する API の質問:正確な最新 API の形が重要な場合は、まず references/official-docs-map.md を読み込み、記憶より Apple のドキュメントを信頼します。

基本ルールを適用する

  1. 独自の構造よりも、まずシステムの構造を優先します。 カスタムコンテナより先に、NavigationStack、NavigationSplitView、TabView、List、Form、Table、Commands、組み込みマテリアルを使います。

  2. スクリーンショットではなく、状態を基準に設計します。 すべての機能で、読み込み中、空、エラー、オフライン、一部のみ利用可能、権限が制限された状態に対応します。

  3. 状態は、それを所有するビューの近くに置きます。 @State、@Binding、@Bindable、@Environment、@Observable、@Query、.task を標準のツールセットとして使います。既存のコードベースでビューモデルを使っている場合や、ビュー以外の処理の調整に参照型が本当に必要な場合にのみ、ビューモデルを導入します。

  4. body の処理を軽くし、アイデンティティを安定させます。 body 内での並べ替え、フィルタリング、フォーマット、画像のデコード、UUID の生成、I/O は避けます。負荷の高い処理は事前に計算またはキャッシュし、安定した ID を使います。

  5. 明示的な入力を受け取る、小さなビューを組み合わせます。 大きなモデルをあらゆる場所に渡すのではなく、用途を絞ったデータやバインディングを優先します。1つの型にロジックを積み重ねるのではなく、大きな body を目的別のサブビューに分割します。

  6. アクセシビリティとモーションを最優先の制約として扱います。 Dynamic Type、VoiceOver、視差効果を減らす設定、透明度を下げる設定、コントラスト、フォーカス順序、タッチターゲットのサイズを確認します。

  7. プラットフォームに合わせます。 iPhone、iPad、Mac、Vision Pro では、操作に関する前提が異なります。製品に根拠のある逸脱理由がない限り、各プラットフォームの慣習を守ります。

適切なリファレンスを読み込む

必要な内容読み込むファイル
状態の所有権、Observation、非同期フロー、ルーティング、依存性注入references/architecture-and-state.md
コンテナの選択、コンポーネントの構成、シート、ナビゲーション、アプリシェルの配線references/ui-patterns.md
カクつき、無効化の集中発生、レイアウトの過剰な再計算、プロファイリング、バグのトリアージ、検証references/performance-and-debugging.md
メニューバー、ショートカット、ウィンドウ、サイドバー、ツールバー、Mac 向けの仕上げ、AppKit による回避策references/macos-quality-bar.md
Liquid Glass の配置、モディファイアの順序、コンテナ、利用可能性、トランジションreferences/liquid-glass.md
状態、ナビゲーション、シーン、Liquid Glass、パフォーマンスに関する Apple 公式ドキュメントと WWDC セッションreferences/official-docs-map.md

結果を提示する

  • 最初に、対象プラットフォーム、アプリの種類、主要な操作モデルを明示します。
  • アーキテクチャが自明でない場合は、採用した状態管理とデータフローのアプローチを説明します。
  • すばやい反復にはプレビューを使います。ただし、シーン、ウィンドウ、フォーカス、アニメーション、パフォーマンスが関わる場合は、Simulator または実機で重要な動作を検証します。
  • レビューでは、リスクの高い問題から順に報告します。正確性、プラットフォームとの不一致、アクセシビリティの不足、パフォーマンス上のリスク、スタイルの順です。
  • デバッグでは、有力な仮説、それを裏付けた、または否定した証拠、最終的な根本原因を共有します。
  • 最後に、テスト、ビルドまたは lint コマンド、プロファイリングの実施内容、残っている手動確認など、検証手順を示します。

コメント