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

swiftui-expert-skill

SwiftUIコードの新規作成・レビュー・リファクタリングに活用するスキルで、状態管理やビューの合成、パフォーマンス最適化、Liquid Glassの導入、さらにハングやヒッチ、CPUホットスポット、過剰なビュー更新の調査を目的としたInstrumentsの`.trace`キャプチャ・分析まで幅広く対応します。iOS・macOSを対象としたSwiftUI開発全般でトリガーされます。

description の原文を見る

Use when writing, reviewing, or refactoring SwiftUI code for iOS or macOS, including state management, view composition, performance, Liquid Glass adoption, or Instruments `.trace` capture/analysis for hangs, hitches, CPU hotspots, or excessive view updates.

SKILL.md 本文

SwiftUI エキスパートスキル

動作ルール

  • すべてのタスク開始時に references/latest-apis.md を参照して、廃止予定の API を回避する
  • UIKit/AppKit ブリッジが必要な場合を除き、ネイティブ SwiftUI API を優先する
  • 正確性とパフォーマンスに注力し、特定のアーキテクチャ (MVVM、VIPER など) を強制しない
  • ビジネスロジックをビューから分離することを推奨し、テスト容易性を高める (方法は問わない)
  • Apple のヒューマンインターフェイスガイドラインと API デザインパターンに従う
  • Liquid Glass は、ユーザーが明示的にリクエストした場合のみ採用する (references/liquid-glass.md 参照)
  • パフォーマンス最適化を要件ではなく提案として提示する
  • iOS 26+ 機能については #available ゲーティングと合理的なフォールバックを使用する

タスクワークフロー

既存の SwiftUI コードをレビューする

  • レビュー対象のコードを読み、該当するトピックを特定する
  • 廃止予定 API をフラグする (references/latest-apis.md と比較)
  • 該当する各トピックについて以下のトピックルーターを実行する
  • iOS 26+ 機能の #available ゲーティングとフォールバックパスを検証する

既存の SwiftUI コードを改善する

  • 現在の実装をトピックルーターのトピックと照合し、監査する
  • references/latest-apis.md の最新の同等物で廃止予定 API を置き換える
  • 不要な状態更新を削減するために、ホットパスをリファクタリングする
  • 複雑なビューボディを別のサブビューに抽出する
  • UIImage(data:) が見つかった場合は画像ダウンサンプリングを提案する (オプション最適化、references/image-optimization.md 参照)

新しい SwiftUI 機能を実装する

  • データフローを最初に設計する: 所有する状態 vs 注入される状態を特定する
  • 最適な差分化のためにビューを構築する (早期にサブビューを抽出)
  • 正しいアニメーションパターンを適用する (暗黙的 vs 明示的、トランジション)
  • すべてのタップ可能な要素に Button を使用し、アクセシビリティグループと ラベルを追加する
  • バージョン固有 API を #available でゲーティングし、フォールバックを提供する

新しい Instruments トレースを記録する

ユーザーが「トレースを記録する」「アプリをプロファイリングする」「セッションをキャプチャする」などと言った場合にトリガーする。完全なリファレンス: references/trace-recording.md

  1. ターゲットを確認する — 実行中のアプリに接続、新しいアプリを起動、またはすべてのプロセスを記録? ユーザーが言及していない場合は確認する。接続されたデバイスを列挙すると便利:
    python3 "${SKILL_DIR}/scripts/record_trace.py" --list-devices
    
  2. ターゲット種別に基づくテンプレートを選択するSwiftUI テンプレートは任意の 実デバイス (物理的な iOS/iPadOS デバイス **またはホスト Mac) で SwiftUI レーンを設定します。唯一の例外は iOS Simulator で、SwiftUI レーンは空で返されます — その場合は --template "Time Profiler" に切り替えます (それでも Time Profiler + Hangs + Animation Hitches が得られます)。常に --list-devices を確認してください: simulators 種別 → Time Profiler; devices 種別 (実デバイスとホスト Mac) → デフォルト SwiftUI。完全な判定表は references/trace-recording.md にあります。
  3. 記録を開始する。ユーザーが「完了したら教える」と言うエージェント駆動セッションの場合は、バックグラウンドで開始し、停止ファイルを使用します:
    python3 "${SKILL_DIR}/scripts/record_trace.py" \
        --device "<name|udid>" --attach "<AppName>" \
        --stop-file /tmp/stop-trace --output ~/Desktop/session.trace
    
    インタラクティブセッションの場合は、ユーザーに完了時に Ctrl+C を押すよう指示します。
  4. 停止をシグナルする — ユーザーがアプリの演習を完了したと言ったら、touch /tmp/stop-trace を実行します。スクリプトは xctrace をクリーンに SIGINT し、最終化を最大 60 秒待ちます。
  5. 結果のトレースを分析する (以下の「トレース駆動改善」ワークフローに流れ込む)。

トレース駆動改善 (Instruments .trace ファイルが提供される)

ユーザーのリクエストが .trace ファイルを参照するたびにトリガーします。対象の SwiftUI ソースファイルは オプション です — 指定された場合は特定の行を引用します。指定されない場合は、トレースが既に明らかにしているビュー名とシンボルに基づいて、どこを見るべきかを推奨します。

完全なリファレンス: references/trace-analysis.md。コンポジションパターンの概要:

  1. 分析の対象を確定する。 自問してください: ユーザーはトレース全体を望んでいますか、それともスライスを望んでいますか?
    • 「X に焦点を当てる / X 後 / X と Y の間 / X 中」 → 最初にウィンドウを解決します (ステップ 2 参照)。
    • スコーピングの手がかりなし → トレース全体を分析します。
  2. ウィンドウを解決する (ユーザーがスコーピングした場合のみ)。 パーサーは 2 つの検出モードを公開します:
    # 関心領域の開始/終了をマークするログを見つけます:
    python3 "${SKILL_DIR}/scripts/analyze_trace.py" --trace <path> \
        --list-logs --log-message-contains "loaded feed" --log-limit 5
    # または、os_signpost 間隔 (ペアになった begin/end) を名前でフィルタリング可能にリストします:
    python3 "${SKILL_DIR}/scripts/analyze_trace.py" --trace <path> \
        --list-signposts --signpost-name-contains "ImageDecode"
    
    両モードとも --window START_MS:END_MS を受け入れて検出をスコープします。ユーザーの説明に一致する time_ms (ログ用) または start_ms/end_ms (シグナルポスト用) を選択します。--window 10400:11700 のようなウィンドウを構築します。
  3. メイン分析を実行する (--window の有無にかかわらず):
    python3 "${SKILL_DIR}/scripts/analyze_trace.py" --trace <path> \
        --json-only --top 10 [--window START_MS:END_MS]
    
  4. references/trace-analysis.md で解釈する — 主要な診断:
    • 各相関内の main_running_coverage_pct (<25% = ブロック; ≥75% = CPU バウンド)。
    • swiftui-causes.top_sources は更新が継続する 理由 を明らかにします — UserDefaultObserver.send() や広い EnvironmentWriter エントリなどの高エッジカウントソースは構造的無効化バグです。1 つを修正すると、多くの下流のホットビューが頻繁に崩れます。
  5. 特定のビューが高価であると表示される場合は、誰が無効化しているかを尋ねます。 --fanin-for "<view name>" を使用して、更新を駆動するソースノードのランク付きリストを取得します。
  6. オプションでソースに根拠を置く。 ユーザーがファイルを指した場合は、それを読み、ビュー名 / ユーザーコードシンボルをそこの識別子と照合します。そうでない場合は、SwiftUI が報告したビュー名に基づいて、どのファイルを開くべきかを推奨します。
  7. 優先付けられた計画を返す。 証拠 (カバレッジ %、ホットシンボル、重複するビュー、ログタイムスタンプ、原因グラフエッジ) を引用し、各推奨事項をトピックルーターリファレンスにルーティングします。
  8. ユーザーがコード編集をリクエストした場合のみ、コードを編集します。

トピックルーター

現在のタスクに関連する各トピックのリファレンスファイルを参照してください:

トピックリファレンス
状態管理references/state-management.md
ビューコンポジションreferences/view-structure.md
パフォーマンスreferences/performance-patterns.md
リストと ForEachreferences/list-patterns.md
レイアウトreferences/layout-best-practices.md
シートとナビゲーションreferences/sheet-navigation-patterns.md
ScrollViewreferences/scroll-patterns.md
フォーカス管理references/focus-patterns.md
アニメーション (基本)references/animation-basics.md
アニメーション (トランジション)references/animation-transitions.md
アニメーション (高度)references/animation-advanced.md
アクセシビリティreferences/accessibility-patterns.md
Swift Chartsreferences/charts.md
Charts アクセシビリティreferences/charts-accessibility.md
画像最適化references/image-optimization.md
Liquid Glass (iOS 26+)references/liquid-glass.md
macOS シーンreferences/macos-scenes.md
macOS ウィンドウスタイリングreferences/macos-window-styling.md
macOS ビューreferences/macos-views.md
テキストパターンreferences/text-patterns.md
廃止予定 API 検索references/latest-apis.md
Instruments トレース分析references/trace-analysis.md
Instruments トレース記録references/trace-recording.md

正確性チェックリスト

これらはハードルール — 違反は常にバグです:

  • @State プロパティは private
  • 子がペアレント状態を変更する場合のみ @Binding を使用
  • 渡された値は @State または @StateObject として宣言されない (更新を無視する)
  • ビュー所有オブジェクトには @StateObject; 注入されたものには @ObservedObject
  • iOS 17+: @State@Observable; バインディングが必要な注入可観測物には @Bindable
  • ForEach は安定した ID を使用 (動的コンテンツに .indices を使用しない)
  • ForEach 要素あたりのビュー数は一定
  • .animation(_:value:) は常に value パラメーターを含む
  • @FocusState プロパティは private
  • .focusable() ビューのタップジェスチャーハンドラー内で冗長な @FocusState 書き込みなし
  • iOS 26+ API は #available でゲーティングされ、フォールバックが提供される
  • チャート型を使用するファイルに import Charts が存在

リファレンス

  • references/latest-apis.mdすべてのタスクについて最初に読む。 廃止予定から最新 API への移行 (iOS 15+ から iOS 26+)
  • references/state-management.md — プロパティラッパー、データフロー、@Observable マイグレーション
  • references/view-structure.md — ビュー抽出、コンテナーパターン、@ViewBuilder
  • references/performance-patterns.md — ホットパス最適化、更新制御、_logChanges()
  • references/list-patterns.md — ForEach ID、Table (iOS 16+)、インラインフィルタリングの落とし穴
  • references/layout-best-practices.md — レイアウトパターン、GeometryReader の代替案
  • references/accessibility-patterns.md — VoiceOver、Dynamic Type、グループ化、トレイト
  • references/animation-basics.md — 暗黙的/明示的アニメーション、タイミング、パフォーマンス
  • references/animation-transitions.md — ビュートランジション、matchedGeometryEffectAnimatable
  • references/animation-advanced.md — フェーズ/キーフレームアニメーション (iOS 17+)、@Animatable マクロ (iOS 26+)
  • references/charts.md — Swift Charts マーク、軸、選択、スタイリング、Chart3D (iOS 26+)
  • references/charts-accessibility.md — Charts VoiceOver、Audio Graph、フォールバック戦略
  • references/sheet-navigation-patterns.md — シート、NavigationSplitView、Inspector
  • references/scroll-patterns.md — ScrollViewReader、プログラマティックスクロール
  • references/focus-patterns.md — フォーカス状態、focusable ビュー、フォーカス値、デフォルトフォーカス、一般的な落とし穴
  • references/image-optimization.md — AsyncImage、ダウンサンプリング、キャッシング
  • references/liquid-glass.md — iOS 26+ Liquid Glass エフェクトとフォールバックパターン
  • references/macos-scenes.md — Settings、MenuBarExtra、WindowGroup、マルチウィンドウ
  • references/macos-window-styling.md — ツールバースタイル、ウィンドウサイズ、Commands
  • references/macos-views.md — HSplitView、Table、PasteButton、AppKit 相互運用
  • references/text-patterns.md — Text イニシャライザー選択、逐語的 vs ローカライズ
  • references/trace-analysis.mdscripts/analyze_trace.py を使用して Instruments .trace ファイルを解析; メインスレッドカバレッジ、高重大度 SwiftUI 更新、ヒッチナラティブを解釈; ソースファイルに検出結果をマップバック
  • references/trace-recording.mdscripts/record_trace.py を使用して新しいトレースを記録: 実行中のアプリに接続、新しいアプリを起動、または手動で停止されたセッションをキャプチャ; エージェント駆動フローの停止ファイルをサポート

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

詳細情報

作者
avdlee
リポジトリ
avdlee/swiftui-agent-skill
ライセンス
MIT
最終更新
不明

Source: https://github.com/avdlee/swiftui-agent-skill / ライセンス: 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 フォームよりご連絡ください。
原作者: avdlee · avdlee/swiftui-agent-skill · ライセンス: MIT