Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

swiftui-expert-skill

SwiftUIコードの作成・レビュー・改善を行い、状態管理、ビューのコンポジション、パフォーマンス、iOS 26以降のLiquid Glass採用に関するベストプラクティスに従います。新しいSwiftUI機能の構築、既存ビューのリファクタリング、コード品質のレビュー、またはモダンなSwiftUIパターンの導入時に使用してください。

description の原文を見る

Write, review, or improve SwiftUI code following best practices for state management, view composition, performance, and iOS 26+ Liquid Glass adoption. Use when building new SwiftUI features, refactoring existing views, reviewing code quality, or adopting modern SwiftUI patterns.

SKILL.md 本文

SwiftUI Expert Skill

使用する場合

  • SwiftUI コードを構築、レビュー、またはリファクタリングしており、現在のベストプラクティスが必要な場合。
  • タスクが状態管理、ビューの構成、パフォーマンス、アクセシビリティ、または iOS 26+ Liquid Glass の導入に関わる場合。
  • 特定のアプリケーションアーキテクチャに限定されない、事実に基づいた SwiftUI 指導層が必要な場合。

概要

このスキルを使用して、正しい状態管理、最適なビュー構成、iOS 26+ Liquid Glass スタイリングを備えた SwiftUI 機能を構築、レビュー、または改善します。ネイティブ API、Apple デザインガイダンス、パフォーマンスを考慮したパターンを優先します。このスキルは特定のアーキテクチャパターンを強制せず、事実とベストプラクティスに焦点を当てています。

ワークフロー決定木

1) 既存の SwiftUI コードをレビュー

  • 最初に references/latest-apis.md を確認して、現在使用可能で非推奨の API のみが使用されていることを確認します
  • references/state-management.md の選択ガイドに対してプロパティラッパーの使用法をチェック
  • references/view-structure.md に従ってビュー構成の抽出ルールを確認
  • references/performance-patterns.md でパフォーマンスパターンが適用されているか確認
  • references/list-patterns.md でリストパターンが安定した ID を使用しているか確認
  • references/animation-basics.mdreferences/animation-transitions.md でアニメーションパターンの正確性をチェック
  • アクセシビリティをレビュー: 適切なグループ化、特性、Dynamic Type サポート (references/accessibility-patterns.md を参照)
  • Liquid Glass の使用法が正確で一貫しているか確認 (references/liquid-glass.md を参照)
  • iOS 26+ の可用性処理を妥当なフォールバックで検証

2) 既存の SwiftUI コードを改善

  • 最初に references/latest-apis.md を確認して、非推奨の API をモダンな同等品に置き換えます
  • 正しいラッパー選択のための状態管理を監査 (references/state-management.md を参照)
  • 複雑なビューを別のサブビューに抽出 (references/view-structure.md を参照)
  • ホットパスをリファクタリングして冗長な状態更新を最小化 (references/performance-patterns.md を参照)
  • ForEach が安定した ID を使用しているか確認 (references/list-patterns.md を参照)
  • アニメーションパターンを改善 (value パラメータを使用、適切なトランジション、references/animation-basics.mdreferences/animation-transitions.md を参照)
  • アクセシビリティを改善: onTapGesture の代わりに Button を使用、Dynamic Type 用に @ScaledMetric を追加 (references/accessibility-patterns.md を参照)
  • UIImage(data:) が使用される場合に画像ダウンサンプリングを提案 (オプションの最適化として、references/image-optimization.md を参照)
  • Liquid Glass はユーザーが明示的にリクエストした場合にのみ採用

3) 新しい SwiftUI 機能を実装

  • 最初に references/latest-apis.md を確認して、ターゲットデプロイメントバージョン用に現在の非推奨 API のみを使用します
  • まずデータフローを設計: 所有状態と注入状態を特定 (references/state-management.md を参照)
  • 最適な差分検出のためにビューを構成 (サブビューを早期に抽出、references/view-structure.md を参照)
  • ビジネスロジックをサービスとモデルに保持してテスト可能性を確保 (references/layout-best-practices.md を参照)
  • 正しいアニメーションパターンを使用 (暗黙的 vs 明示的、トランジション、references/animation-basics.mdreferences/animation-transitions.mdreferences/animation-advanced.md を参照)
  • タップ可能な要素には Button を使用、アクセシビリティグループ化とラベルを追加 (references/accessibility-patterns.md を参照)
  • レイアウト/外観モディファイアの後にガラス効果を適用 (references/liquid-glass.md を参照)
  • #available で iOS 26+ 機能をゲートし、フォールバックを提供

コアガイドライン

状態管理

  • @Stateprivate である必要があります; 内部ビュー状態に使用
  • @Binding は子が親の状態を変更する必要がある場合のみ
  • @StateObject はビューが作成する場合; @ObservedObject注入される場合
  • iOS 17+: @State@Observable クラスと共に使用; バインディングが必要な注入オブザーバブルには @Bindable を使用
  • 読み取り専用値には let を使用; リアクティブな読み取りには var + .onChange() を使用
  • 値を @State または @StateObject に渡さないでください — これらは初期値のみを受け入れます
  • ネストされた ObservableObject は変更を伝播しません — ネストされたオブジェクトを直接子に渡します; @Observable はネスティングを適切に処理します

ビュー構成

  • 複雑なビューを別のサブビューに抽出して、読み取り可能性とパフォーマンスを向上
  • 状態変更の条件付きビューよりも修飾子を優先 (ビューの ID を維持)
  • ビュー body をシンプルで純粋に保つ (副作用または複雑なロジックなし)
  • 小さく単純なセクションにのみ @ViewBuilder 関数を使用
  • クロージャベースのコンテンツプロパティよりも @ViewBuilder let content: Content を優先
  • ビジネスロジックをサービスとモデルに保持; ビューは UI フロー を編成
  • アクションハンドラはメソッドを参照し、インラインロジックは含まない
  • ビューはあらゆるコンテキストで動作 (画面サイズまたはプレゼンテーションスタイルを想定しない)

パフォーマンス

  • 必要な値のみをビューに渡す (大きな「config」または「context」オブジェクトを避ける)
  • 不要な依存関係を排除してアップデートファンアウトを削減
  • ホットパスで状態を割り当てる前に値の変更をチェック
  • onReceiveonChange、スクロールハンドラで冗長な状態更新を避ける
  • 頻繁に実行されるコードパスの作業を最小化
  • 大きなリストに LazyVStack/LazyHStack を使用
  • ForEach に安定した ID を使用 (動的コンテンツに .indices を使用しない)
  • ForEach 要素あたりのビュー数が一定であることを確認
  • ForEach でのインラインフィルタリングを避ける (事前フィルタリングとキャッシュ)
  • リスト行で AnyView を避ける
  • 高速な差分検出のために POD ビューを検討 (または高価なビューを POD 親でラップ)
  • UIImage(data:) が使用される場合に画像ダウンサンプリングを提案 (オプションの最適化として)
  • レイアウト スラッシュを避ける (深いヒエラルキー、過剰な GeometryReader)
  • 頻繁なジオメトリ更新をしきい値でゲート
  • Self._logChanges() または Self._printChanges() を使用して予期しないビュー更新をデバッグ

アニメーション

  • value パラメータで .animation(_:value:) を使用 (value なしの非推奨バージョンは広すぎる)
  • イベント駆動のアニメーション (ボタンタップ、ジェスチャ) に withAnimation を使用
  • レイアウト変更 (frame) よりもパフォーマンス上の変換 (offsetscalerotation) を優先
  • トランジションは条件付き構造の外側のアニメーションが必要
  • カスタム Animatable 実装は明示的な animatableData を持つ必要があります
  • マルチステップシーケンスには .phaseAnimator を使用 (iOS 17+)
  • 正確なタイミング制御には .keyframeAnimator を使用 (iOS 17+)
  • アニメーション完了ハンドラは再実行のために .transaction(value:) が必要
  • 暗黙的なアニメーションは明示的なアニメーションをオーバーライド (ビューツリーで後の方が優先)

アクセシビリティ

  • タップ可能な要素に onTapGesture よりも Button を優先 (VoiceOver サポート無料)
  • Dynamic Type でスケーリングする必要があるカスタム数値に @ScaledMetric を使用
  • accessibilityElement(children: .combine) で関連要素をグループ化して結合ラベル用
  • デフォルトラベルが不明確または欠落している場合は accessibilityLabel を提供
  • ネイティブのように動作すべきカスタムコントロールに accessibilityRepresentation を使用

Liquid Glass (iOS 26+)

ユーザーが明示的にリクエストした場合にのみ採用してください。

  • ネイティブ glassEffectGlassEffectContainer、およびガラスボタンスタイルを使用
  • 複数のガラス要素を GlassEffectContainer でラップ
  • レイアウトと視覚的修飾子の後に .glassEffect() を適用
  • .interactive() はタップ可能/フォーカス可能な要素にのみ使用
  • モーフィングトランジション用に glassEffectID@Namespace を使用

クイックリファレンス

プロパティラッパー選択

ラッパー使用する場合
@State内部ビュー状態 (private である必要があります)
@Binding子が親の状態を変更
@StateObjectビューが ObservableObject を所有
@ObservedObjectビューが ObservableObject を受け取る
@BindableiOS 17+: バインディングが必要な注入 @Observable
let親からの読み取り専用値
var.onChange() で監視される読み取り専用値

Liquid Glass パターン

// フォールバック付きの基本的なガラス効果
if #available(iOS 26, *) {
    content
        .padding()
        .glassEffect(.regular.interactive(), in: .rect(cornerRadius: 16))
} else {
    content
        .padding()
        .background(.ultraThinMaterial, in: RoundedRectangle(cornerRadius: 16))
}

// グループ化されたガラス要素
GlassEffectContainer(spacing: 24) {
    HStack(spacing: 24) {
        GlassButton1()
        GlassButton2()
    }
}

// ガラスボタン
Button("Confirm") { }
    .buttonStyle(.glassProminent)

レビューチェックリスト

最新 API (references/latest-apis.md を参照)

  • 非推奨モディファイアが使用されていない (クイックルックアップテーブルに対して確認)
  • API 選択がプロジェクトの最小デプロイメントターゲットと一致

状態管理

  • @State プロパティが private
  • @Binding は子が親の状態を変更する場合のみ
  • 所有は @StateObject、注入は @ObservedObject
  • iOS 17+: @Observable を伴う @State、注入されたもては @Bindable
  • 渡された値は @State または @StateObject として宣言されていない
  • ネストされた ObservableObject が避けられている (またはそれが子ビューに直接渡されている)

シートとナビゲーション (references/sheet-navigation-patterns.md を参照)

  • モデルベースのシートに .sheet(item:) を使用
  • シートは自身のアクションを所有し、内部的に閉じる

ScrollView (references/scroll-patterns.md を参照)

  • プログラム的なスクロール用に安定した ID で ScrollViewReader を使用

ビュー構造 (references/view-structure.md を参照)

  • 状態変更の条件付きの代わりに修飾子を使用
  • 複雑なビューが別のサブビューに抽出されている
  • コンテナビューが @ViewBuilder let content: Content を使用

パフォーマンス (references/performance-patterns.md を参照)

  • ビュー body がシンプルで純粋に保たれている (副作用なし)
  • 必要な値のみを渡している (大きな config オブジェクトではなく)
  • 不要な依存関係を排除
  • 状態更新が割り当てる前に値の変更をチェック
  • ホットパスが状態更新を最小化
  • body でのオブジェクト作成がない
  • 重い計算が body の外側に移動

リストパターン (references/list-patterns.md を参照)

  • ForEach が安定した ID を使用 (.indices ではなく)
  • ForEach 要素あたりのビュー数が一定
  • ForEach でのインラインフィルタリングがない
  • リスト行での AnyView がない

レイアウト (references/layout-best-practices.md を参照)

  • レイアウト スラッシュを避ける (深いヒエラルキー、過剰な GeometryReader)
  • 頻繁なジオメトリ更新をしきい値でゲート
  • ビジネスロジックがサービスとモデルに保持されている (ビューではなく)
  • アクションハンドラがメソッドを参照 (インラインロジックではなく)
  • 相対レイアウトを使用 (ハードコードされた定数ではなく)
  • ビューがあらゆるコンテキストで動作 (コンテキストに依存しない)

アニメーション (references/animation-basics.mdreferences/animation-transitions.mdreferences/animation-advanced.md を参照)

  • value パラメータで .animation(_:value:) を使用
  • イベント駆動のアニメーションに withAnimation を使用
  • トランジションが条件付き構造の外側のアニメーションとペアリング
  • カスタム Animatable が明示的な animatableData 実装を持つ
  • アニメーションパフォーマンスのためにレイアウト変更よりも変換を優先
  • マルチステップシーケンスのフェーズアニメーション (iOS 17+)
  • 正確なタイミングのキーフレームアニメーション (iOS 17+)
  • 完了ハンドラが再実行のために .transaction(value:) を使用

アクセシビリティ (references/accessibility-patterns.md を参照)

  • タップ可能な要素に onTapGesture の代わりに Button を使用
  • Dynamic Type でスケーリングする必要があるカスタム値に @ScaledMetric を使用
  • accessibilityElement(children:) で関連要素をグループ化
  • カスタムコントロールが適切な場合に accessibilityRepresentation を使用

Liquid Glass (iOS 26+)

  • Liquid Glass に #available(iOS 26, *) とフォールバック
  • 複数のガラスビューが GlassEffectContainer でラップされている
  • .glassEffect() がレイアウト/外観モディファイアの後に適用
  • .interactive() がユーザー操作可能な要素のみ
  • 図形と色合いが関連要素全体で一貫している

参照

  • references/latest-apis.md - すべてのワークフローの必須読み物。 iOS 15+ から iOS 26+ までのバージョン分割された非推奨から最新の API トランジションガイド
  • references/state-management.md - プロパティラッパーとデータフロー
  • references/view-structure.md - ビュー構成、抽出、コンテナパターン
  • references/performance-patterns.md - パフォーマンス最適化テクニックとアンチパターン
  • references/list-patterns.md - ForEach ID、安定性、リストベストプラクティス
  • references/layout-best-practices.md - レイアウトパターン、コンテキストに依存しないビュー、テスト可能性
  • references/accessibility-patterns.md - アクセシビリティ特性、グループ化、Dynamic Type、VoiceOver
  • references/animation-basics.md - コアアニメーション概念、暗黙的/明示的アニメーション、タイミング、パフォーマンス
  • references/animation-transitions.md - トランジション、カスタムトランジション、Animatable プロトコル
  • references/animation-advanced.md - トランザクション、フェーズ/キーフレームアニメーション (iOS 17+)、完了ハンドラ (iOS 17+)
  • references/sheet-navigation-patterns.md - シートプレゼンテーションとナビゲーションパターン
  • references/scroll-patterns.md - ScrollView パターンとプログラム的なスクロール
  • references/image-optimization.md - AsyncImage、画像ダウンサンプリング、最適化
  • references/liquid-glass.md - iOS 26+ Liquid Glass API

哲学

このスキルは事実とベストプラクティスに焦点を当てており、アーキテクチャ的な意見ではありません:

  • 特定のアーキテクチャ (例: MVVM、VIPER) を強制しません
  • テスト可能性のためにビジネスロジックの分離を促奨
  • パフォーマンスと保守性に最適化
  • Apple の Human Interface Guidelines と API デザインパターンに従う

制限事項

  • このスキルは、タスクが上記で説明されたスコープと明確に一致する場合のみ使用してください。
  • 出力を環境固有の検証、テスト、または専門家のレビューの代わりとは見なさないでください。
  • 必要な入力、許可、安全境界、または成功基準が不足している場合は停止し、明確化を求めてください。

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

詳細情報

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

Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT

関連スキル

汎用その他⭐ リポ 1,982

superfluid

Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

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