mcpField
I
ios-design-system

ios-design-system

github.com/pproencaデザイン・UI218314 回インストール11 週間前に更新
リポジトリ

ios-design-system について

SwiftUI iOS アプリ開発者向けのデザインシステム設計スキルです。iOS 26/Swift 6.2 の制約に沿い、8 分野・50 項目のルールでトークン、スタイルプロトコル、ガバナンスを扱います。

主な機能

  1. 018 分野にわたる 50 項目のルール
  2. 02色・書体・間隔トークンの指針
  3. 03コンポーネント用スタイルプロトコル
  4. 04アセット管理とテーマ設計の指針
  5. 05一貫性のガバナンスと自動チェック

活用シーン

  1. 01新しい iOS アプリのデザインシステム構築
  2. 02個別スタイルからトークン体系への移行
  3. 03再利用可能な SwiftUI コンポーネントスタイルの作成
  4. 04未管理の視覚値に関するコードレビュー

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill ios-design-system

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

同梱ファイル

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

metadata.json
assets/templates/
_template.md
references/
_sections.md
asset-icon-export-format.md
asset-image-optimization.md
asset-naming-convention.md
asset-separate-catalogs.md
asset-sf-symbols-first.md
color-audit-script.md
color-complete-pairs.md
color-limit-palette.md
color-no-hex-in-views.md
color-organized-xcassets.md
color-system-first.md
color-tint-not-brand-everywhere.md
govern-design-system-directory.md
govern-lint-for-tokens.md
govern-migration-incremental.md
govern-naming-conventions.md
govern-prevent-local-tokens.md
govern-single-source-of-truth.md
govern-spm-package-boundary.md
space-insets-pattern.md
space-no-magic-numbers.md
space-radius-tokens.md
space-size-tokens.md
space-token-enum.md
style-accessibility-first.md
style-catalog-file.md
style-configuration-over-parameters.md

詳細

Airbnb iOS デザインシステムのベストプラクティス

SwiftUI iOS 26/Swift 6.2 アプリ向けの、独自の方針に基づく厳格なデザインシステムエンジニアリングです。影響度順に優先順位付けされた、8 つのカテゴリーにわたる 50 のルールを収録しています。Airbnb の Design Language System(DLS)、Airbnb Swift Style Guide、Apple Human Interface Guidelines、および WWDC セッションをもとにしています。すべてのビューで @Equatable、状態管理に @Observable を使用し、スタイルプロトコルを主要なコンポーネント API とすることを必須としています。

必須のアーキテクチャ整合性

このスキルは swift-ui-architect と併用することを想定しています。すべてのコード例は、次の変更不可の制約に従っています。

  • 機能モジュールが依存するのは Domain + DesignSystem のみで、Data に直接依存しない
  • ミュータブルな UI 状態には @Observable を使用し、ObservableObject/@Published は使用しない
  • すべてのビューに @Equatable マクロを付ける
  • コンポーネントの主要なスタイリング API としてスタイルプロトコルを使用する(Airbnb DLS のパターン)
  • カラー値の信頼できる情報源としてアセットカタログを使用する
  • デザインシステムのモジュール境界にはローカル SPM パッケージを使用する

スコープと関連する兄弟スキル

このスキルは インフラストラクチャ層 であり、デザインシステム自体の 構築方法 を扱います。兄弟スキルと併用する場合:

兄弟スキル重点分野このスキルの重点分野
swift-ui-architectアーキテクチャ(モジュール化された MVVM-C、ルートシェル、プロトコル境界)デザインシステムのインフラストラクチャ(トークン、スタイル、ガバナンス)
ios-designデザインプリミティブ(セマンティックカラー、タイポグラフィ)の 使用プリミティブを提供するトークンシステムの エンジニアリング
ios-ui-refactorビジュアル品質の問題の 監査/修正ガバナンスと自動化による問題の 予防
ios-higHIG 準拠のパターン準拠を容易にする アセットとコンポーネントのインフラストラクチャ

Clinic アーキテクチャ契約(iOS 26/Swift 6.2)

このスキルのガイダンスはすべて、Clinic のモジュール化された MVVM-C アーキテクチャを前提としています。

  • 機能モジュールがインポートするのは Domain + DesignSystem のみ(Data や兄弟機能はインポートしない)
  • App ターゲットが集約点となり、DependencyContainer、具象コーディネーター、および Route Shell の接続を所有する
  • Domain は純粋な Swift を保ち、モデルに加えてリポジトリ、*Coordinating、ErrorRouting、AppError の各契約を定義する
  • Data は SwiftData/ネットワーク/同期/リトライ/バックグラウンド I/O を担い、Domain のプロトコルを実装する
  • 読み取り/書き込みフローでは、デフォルトで stale-while-revalidate の読み取りと、楽観的なキュー書き込みを使用する
  • ViewModel はリポジトリプロトコルを直接呼び出す(デフォルトのユースケース/インタラクター層は設けない)

適用する場面

次のような場合に、これらのガイドラインを参照してください。

  • 新しい iOS アプリのデザインシステムをセットアップするとき
  • トークンアーキテクチャ(カラー、タイポグラフィ、スペーシング、サイズ)を構築するとき
  • 再利用可能なコンポーネントスタイル(ButtonStyle、LabelStyle、カスタム DLS プロトコル)を作成するとき
  • アセットカタログ(カラー、画像、アイコン)を整理するとき
  • その場しのぎのスタイルから、ガバナンスのあるトークンシステムへ移行するとき
  • 自動化によってスタイルのばらつきを防ぎ、一貫性を徹底するとき
  • ホワイトラベルアプリやマルチブランドアプリ向けのテーマ基盤を構築するとき
  • ガバナンスされていないカラー、ハードコードされた値、シャドウトークンについて PR をレビューするとき

優先度別のルールカテゴリー

優先度カテゴリー影響度プレフィックスルール数
1トークンアーキテクチャCRITICALtoken-6
2カラーシステムエンジニアリングCRITICALcolor-7
3コンポーネントスタイルライブラリCRITICALstyle-10
4タイポグラフィスケールHIGHtype-5
5スペーシングとサイズのシステムHIGHspace-5
6一貫性とガバナンスHIGHgovern-7
7アセット管理MEDIUM-HIGHasset-5
8テーマとブランドのインフラストラクチャMEDIUMtheme-5

クイックリファレンス

1. トークンアーキテクチャ(重大)
2. カラーシステムの設計(重大)
  • color-organized-xcassets - 役割ごとにフォルダーグループを作成し、カラーアセットを整理します
  • color-complete-pairs - カスタムカラーごとに両方の外観を定義します
  • color-limit-palette - カスタムカラーをセマンティックトークン20個未満に抑えます
  • color-no-hex-in-views - ビューのコードでは Color リテラルや hex 値を使用しません
  • color-system-first - カスタムトークンよりもシステムカラーを優先します
  • color-tint-not-brand-everywhere - ブランドカラーをアプリの tint に設定し、あちこちに散在させないようにします
  • color-audit-script - ビルドスクリプトで管理されていないカラーを監査します
3. コンポーネントスタイルライブラリ(重大)
4. タイポグラフィのスケール(高)
5. 間隔とサイズのシステム(HIGH)
  • space-token-enum - 間隔トークンを大文字・小文字を区別しない列挙型として定義します
  • space-radius-tokens - コンポーネントの種類ごとに角の半径トークンを定義します
  • space-no-magic-numbers - ビューのレイアウトコードでハードコードされた数値をゼロにします
  • space-insets-pattern - 複合的なパディングには EdgeInsets 定数を使用します
  • space-size-tokens - 一般的な寸法のサイズトークンを定義します
6. 一貫性とガバナンス(HIGH)
7. アセット管理(MEDIUM-HIGH)
8. テーマとブランドの基盤(MEDIUM)

使用方法

詳しい説明とコード例については、各リファレンスファイルをお読みください。

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルール用のテンプレート
metadata.jsonバージョンとリファレンス情報

コメント