Agent Skills by ALSEL
Anthropic Claudeデザイン・クリエイティブ⭐ リポ 0品質スコア 50/100

swiftui-ui-patterns

SwiftUIのビューやコンポーネント構築におけるベストプラクティスと実例ガイダンスを提供します。ナビゲーション階層、カスタムビューモディファイア、スタックやグリッドを使ったレスポンシブレイアウトなどを網羅しています。SwiftUI UIの新規作成やリファクタリング、TabViewによるタブ設計、VStack/HStackを使った画面構成、@Stateや@Bindingの管理、iOSの宣言的UIの構築、またはコンポーネント固有のパターンや実例が必要な場合に活用してください。

description の原文を見る

Best practices and example-driven guidance for building SwiftUI views and components, including navigation hierarchies, custom view modifiers, and responsive layouts with stacks and grids. Use when creating or refactoring SwiftUI UI, designing tab architecture with TabView, composing screens with VStack/HStack, managing @State or @Binding, building declarative iOS interfaces, or needing component-specific patterns and examples.

SKILL.md 本文

SwiftUI UI パターン

クイックスタート

目標に基づいてトラックを選択します:

既存プロジェクト

  • 機能またはスクリーンと主要なインタラクションモデル(リスト、詳細、エディタ、設定、タブ付き)を特定します。
  • rg "TabView\(" のような検索でリポジトリ内の近い例を見つけ、最も近い SwiftUI ビューを読みます。
  • ローカルの規約を適用します。SwiftUI ネイティブの状態を優先し、可能な限り状態をローカルに保ち、共有依存関係に環境注入を使用します。
  • references/components-index.md から関連するコンポーネントリファレンスを選択し、そのガイダンスに従います。
  • インタラクションが主要コンテンツをドラッグまたはスクロールして secondary content を明かす場合、ジェスチャーを手動で実装する前に references/scroll-reveal.md を読みます。
  • 小さく焦点を絞ったサブビューと SwiftUI ネイティブなデータフローでビューを構築します。

新規プロジェクトスカフォルディング

  • references/app-wiring.md を使用して TabView + NavigationStack + sheets をワイアリングします。
  • 提供されているスケルトンに基づいて、最小限の AppTabRouterPath を追加します。
  • 最初に必要な UI に基づいてコンポーネントリファレンスを選択します(TabView、NavigationStack、Sheets)。
  • 新しいスクリーンが追加されるに従い、route と sheet enum を拡張します。

従うべき一般的なルール

  • モダン SwiftUI state(@State@Binding@Observable@Environment)を使用し、不要なビューモデルを避けます。
  • デプロイメントターゲットが iOS 16 以前を含み、iOS 17 で導入された Observation API を使用できない場合、root 所有に対して @StateObject を、注入された観察に対して @ObservedObject を、真に共有されるアプリレベルの状態に対してのみ @EnvironmentObject を使用する ObservableObject にフォールバックします。
  • 構成を優先します。ビューを小さく焦点を絞ったままにします。
  • async/await を .task で使用し、明示的なローディング/エラー状態を使用します。リスタート、キャンセル、デバウンシングのガイダンスについては、references/async-state.md を読んでください。
  • 共有アプリサービスを @Environment に保ちますが、機能ローカルの依存関係とモデルには明示的なイニシャライザ注入を優先します。root ワイアリングパターンについては、references/app-wiring.md を読んでください。
  • デプロイメントターゲットに適合する最新の SwiftUI API を優先し、パターンがそれに依存する場合は常に最小 OS を明記します。
  • レガシーファイルを編集する場合のみ既存のレガシーパターンを保ちます。
  • プロジェクトのフォーマッタとスタイルガイドに従います。
  • Sheets: 状態が選択されたモデルを表す場合、.sheet(isPresented:) よりも .sheet(item:) を優先します。sheet body 内での if let を避けます。Sheet は自身のアクションを所有し、onCancel/onConfirm クロージャを転送する代わりに、内部で dismiss() を呼び出すべきです。
  • スクロール駆動のリビール: スクロールオフセットから正規化された進捗値を導出し、その単一の真実のソースからビジュアル状態を駆動することを優先します。スクロール単独では相互作用を表現できない限り、並列ジェスチャーステートマシンを避けます。

状態所有権サマリー

所有権モデルに合致する最も狭い状態ツールを使用します:

シナリオ推奨パターン
1 つのビューが所有するローカル UI 状態@State
子が親所有の値状態を変異させる@Binding
iOS 17+ で root が所有する参照モデル@Observable タイプの @State
iOS 17+ で子が注入された @Observable モデルを読む、または変異させる明示的に stored property として渡す
共有アプリサービスまたは設定@Environment(Type.self)
iOS 16 以前のレガシー参照モデルroot では @StateObject、注入時には @ObservedObject

まず所有権の位置を選択してから、ラッパーを選びます。プレーンな値状態で十分な場合、参照モデルを導入しないでください。

クロスカッティングリファレンス

  • references/navigationstack.md: ナビゲーション所有権、タブごとの履歴、および enum ルーティング。
  • references/sheets.md: 一元的なモーダルプレゼンテーションと enum 駆動の sheet。
  • references/deeplinks.md: URL ハンドリングとルーティング外部リンクをアプリの宛先に。
  • references/app-wiring.md: root 依存関係グラフ、環境使用法、およびアプリシェルワイアリング。
  • references/async-state.md: .task.task(id:)、キャンセル、デバウンシング、および非同期 UI 状態。
  • references/previews.md: #Preview、フィクスチャ、モック環境、および分離されたプレビュー設定。
  • references/performance.md: 安定した識別、観察スコープ、遅延コンテナ、およびレンダーコストのガードレール。

アンチパターン

  • レイアウト、ビジネスロジック、ネットワーキング、ルーティング、フォーマットを 1 つのファイルで混在させた巨大なビュー。
  • 相互に排他的な sheet、alert、またはナビゲーション宛先に対する複数のブール値フラグ。
  • ビュー ライフサイクルフックまたは注入されたモデル/サービスの代わりに、body 駆動のコードパスで直接ライブサービス呼び出し。
  • より良い構成で解決すべき型の不一致に対応するために AnyView に手を出すこと。
  • 明確な所有権の理由なく、すべての共有依存関係を @EnvironmentObject またはグローバルルータに設定すること。

新しい SwiftUI ビューのワークフロー

  1. UI コードを書く前に、ビューの状態、所有権の位置、および最小 OS の仮定を定義します。
  2. どの依存関係が @Environment に属し、どれが明示的なイニシャライザ入力として残るべきかを特定します。
  3. ビュー階層、ルーティングモデル、およびプレゼンテーションポイントをスケッチします。繰り返されるパーツをサブビューに抽出します。複雑なナビゲーションについては、references/navigationstack.mdreferences/sheets.md、または references/deeplinks.md を読んでください。コンパイラエラーがないことを確認してから進みます。
  4. .task または .task(id:) を使用して非同期ロードを実装し、必要に応じて明示的なローディング状態とエラー状態を追加します。作業が入力の変更またはキャンセルに依存する場合、references/async-state.md を読んでください。
  5. プライマリおよびセカンダリ状態のプレビューを追加してから、UI がインタラクティブなときはアクセシビリティラベルまたは識別子を追加します。ビューがフィクスチャまたは注入されたモック依存関係を必要とする場合、references/previews.md を読んでください。
  6. ビルドで検証します。コンパイラエラーがないこと、プレビューがクラッシュせずにレンダリングすること、状態変更が正しく伝播すること、リスト識別と観察スコープが回避可能な再レンダリングを引き起こさないことを確認します。スクリーンが大きい、スクロール集約的である、または頻繁に更新される場合は、references/performance.md を読んでください。一般的な SwiftUI コンパイルエラー(欠落している @State アノテーション、曖昧な ViewBuilder クロージャ、または型の不一致)については、コールサイトを更新する前に解決してください。ビルドが失敗した場合: エラーメッセージを注意深く読み、特定された問題を修正してから再度ビルドして次のステップに進んでください。プレビューがクラッシュした場合、オフェンディングサブビューを分離し、その状態初期化が有効であることを確認してから、プレビューを再実行してから続けます。

コンポーネントリファレンス

エントリーポイントとして references/components-index.md を使用します。各コンポーネントリファレンスには以下を含めるべきです:

  • インテントと最適な適用シナリオ。
  • ローカル規約を含む最小限の使用パターン。
  • ピットフォールとパフォーマンスに関する注意。
  • 現在のリポジトリの既存の例へのパス。

新しいコンポーネントリファレンスを追加する

  • references/<component>.md を作成します。
  • 短く実行可能にします。現在のリポジトリの具体的なファイルにリンクします。
  • references/components-index.md を新しいエントリで更新します。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
dimillian
リポジトリ
dimillian/skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/dimillian/skills / ライセンス: MIT

関連スキル

汎用デザイン・クリエイティブ⭐ リポ 1,739

nano-banana-2

inference.sh CLIを通じてGoogle Gemini 3.1 Flash Image Preview(Nano Banana 2)で画像を生成します。テキストから画像を生成する機能、画像編集、最大14枚の複数画像入力、Google Searchグラウンディング機能に対応しています。トリガーワード:「nano banana 2」「nanobanana 2」「gemini 3.1 flash image」「gemini 3 1 flash image preview」「google image generation」

by openakita
汎用デザイン・クリエイティブ⭐ リポ 815

octocode-slides

洗練されたマルチファイル形式のHTMLプレゼンテーションを生成します。6段階のフロー(概要 → リサーチ → アウトライン → デザイン → 実装 → レビュー)で構成されています。各スライドは独立したHTMLファイルとなり、iframeで読み込まれます。「スライドを作成してほしい」「プレゼンテーションを作ってほしい」「HTMLスライドを生成してほしい」「デックを構築してほしい」といった依頼や、ノート・ドキュメント・コードを洗練されたプレゼンテーションに変換する際に使用できます。

by bgauryy
汎用デザイン・クリエイティブ⭐ リポ 482

gpt-image2-ppt

OpenAIのgpt-image-2を使用して、視覚的に優れたPPTスライドを生成します。Spatial Glass、Tech Blue、Editorial Monoなど10種類のキュレーション済みスタイルに対応し、ユーザーが提供したPPTXファイルを模倣するテンプレートクローンモードも搭載しています。HTMLビューアと16:9形式のPPTXファイルを出力します。プレゼンテーション、スライド、ピッチデック、投資家向けPPT、雑誌風PPTの作成依頼などで活用してください。

by JuneYaooo
Anthropic Claudeデザイン・クリエイティブ⭐ リポ 299

nano-banana

Nano Banana PRO(Gemini 3 Pro Image)およびNano Banana(Gemini 2.5 Flash Image)を使用したAI画像生成機能です。以下の場合に活用できます:(1)テキストプロンプトからの画像生成、(2)既存画像の編集、(3)インフォグラフィックス、ロゴ、商品写真、ステッカーなどのプロフェッショナルなビジュアルアセット制作、(4)複数画像での人物キャラクターの一貫性保持、(5)正確なテキスト描画を含む画像生成、(6)AI生成ビジュアルが必要なあらゆるタスク。「画像を生成」「画像を作成」「写真を作る」「ロゴをデザイン」「インフォグラフィックスを作成」「AI画像」「nano banana」またはその他の画像生成リクエストをトリガーとして機能します。

by majiayu000
Anthropic Claudeデザイン・クリエイティブ⭐ リポ 299

oiloil-ui-ux-guide

モダンでクリーンなUI/UXガイダンス・レビュースキルです。新機能や既存システム(Webアプリ)に対して、実行可能なUI/UX改善提案、デザイン原則、デザインレビューチェックリストが必要な場合に活用できます。CRAP(コントラスト・反復・配置・近接)をベースに、タスクファーストなUX、情報設計、フィードバック・システムステータス、一貫性、affordances、エラー防止・復旧、認知負荷を重視します。モダンミニマルスタイル(クリーン・余白・タイポグラフィ主導)を強制し、不要なテキストを削減、アイコンとしての絵文字を禁止し、統一されたアイコンセットから直感的で洗練されたアイコンを推奨します。

by majiayu000
Anthropic Claudeデザイン・クリエイティブ⭐ リポ 299

axiom-hig-ref

Apple Human Interface Guidelines リファレンス — 色(セマンティックカラー、カスタムカラー、パターン)、背景(マテリアル階層、ダイナミック背景)、タイポグラフィ(標準スタイル、カスタムフォント、Dynamic Type)、SF Symbols(レンダリングモード、色、多言語対応)、ダークモード、アクセシビリティ、プラットフォーム固有の考慮事項を網羅したガイドラインです。

by majiayu000
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: dimillian · dimillian/skills · ライセンス: MIT