# パフォーマンス最適化 (performance-optimization)

> 計測・特定・修正・検証・防止の流れでフロントエンドから DB まで性能を改善し、効果が測れた変更だけ残します。

- カテゴリ: [パフォーマンス](https://www.myskills.tools/ja/categories/performance/)
- 提供元: コミュニティ · Addy Osmani
- リポジトリ: https://github.com/addyosmani/agent-skills/tree/main/skills/performance-optimization (commit ee3e850)
- SKILL.md: https://github.com/addyosmani/agent-skills/blob/main/skills/performance-optimization/SKILL.md
- インストールコマンド: `npx skills add addyosmani/agent-skills --skill performance-optimization`
- ライセンス: MIT
- 対応ツール: Claude Code, Codex, Cursor, Copilot, Gemini CLI
- 権限: read-repo ✓, write-files ✓, shell ✓, network ✗
- 状態: スキャン済み
- ルールスキャンですべてのリスクを検出できるわけではありません。インストール前にこのスキルの SKILL.md を読み、権限を確認してください。

## 基本ルール

最適化の前に計測し、再計測で効果が証明された変更だけを残し、効果のない変更は元に戻します。

## 実行フェーズ

1. **基準値の計測** — 合成計測（Lighthouse、DevTools）と実ユーザー計測（web-vitals、CrUX）で基準値を取り、症状から何を測るかを決めます。
2. **ボトルネック特定** — 症状を N+1 クエリ、インデックス不足、大きなバンドル、メインスレッドの長いタスクなどの原因に対応づけます。
3. **原因を一つ修正** — 前の手順で見つけた問題だけを、N+1、ページネーション、EXPLAIN ANALYZE、キャッシュ、画像、バンドルなどのパターンに沿って直します。
4. **再計測して判断** — 同じ条件で再計測してばらつきと比較し、閾値を超えテストも通るときだけ残し、それ以外は戻します。すべての試行を記録します。
5. **劣化の防止** — ユーザーが体感する指標に対し、CI の合成予算（bundlesize、Lighthouse CI）と本番のモニタリングを設定します。

## 権限の説明（SKILL.md より）

| 機能 | 必要か | 説明 |
|---|---|---|
| ファイル書き込み | 必要 | アプリのコード、クエリ、設定を変更し、試行を PERF.md や PR の説明に記録します。 |
| コマンド実行 | 必要 | Lighthouse CI、bundlesize、EXPLAIN ANALYZE、テストスイートなどの計測・テストコマンドを実行します。 |
| 外部通信 | 不要 | 外部サービスの呼び出しは求めておらず、計測対象は自分のアプリです。 |

## SKILL.md のフロントマター（YAML）

```yaml
---
name: performance-optimization
description: Optimizes application performance across frontend, backend, queries, and databases. Use when performance requirements exist, when you suspect performance regressions, when Core Web Vitals or load times need improvement, when N+1 query patterns need fixing, or when profiling reveals bottlenecks.
---
```

ホーム: https://www.myskills.tools/ja/ · URL: https://www.myskills.tools/ja/skills/performance-optimization/
