mcpField
P
performance-expert

performance-expert

github.com/shipshitdev開発38208 回インストール2 日前に更新
リポジトリ

performance-expert について

遅いエンドポイント、クエリ、ジョブ、ビルド成果物、メトリクスを診断する、開発者向けのバックエンド・配信レイヤー性能スキルです。ボトルネックを優先順位付けし、対策を提案します。Reactの描画問題は専門スキルに振り分けます。

主な機能

  1. 01バックエンドとデータベースのボトルネック診断
  2. 02キャッシュとバックグラウンド処理の確認
  3. 03バンドルとアセット配信の分析
  4. 04測定方法と対策の提案
  5. 05React描画問題の振り分け

活用シーン

  1. 01遅いAPIエンドポイントやDBクエリの調査
  2. 02N+1クエリやインデックス改善箇所の特定
  3. 03キャッシュやバックグラウンドジョブの検討
  4. 04バンドルサイズとアセット配信の分析

インストール

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

$npx skills add https://github.com/shipshitdev/skills --skill performance-expert

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

同梱ファイルplugin.jsonreferences/full-guide.md

詳細

パフォーマンスエキスパートスキル

バックエンド、データベース、インフラストラクチャのパフォーマンスを扱います。このスキルは、スタックのサーバー側と配信レイヤーを担当します。リクエストのレイテンシ、データアクセス、キャッシュ、バックグラウンド処理、そしてネットワーク経由で配信されるものが対象です。

React コンポーネント内のレンダー時処理(再レンダー、メモ化、仮想化リスト、Profiler のトレース)は、診断方法もツールも異なります。ここで重複して扱うのではなく、react-component-performance に割り当ててください。

契約

入力:

  • エンドポイント、クエリ、ジョブ、ビルド出力、または性能が低下したメトリクスなど、対象が特定されたパフォーマンス上の症状。

出力:

  • 各ボトルネックを裏付ける測定結果と、ボトルネックごとの具体的な修正案を添えた、優先順位付きのボトルネック一覧。

作成/変更:

  • 単独では何も行いません。診断と解決策の提示を行い、編集は呼び出し元のワークフローで行います。

外部への副作用:

  • ありません。プロファイリングや負荷テストのコマンドは提示しますが、無人で実行することはありません。

委譲先:

  • React のレンダリングが集中する箇所、再レンダーの頻発、メモ化、Profiler に基づくコンポーネント作業は react-component-performance に委譲します。
  • 対象が単一の領域ではなくモノレポ全体の場合は、workspace-performance-audit に委譲します。

使用する場面

  • API の応答時間を改善する
  • データベースのクエリ、インデックス、集計を最適化する
  • N+1 クエリのパターンを診断する
  • キャッシュ戦略と無効化を実装する
  • 重い処理をバックグラウンドジョブやキューに移す
  • サーバープロセスのプロファイリングや、遅いリクエストのトレースを行う
  • 配信するバンドルサイズやアセット配信を分析する
  • CDN、キャッシュヘッダー、エッジキャッシュを設定する

プロジェクトコンテキストの確認

  1. パフォーマンスアーキテクチャのコンテキストについて .agents/memory/ を確認します(例:*performance* または *architecture* ファイル)
  2. パフォーマンスツール(APM、負荷テスト用ハーネス、プロファイラー)を特定します
  3. 既存の最適化とキャッシュ戦略を確認します
  4. [project]-performance-expert スキルを確認します

パフォーマンスの基本原則

バックエンド

API 応答時間: 目標は 200ms 未満(p95)。キャッシュ、バックグラウンドジョブ、コネクションプーリングを活用します。

クエリの最適化: インデックス、プロジェクション(select)、ページネーション、データベース側の集計を活用します。

バックグラウンド処理: 重い処理にはキューを使用し、重要度の低いタスクは非同期で処理します。リクエストハンドラー内でブロッキング処理を行わないでください。

データベース

インデックス: 頻繁にクエリされるフィールドにインデックスを設定し、複合インデックスを活用して使用状況を監視します。

クエリ: where で絞り込み、必要な列だけを select し、インデックスを使ってソートします。シーケンシャルスキャンは避けてください。

インフラストラクチャ

CDN: エッジキャッシュと適切なキャッシュヘッダーを使用し、静的アセットをオリジンから配信しないようにします。

サーバーレス: コールドスタートの最適化、メモリ割り当て、プロビジョンドコンカレンシーを設定します。

配信レイヤー

バンドル: ルートごとのコード分割、重いモジュールの動的インポート、ツリーシェイキングを行い、未使用の依存関係を削除します。

アセット: WebP 画像、サブセット化したフォント、CSS/JS の最小化、Gzip/Brotli 圧縮を使用します。

サーバーレンダリング: 静的コンテンツには静的生成を使用し、インクリメンタルな再検証とフレームワークの画像・フォントパイプラインを活用します。

パフォーマンス指標

バックエンド
  • API p50: < 100ms
  • API p95: < 200ms
  • DB クエリ p95: < 50ms
  • エラー率: < 0.1%
配信
  • LCP: < 2.5s
  • TTFB: < 800ms
  • 初期バンドル: < 200KB

クイックチェックリスト

バックエンド
  • データベースクエリを最適化済み
  • インデックスを作成し、使用している
  • キャッシュを実装済み
  • 重い処理にバックグラウンドジョブを使用している
  • コネクションプーリングを設定済み
配信
  • 初期バンドルサイズが 200KB 未満
  • コード分割を実装済み
  • 画像を最適化し、遅延読み込みを設定済み
  • 圧縮とキャッシュヘッダーを設定済み

測定した高速化や性能低下を報告する前に、pstack スキルのベンチマークチェックリストを参照して数値を検証してください。ボトルネックを特定し、すべての条件が調整済みであることを確認し、エラー数を数え、測定を繰り返してください。


データベースクエリ最適化コード、キャッシュ戦略の実装、N+1 クエリの解決策、バックグラウンドジョブのパターン、インフラストラクチャのチューニング、パフォーマンステストのコマンド、詳細なチェックリストについては、こちらを参照してください: references/full-guide.md

コメント