swiftui-performance-audit
SwiftUIアプリのランタイムパフォーマンスをコードレビューとアーキテクチャの観点から診断・改善します。描画の遅延、スクロールのカクつき、CPU/メモリの高負荷、過剰なビュー更新、レイアウトの乱れといった問題の調査に使用し、コードレビューだけでは不十分な場合はInstrumentsによるプロファイリングの実施手順もガイドします。
description の原文を見る
Audit and improve SwiftUI runtime performance from code review and architecture. Use for requests to diagnose slow rendering, janky scrolling, high CPU/memory usage, excessive view updates, or layout thrash in SwiftUI apps, and to provide guidance for user-run Instruments profiling when code review alone is insufficient.
SKILL.md 本文
SwiftUI パフォーマンス監査
クイックスタート
このスキルを使用して SwiftUI のパフォーマンス問題をコードレビューから診断し、コードレビューだけでは症状を説明できない場合はプロファイリング証拠をリクエストしてください。
ワークフロー
- 症状を分類する:遅いレンダリング、カクカクのスクロール、高 CPU、メモリ増加、ハング、または過度なビュー更新。
- コードが利用可能な場合、
references/code-smells.mdを使用してコードファースト(コード優先)レビューから開始します。 - コードが利用できない場合、最小限の有用なスライスをリクエストします:ターゲットビュー、データフロー、再現手順、デプロイメント対象。
- コードレビューが決定的でない場合、またはランタイム証拠が必要な場合、
references/profiling-intake.mdを使用してプロファイリングをガイドします。 references/report-template.mdを使用して、可能性の高い原因、証拠、改善、検証ステップをまとめます。
1. インテーク
以下を収集します:
- ターゲットビューまたはフィーチャーコード。
- 症状と正確な再現手順。
- データフロー:
@State、@Binding、環境の依存関係、および Observable モデル。 - 問題がデバイスまたはシミュレータで発生するかどうか、および Debug または Release で観察されたかどうか。
ユーザーに可能であれば問題を分類するよう依頼します:
- CPU スパイクまたはバッテリードレイン
- カクカクのスクロールまたはフレーム落下
- 高メモリまたは画像プレッシャー
- ハングまたは応答なしのインタラクション
- 過度または予期せず広いビュー更新
完全なプロファイリングインテークチェックリストについては、references/profiling-intake.md を参照してください。
2. コードファーストレビュー
以下に焦点を当てます:
- 広い監視または環境読み取りからの無効化ストーム。
- リストと
ForEachでの不安定なアイデンティティ。 bodyまたはビュービルダー内の重い派生作業。- 複雑な階層、
GeometryReader、または preference チェーンからのレイアウトスラッシュ。 - メインスレッド上での大きな画像デコードまたはリサイズ作業。
- 広く適用されるアニメーションまたはトランジション作業。
詳細なスメルカタログと修正ガイダンスについては、references/code-smells.md を使用してください。
以下を提供します:
- コード参照付きの可能性の高い根本原因。
- 推奨される修正とリファクタリング。
- 必要に応じて、最小限の再現またはインストルメンテーション提案。
3. ユーザーをプロファイリングにガイド
コードレビューが問題を説明しない場合、ランタイム証拠をリクエストします:
- トレースエクスポートまたは SwiftUI タイムラインおよび Time Profiler コールツリーのスクリーンショット。
- デバイス/OS/ビルド構成。
- プロファイリングされている正確なインタラクション。
- ユーザーが変更を比較している場合は、変更前後のメトリクス。
正確なチェックリストと収集手順については、references/profiling-intake.md を使用してください。
4. 分析と診断
- 証拠を最も可能性の高いカテゴリーにマップします:無効化、アイデンティティチャーン、レイアウトスラッシュ、メインスレッド作業、画像コスト、またはアニメーションコスト。
- 説明しやすさではなく、影響度によって問題を優先順位付けします。
- コードレベルの疑いとトレースに基づく証拠を区別します。
- プロファイリングがまだ不十分な場合と、不確実性を減らすためにどの追加証拠が必要かを指摘します。
5. 改善
ターゲット修正を適用します:
- 状態スコープを狭めて、広い監視ファンアウトを減らします。
ForEachとリストのアイデンティティを安定させます。- 重い作業を
bodyから、入力から更新される派生状態、モデル層の事前計算、メモ化ヘルパー、またはバックグラウンド前処理に移動します。@Stateは、任意の計算用の ad hoc キャッシュとしてではなく、ビュー所有状態にのみ使用します。 equatable()は、等値性が部分木の再計算より安くて、入力が真の値セマンティクスである場合にのみ使用します。- レンダリング前に画像をダウンサンプリングします。
- レイアウトの複雑さを減らすか、可能な場合は固定サイジングを使用します。
例、Observation 固有のファンアウトガイダンス、および改善パターンについては、references/code-smells.md を参照してください。
6. 検証
ユーザーに同じキャプチャを再実行し、ベースラインメトリクスと比較するよう依頼します。 提供された場合は、デルタ(CPU、フレームドロップ、メモリピーク)をまとめます。
出力
以下を提供します:
- 短いメトリクステーブル(利用可能な場合は変更前後)。
- トップの問題(影響度順)。
- 推定努力を伴う提案修正。
最終監査をフォーマットする際は、references/report-template.md を使用します。
リファレンス
- プロファイリングインテークおよび収集チェックリスト:
references/profiling-intake.md - 一般的なコードスメルおよび改善パターン:
references/code-smells.md - 監査出力テンプレート:
references/report-template.md - ユーザーから提供された Apple ドキュメントおよび WWDC リソースを
references/に追加します。 - Instruments を使用した SwiftUI パフォーマンス最適化:
references/optimizing-swiftui-performance-instruments.md - SwiftUI パフォーマンスの理解と改善:
references/understanding-improving-swiftui-performance.md - アプリのハングの理解:
references/understanding-hangs-in-your-app.md - SwiftUI パフォーマンスの謎を解く(WWDC23):
references/demystify-swiftui-performance-wwdc23.md
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- dimillian
- リポジトリ
- dimillian/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/dimillian/skills / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。