mcpField
A
axiom-performance

axiom-performance

github.com/charleswiltgen開発1.2k1.3k 回インストール今日更新
リポジトリ

axiom-performance について

axiom-performanceは、Appleプラットフォーム開発者向けのパフォーマンス診断スキル集です。メモリ、ハング、起動、消費電力、Swiftの性能問題を適切な資料へ案内し、Instrumentsとコマンドライン分析も扱います。

主な機能

  1. 01メモリリークとメモリ問題の診断
  2. 02Instrumentsとxctraceによる性能分析
  3. 03ハング、フリーズ、起動のトラブル対応
  4. 04バッテリーと消費電力の診断資料
  5. 05Swift性能分析と監査への案内

活用シーン

  1. 01メモリ使用量の増加やリークを調査する
  2. 02ハング、フリーズ、起動遅延を分析する
  3. 03バッテリー消耗やデバイスの発熱を調べる
  4. 04性能トレースを比較して回帰を確認する

MCP 対応

MCP経由で`axiom_get_agent`からエージェントの指針を取得できると記載されています。MCPサーバーのツールやリソースについては説明していません。

インストール

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

$npx skills add https://github.com/charleswiltgen/axiom --skill axiom-performance

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

同梱ファイル

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

skills/
app-launch.md
energy-auditor.md
energy-diag.md
energy-ref.md
energy.md
hang-diagnostics.md
memory-auditor.md
memory-debugging.md
metrickit-ref.md
objc-block-retain-cycles.md
performance-profiling.md
swift-performance-analyzer.md
swift-performance.md
trace-comparison.md
xctrace-ref.md

詳細

パフォーマンス

メモリリーク、実行速度の低下、バッテリー消耗、プロファイリングなど、パフォーマンスに関する問題には必ずこのスキルを使用してください。

Claude Code に同梱されているツール: command -v <tool> で見つからない場合(フックが無効、または --bare の場合)は、名前だけを指定する代わりに <plugin-root>/tools/<tool> を使用してください。<plugin-root> は、このスキルの Base directory for this skill: パスの2階層上にあります。

Axiom エージェントを起動できませんか? このルーターからエージェントに案内された場合は、その手順をその場で実行してください。MCP 経由では axiom_get_agent が手順を返します。それ以外の場合は、以下のファイルを読んでください。必要なのはファイルの検索と読み取りだけです。

ここで利用可能なファイル:skills/energy-auditor.md、skills/memory-auditor.md、skills/swift-performance-analyzer.md。

ほかのエージェントも、MCP 経由なら axiom_get_agent から取得できます。その xclog、xcsym、xcprof の手順を、axiom_xclog_*、axiom_xcsym_*、axiom_xcprof_* ツールで実行してください。それ以外の場合は、Axiom のスキルから skills/<agent>.md を検索してください。見つからない場合は、このスイートのスキルと、PATH 上にある Axiom ツールを使って自分で作業してください。

使用するタイミング

以下の場合に、このルーターを使用してください。

  • アプリの動作が遅い、または重く感じられる
  • メモリ使用量が時間の経過とともに増加する
  • バッテリーの消耗が速い
  • 使用中にデバイスが熱くなる
  • バッテリー設定でエネルギー使用量が多い
  • Instruments でパフォーマンスを診断する
  • メモリリークや保持サイクルがある
  • メモリ警告が表示されてアプリがクラッシュする

振り分けのロジック

メモリの問題

メモリリーク(Swift) → skills/memory-debugging.md を参照

  • 体系的なリーク診断
  • よくある5つのリークパターン
  • Instruments のワークフロー
  • deinit が呼び出されない

メモリリークのスキャン → memory-auditor エージェントまたは /axiom:audit memory を起動(5段階のセマンティック監査:リソースの所有関係のマッピング、6つのリークパターンの検出、クリーンアップ漏れの推定、複合リスクの関連付け、ライフサイクルの健全性のスコアリング)

メモリリーク(Objective-C ブロック) → skills/objc-block-retain-cycles.md を参照

  • ブロックの保持サイクル
  • weak-strong パターン
  • ネットワークコールバックのリーク
パフォーマンスのプロファイリング

パフォーマンスのプロファイリング(GUI) → skills/performance-profiling.md を参照

  • Time Profiler(CPU)。分散したオーバーヘッドには Top Functions モードも使用します(OS27)
  • Allocations(メモリ増加)
  • Core Data のプロファイリング(N+1 クエリ)
  • ツール選択の判断ツリー
  • Instruments 27 の Run Comparisons、Swift executors instrument、Foundation Models instrument、Xcode 27 Organizer(Storage/hitches メトリクス、Metric Goals、Generate Recommendations)

自動プロファイリング(CLI) → skills/xctrace-ref.md を参照

  • ヘッドレスの xctrace プロファイリング
  • CI/CD 連携パターン
  • コマンドラインでのトレース記録
  • プログラムによるトレース分析

自動プロファイルの実行 → performance-profiler エージェントまたは /axiom:profile を使用

  • xctrace でトレースを記録
  • データをエクスポートして分析
  • 重要度とともに調査結果を報告

2つのトレースを比較/リグレッションを検出 → skills/trace-comparison.md または /axiom:compare-traces を参照

  • この変更でホットパスが遅くなりましたか?関数レベルの CPU 使用率の差分を確認します
  • xcprof compare --fail-on-regression による CI ゲーティング(ゼロ以外の終了コード)
  • リグレッションと改善の判定、重要度の順位付け、終了コードの意味
ハング/フリーズの問題

アプリがハングまたはフリーズする → skills/hang-diagnostics.md を参照

  • UI が1秒を超えて応答しない
  • メインスレッドがブロックされている(ビジー状態または待機状態)
  • 判断ツリー:ビジー状態とブロック状態の診断
  • Time Profiler と System Trace の選択
  • よくある8つのハングパターンとその修正方法
  • ウォッチドッグによる終了

コーパス/集約されたハングのトリアージ(Sentry、ASC) → axiom-shipping (skills/production-triage.md) + triage-analyzer エージェント

  • 単一の .ips ファイルではなく、アグリゲーターからの複数のグループ化されたハングレポート
  • コーパス全体で anr_idle_runloop と anr_main_thread_block を分類
  • サスペンド/アイドル状態のランループによる誤検出を特定(ユーザー数で最も多いハングは、ノイズであることがよくあります)
  • 根本原因のグループに分類し、影響度順に並べる
アプリの起動

アプリの起動が遅い → skills/app-launch.md を参照してください

  • 最初のフレームが遅い、最初の画面がフリーズする、Organizer で起動の回帰が発生する
  • 起動フェーズモデル(pre-main/main→最初のフレーム/起動後の延長フェーズ)
  • コールド起動とウォーム起動、ホット起動/再開、通知からの起動 — それぞれの再現方法
  • App Launch インストゥルメントのワークフロー、dyld Activity、測定の適切な運用
  • pre-main の修正:リンク戦略(静的 vs 動的 vs マージ可能、MERGED_BINARY_TYPE/MERGEABLE_LIBRARY)、+load、メインスレッド処理の延期、優先度逆転
  • XCTApplicationLaunchMetric 回帰テスト、MXAppLaunchMetric のフィールドヒストグラム、カスタムの「アプリが操作可能」サインポスト
  • プッシュ通知からの起動経路(タップ→最初のピクセル/タップ→操作可能になるまでの目標)
エネルギーの問題

バッテリー消費が多い、エネルギー消費が高い → skills/energy.md を参照してください

  • Power Profiler のワークフロー
  • サブシステムの診断(CPU/GPU/ネットワーク/位置情報/ディスプレイ)
  • アンチパターンの修正
  • バックグラウンド実行の最適化

症状に基づく診断 → skills/energy-diag.md を参照してください

  • 「バッテリー設定でアプリが最上位に表示される」
  • 「デバイスが熱くなる」
  • 「バックグラウンドでバッテリーが消費される」
  • 各経路の時間コスト分析

コード付き API リファレンス → skills/energy-ref.md を参照してください

  • WWDC の完全なコード例
  • タイマー、ネットワーク、位置情報の効率化
  • BGContinuedProcessingTask(iOS 26)
  • MetricKit のセットアップ

エネルギースキャン → energy-auditor エージェントまたは /axiom:audit energy を起動してください(8 つのアンチパターン:タイマーの不適切な使用、ポーリング、位置情報の継続的な取得、アニメーションのリーク、バックグラウンドモードの誤用、ネットワークの非効率性、GPU の浪費、ディスク I/O)

タイマーの安全性

タイマーのクラッシュパターン(DispatchSourceTimer) → axiom-integration(skills/timer-patterns.md)を参照してください

  • BUG IN CLIENT OF LIBDISPATCH でトラップされる 4 つのクラッシュシナリオ — arm64 では EXC_BREAKPOINT(SIGTRAP)、Intel では EXC_BAD_INSTRUCTION
  • RunLoop モードの注意点(スクロール中に Timer が停止する)
  • SafeDispatchTimer ラッパー
  • Timer と DispatchSourceTimer の選択

タイマー API リファレンス → axiom-integration(skills/timer-patterns-ref.md)を参照してください

  • Timer、DispatchSourceTimer、Combine、AsyncTimerSequence API
  • ライフサイクル図
  • プラットフォームの対応状況
Swift のパフォーマンス

Swift のパフォーマンス最適化 → skills/swift-performance.md を参照してください

  • 値型と参照型、コピーオンライト
  • ARC のオーバーヘッド、ジェネリクスの特殊化
  • コレクションのパフォーマンス

Swift パフォーマンススキャン → swift-performance-analyzer エージェントまたは /axiom:audit swift-performance を起動してください(不要なコピー、ARC のオーバーヘッド、特殊化されていないジェネリクス、コレクションの非効率性、アクター分離のコスト、メモリレイアウト)

最新の Swift 慣用表現 → axiom-swift(skills/swift-modern.md)を参照してください

  • 古くなった API パターン(Date()、CGFloat、DateFormatter)
  • Foundation の最新化(URL.documentsDirectory、FormatStyle)
  • Claude 固有のハルシネーションの修正
MetricKit の統合

MetricKit API リファレンス → skills/metrickit-ref.md を参照してください

  • 新しい Swift ファースト API(OS27):MetricManager の AsyncSequence ストリーム、型付き MetricResult メトリクス(Metal のフレームレート、ストレージを含む)、終了カテゴリ付きの型付き診断、起動タスクの追跡
  • 状態ごとのメトリクス(StateReporting フレームワーク、OS27):タブ、モード、または実験ごとにヒッチ/ハング/メモリのメトリクスを分割
  • クラッシュレポーターの拡張機能(CrashReportExtension フレームワーク、OS27):クラッシュ時にプロセスクラッシュを処理し、拡張機能内でシンボリケーションを実行(パート 10)
  • MXMetricPayload/MXDiagnosticPayload の解析(レガシー、iOS 13–26)
  • フィールドパフォーマンスデータの収集
  • クラッシュレポートとの統合
ランタイムコンソールのキャプチャ

シミュレーターのコンソール出力をキャプチャする → /axiom:console

  • シミュレーターから print()、os_log()、Logger の出力をキャプチャ
  • レベル、サブシステム、カテゴリを含む構造化 JSON
  • --timeout と --max-lines による上限付き収集
  • サブシステムまたは正規表現でフィルタリング
実行時状態の調査

LLDB の対話型デバッグ → axiom-build(skills/lldb.md)を参照してください

  • ブレークポイントの設定、実行時の変数の調査
  • クラッシュログからのクラッシュ再現
  • ハング時のスレッド状態の分析
  • Swift の値の調査(po と v)

LLDB コマンドリファレンス → axiom-build(skills/lldb-ref.md)を参照してください

  • コマンド構文の完全な説明
  • ブレークポイントの設定例
  • 式評価のパターン

判断フロー

  1. メモリ使用量の増加と UI のカクつき/ジャンク? → まず memory-debugging(メモリプレッシャーによる GC の一時停止でフレームが落ちるため)。メモリの問題を解消してもカクつきが残る場合は、次に performance-profiling
  2. メモリリーク(Swift)? → memory-debugging
  3. メモリリーク(Objective-C ブロック)? → objc-block-retain-cycles
  4. アプリがハング/フリーズ — UI が完全に応答しない(タップできず、反応もない)状態ですか?
    • はい → hang-diagnostics(ビジー状態かブロック状態かを診断)
    • いいえ、単に遅い → performance-profiling(Time Profiler)
    • 初回起動時のみ? → hang-diagnostics で同期 I/O や遅延初期化も確認してください
    • Sentry/ASC から複数のハングレポートをまとめて受け取った(単一ファイルではなくコーパス)? → axiom-shipping (skills/production-triage.md) + triage-analyzer
  5. 複数の非同期操作が同時に完了すると遅くなる? → axiom-concurrency も確認してください(プロファイリングではなく、コールバックの競合です)
  6. アプリの起動が遅い/最初のフレームが遅い/起動時の性能が低下した/プッシュ通知をタップした後に遅い? → app-launch
  7. バッテリーの消耗(症状がわかっている)? → energy-diag
  8. バッテリーの消耗(API リファレンスが必要)? → energy-ref
  9. バッテリーの消耗(一般)? → energy
  10. MetricKit のセットアップ/解析? → metrickit-ref 10a. アプリの状態別のメトリクス(タブ別のヒッチ率、実験群)または StateReporting? → metrickit-ref(Part 1) 10b. エージェント/LLM 機能のプロファイリング(Foundation Models の計測、トークンメトリクス)? → performance-profiling、続いて axiom-ai 10c. クラッシュレポーター拡張機能の構築(クラッシュ発生時にプロセスがクラッシュする)? → metrickit-ref(Part 10)
  11. GUI(Instruments)でプロファイリング? → performance-profiling
  12. CLI(xctrace)でプロファイリング? → xctrace-ref
  13. 今すぐ自動プロファイルを実行する? → performance-profiler エージェント
  14. 全般的に遅い/ラグがある? → performance-profiling 14a. GRDB/SQLite クエリが遅い(EXPLAIN QUERY PLAN、インデックス設計、カーソル)? → axiom-data(skills/grdb-performance.md)を参照してください
  15. 先回りしてメモリリークをスキャンしたい? → memory-auditor(エージェント)
  16. エネルギー関連のアンチパターンをスキャンしたい? → energy-auditor(エージェント)
  17. Swift のパフォーマンス監査(ARC、ジェネリクス、コレクション)を行いたい? → swift-performance-analyzer(エージェント)
  18. 実行時に変数/スレッドの状態を調査する必要がある? → axiom-build(skills/lldb.md)を参照してください
  19. LLDB コマンドの正確な構文が必要? → axiom-build(skills/lldb-ref.md)を参照してください
  20. スクロール中にタイマーが停止する? → timer-patterns(RunLoop モード)
  21. DispatchSourceTimer で EXC_BREAKPOINT(SIGTRAP)が発生し、「BUG IN CLIENT OF LIBDISPATCH」と表示されるクラッシュ? → timer-patterns(4 つのクラッシュパターン)
  22. Timer、DispatchSourceTimer、Combine タイマー、async タイマーのどれを選ぶべき? → timer-patterns
  23. タイマー API の構文/ライフサイクルが必要? → timer-patterns-ref
  24. 古い Swift パターンのコードレビュー? → swift-modern
  25. Claude がレガシー API(DateFormatter、CGFloat、DispatchQueue)を生成する? → swift-modern
  26. プロファイリング前に実行時のコンソール出力を確認する必要がある? → axiom-tools(skills/xclog-ref.md)または /axiom:console
  27. シンボリケート/トリアージする .ips、MetricKit、または旧形式の .crash テキストファイルがある? → axiom-tools(skills/xcsym-ref.md)または /axiom:analyze-crash

過度な合理化を避ける

思い込み実際のところ
「メモリリークだと分かっているから、見つけてみよう」メモリリークには6つのパターンがあります。memory-debuggingなら適切なパターンを15分で診断できますが、自力では2時間かかります。
「Time Profilerを実行すればいいだけ」間違ったInstrumentsテンプレートを選ぶと時間を無駄にします。performance-profilingなら最初に適切なツールを選べます。
「バッテリー消費の原因はおそらくネットワーク層だ」エネルギー関連の問題は8つのサブシステムにまたがります。energyスキルなら実際の原因を診断できます。
「アプリが遅く感じるけれど、最適化は後でいい」パフォーマンスの問題は重なっていきます。今すぐプロファイリングすれば、後々、より多くの時間を節約できます。
「UIが一時的に固まるだけだから、おそらくAPI呼び出しが遅い」フリーズの原因にはビジーとブロックの2種類があります。hang-diagnosticsには両方を判別するための決定木があります。
「メモリが増え続けて、スクロールもカクつく。別々のバグだろう」メモリプレッシャーによってGCが一時停止し、フレームが落ちることがあります。まずリークを修正してから、スクロールのパフォーマンスを再確認してください。
「初回起動時だけ固まるから、何かを読み込んでいるのだろう」初回起動時のハングには3つのパターンがあります。同期I/O、遅延初期化、メインスレッドの競合です。hang-diagnosticsなら、どのパターンかを診断できます。
「起動が遅く感じる。起動時のコードを少し削ろう」起動には3つのフェーズ(pre-main/main→最初のフレーム/extended)とウォッチドッグがあります。app-launchなら、どのフェーズをプロファイリングすべきかに加え、測定値を意味のあるものにする測定時の注意点も分かります。
「起動は問題ない。自分のスマートフォンでは速い」サポート対象の最も古いデバイスでReleaseビルドを使って測定してください。app-launchには測定時の注意点をまとめたチェックリストがあります。最新デバイスでの数値では、パフォーマンスの退行が見えません。
「アプリスイッチャーからの復帰も遅い」復帰は起動ではありません。起動として測定しないでください。app-launchなら、コールド/ウォーム/ホット/通知からの起動を区別し、それぞれを再現する方法も分かります。
「フレームワークが多すぎるから、すべて静的リンクにしよう」静的リンクでは、ライブラリがリンクされるすべてのバイナリ(アプリと各拡張機能)にライブラリがコピーされ、グローバル状態も重複します。また、-ObjCを指定しないとObj-Cカテゴリが正常に動作しません。app-launchには静的/動的/マージ可能なリンクのトレードオフと、pre-mainが本当に問題かどうかを判断できるDYLD_PRINT_STATISTICSの確認方法があります。
「ネットワークリクエストが完了するとUIがロックする。処理が遅いのだろう」複数のコールバックが一度に完了すると、メインスレッドの競合が発生し、並行処理の問題につながります。axiom-concurrencyも確認してください。
「デバッグ用にprint文を追加すればいい」printによるデバッグのサイクルは1回につき3~5分かかります(ビルド+実行+再現)。LLDBのブレークポイントなら30秒です。コマンドはaxiom-build(skills/lldb.md)に記載されています。
「アプリのログが見られない」xclogなら、シミュレーターからprint()とos_logを構造化JSON形式で収集できます。/axiom:console。
「.ips JSONを手作業で解析して、最上位のフレームを確認しよう」xcsymなら1回の呼び出しで解析、dSYMの検出、シンボリケーション、分類を行い、pattern_tagを含む構造化JSONを出力します。/axiom:analyze-crash。
「Timer.scheduledTimerを使えばいい。そちらのほうが簡単だ」Timerはスクロール中(.defaultモード)に停止し、ターゲットを保持してリークを引き起こします。timer-patternsには決定木があります。
「DispatchSourceTimerがクラッシュするけれど、たまにしか起きないからリリースしよう」DispatchSourceTimerのクラッシュには4つのパターンがあり、いずれも再現性があります。timer-patternsなら、どのパターンかを診断できます。
「Claudeはすでに最新のSwiftを知っている」Claudeはデフォルトで5.5より前のパターン(Date()、CGFloat、filter().count)を使います。swift-modernには修正用の対応表があります。
「MetricKitは古いMXデリゲートAPIのことだ」27サイクルで全面的に再構築されました。MetricManagerのAsyncSequenceストリーム、型付きメトリクス、状態ごとの集計が導入されています。新しいAPIについてはmetrickit-refのPart 1を参照してください。
「フィールドのメトリクスがすべて混ざった平均値なので、どの画面が遅いのか分からない」StateReportingを使うと、定義したアプリ状態(タブごと、実験ごとなど)別にすべてのメトリクスを分割できます。metrickit-refのPart 1を参照してください。
「ホットな関数が1つもないから、プロファイルを見ても意味がない」動的ディスパッチ、retain/release、existentialなどの分散したオーバーヘッドは、フレームグラフでは見えにくいものです。Top Functionsモードなら、それらをまとめて確認できます。performance-profiling。

重要なパターン

メモリのデバッグ(memory-debugging):

  • 6 つのリークパターン:タイマー、オブザーバー、クロージャー、デリゲート、ビューのコールバック、PhotoKit
  • Instruments のワークフロー
  • リークとキャッシュの違い

パフォーマンスのプロファイリング(performance-profiling):

  • CPU のボトルネックには Time Profiler
  • メモリの増加には Allocations
  • N+1 クエリには Core Data の SQL ロギング
  • Self Time と Total Time

エネルギーの最適化(energy):

  • Power Profiler によるサブシステムの診断
  • 8 つのアンチパターン:タイマー、ポーリング、位置情報、アニメーション、バックグラウンド、ネットワーク、GPU、ディスク
  • サブシステム別の監査チェックリスト
  • 締め切りに耐えるための負荷シナリオ

使用例

ユーザー:「アプリのメモリ使用量が増え続けています」 → skills/memory-debugging.md を参照

ユーザー:「メモリリークがあるのに deinit が呼び出されません」 → skills/memory-debugging.md を参照

ユーザー:「アプリの動作が遅いようです。どこから始めればよいですか?」 → skills/performance-profiling.md を参照

ユーザー:「Objective-C のブロックコールバックでリークが発生しています」 → skills/objc-block-retain-cycles.md を参照

ユーザー:「アプリのバッテリー消費が激しいです」 → skills/energy.md を参照

ユーザー:「アプリを使うとデバイスが熱くなるとユーザーから言われました」 → skills/energy-diag.md を参照

ユーザー:「効率的に位置情報トラッキングを実装する最善の方法は何ですか?」 → skills/energy-ref.md を参照

ユーザー:「アプリの CPU 使用率をプロファイリングしてください」 → 使用:performance-profiler エージェント(または /axiom:profile)

ユーザー:「コマンドラインから xctrace を実行する方法を教えてください」 → skills/xctrace-ref.md を参照

ユーザー:「CI/CD 用にヘッドレスプロファイリングが必要です」 → skills/xctrace-ref.md を参照

ユーザー:「アプリが時々ハングします」 → skills/hang-diagnostics.md を参照

ユーザー:「UI がフリーズして応答しなくなります」 → skills/hang-diagnostics.md を参照

ユーザー:「メインスレッドがブロックされています。診断方法を教えてください」 → skills/hang-diagnostics.md を参照

ユーザー:「Sentry のハングをトリアージしてください」/「どの ANR レポートが実際のブロックを示していますか?」 → axiom-shipping (skills/production-triage.md) と triage-analyzer エージェント(または /axiom:triage sentry)を参照

ユーザー:「アプリの起動に 3 秒かかります」 → skills/app-launch.md を参照

ユーザー:「Xcode Organizer で起動時間が悪化したと表示されます」 → skills/app-launch.md を参照

ユーザー:「pre-main / dyld の時間を短縮する方法を教えてください」 → skills/app-launch.md を参照

ユーザー:「mergeable libraries を使うべきですか?/フレームワークを静的リンクすべきですか?」 → skills/app-launch.md を参照

ユーザー:「プッシュ通知をタップした後、アプリの起動が遅いです」 → skills/app-launch.md を参照

ユーザー:「起動パフォーマンステストの書き方を教えてください」 → skills/app-launch.md を参照

ユーザー:「MetricKit のセットアップ方法を教えてください」 → skills/metrickit-ref.md を参照

ユーザー:「MXMetricPayload の解析方法を教えてください」 → skills/metrickit-ref.md を参照

ユーザー:「新しい MetricManager の使い方/MXMetricManager からの移行方法を教えてください」 → skills/metrickit-ref.md(Part 1)を参照

ユーザー:「タブごと、または実験ごとにヒッチのメトリクスを取得できますか?」 → skills/metrickit-ref.md(Part 1, StateReporting)を参照

ユーザー:「Foundation Models/エージェント機能のプロファイリング方法を教えてください」 → skills/performance-profiling.md(Foundation Models instrument)を参照し、その後 axiom-ai を参照

ユーザー:「修正を検証するために、2 つの Instruments の実行結果を比較する方法を教えてください」 → skills/performance-profiling.md(Run Comparisons)または skills/trace-comparison.md(CLI/CI)を参照

ユーザー:「コードをスキャンしてメモリリークを探してください」 → memory-auditor エージェントを呼び出す

ユーザー:「アプリのバッテリー消費の問題を確認してください」 → energy-auditor エージェントを呼び出す

ユーザー:「Swift コードにパフォーマンスのアンチパターンがないか監査してください」 → swift-performance-analyzer エージェントを呼び出す

ユーザー:「デバッガーでこの変数を調べる方法を教えてください」 → axiom-build を参照(skills/lldb.md)

ユーザー:「条件付きブレークポイントの LLDB コマンドを教えてください」 → axiom-build を参照(skills/lldb-ref.md)

ユーザー:「デバッガーでこのクラッシュを再現する必要があります」 → axiom-build を参照(skills/lldb.md)

ユーザー:「リストのスクロールが遅く、メモリ使用量も増え続けます」 → まず skills/memory-debugging.md を参照し、カクつきが残る場合は skills/performance-profiling.md を参照

ユーザー:「初回起動時にアプリが数秒間フリーズしますが、その後は正常に動作します」 → skills/hang-diagnostics.md を参照 ユーザー:「複数の API 呼び出しが同時に返ると、UI がロックされます」 → ルートをまたいで確認:/skill axiom-concurrency(コールバックの競合)

ユーザー:「ユーザーがスクロールすると、タイマーが止まります」 → 参照:axiom-integration(skills/timer-patterns.md)

ユーザー:「タイマーのコードで EXC_BREAKPOINT (SIGTRAP) クラッシュが発生します — BUG IN CLIENT OF LIBDISPATCH」 → 参照:axiom-integration(skills/timer-patterns.md)

ユーザー:「Timer と DispatchSourceTimer のどちらを使うべきですか?」 → 参照:axiom-integration(skills/timer-patterns.md)

ユーザー:「AsyncTimerSequence を作成するにはどうすればよいですか?」 → 参照:axiom-integration(skills/timer-patterns-ref.md)

ユーザー:「Swift コードに古いパターンがないかレビューしてください」 → 呼び出し:axiom-swift を参照(skills/swift-modern.md)

ユーザー:「これをもっとモダンな方法で行うにはどうすればよいですか?」 → 呼び出し:axiom-swift を参照(skills/swift-modern.md)

ユーザー:「アプリのログには何が出力されていますか? コンソール出力を確認する必要があります」 → 呼び出し:/axiom:console

ユーザー:「このバグを再現している間、シミュレーターのログを取得してください」 → 呼び出し:/axiom:console

コメント