core-web-vitals-tuner について
Core Web Vitalsを改善したい開発者向けのスキルです。LCP、INP、CLSの優先的な対策と検証方法を扱います。
主な機能
- 01LCPの最適化手法
- 02INPのインタラクション改善
- 03CLSのレイアウト安定化
- 04Lighthouse CIによる検証
- 05本番環境での指標監視
活用シーン
- 01ページ読み込み性能の改善
- 02ユーザー操作の遅延軽減
- 03予期しないレイアウトシフトの防止
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ patricio0312rev/ skills --skill core-web-vitals-tunerインストール後、Claude Code で/core-web-vitals-tunerを入力して読み込まれたか確認します。
詳細
Core Web Vitals チューナー
LCP、INP、CLS を体系的に改善します。
LCP の最適化(<2.5s)
優先度の高い修正:
-
画像を最適化する(最も効果が大きい)
<img src="hero.jpg" /> <img src="hero.jpg" srcset="hero-400.webp 400w, hero-800.webp 800w, hero-1200.webp 1200w" sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1200px" loading="eager" fetchpriority="high" /> -
LCP リソースをプリロードする
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high" /> -
クリティカル CSS をインライン化する
<style> /* Above-the-fold styles */ .hero { display: flex; height: 100vh; } </style> -
CDN を使用する
- 画像を CloudFront/Cloudflare から配信する
- HTTP/2 または HTTP/3 を有効にする
INP の最適化(<200ms)
修正方法:
-
負荷の高いインタラクションをデバウンスする
import { debounce } from "lodash"; const handleSearch = debounce((query) => { fetchResults(query); }, 300); -
負荷の高いタスクに Web Workers を使用する
const worker = new Worker("processor.js"); worker.postMessage(largeData); worker.onmessage = (e) => console.log(e.data); -
コード分割
const HeavyComponent = lazy(() => import("./HeavyComponent"));
CLS の最適化(<0.1)
修正方法:
-
画像や広告用のスペースを確保する
<img src="banner.jpg" width="1200" height="600" /> -
CSS の aspect-ratio を使用する
.video-container { aspect-ratio: 16 / 9; } -
既存のコンテンツより上にコンテンツを挿入しない
.notification { position: fixed; top: 0; }
検証
# Lighthouse CI
npm run lighthouse -- --url=https://example.com
# Web Vitals in production
import { getCLS, getFID, getLCP } from 'web-vitals';
getCLS(console.log);
getFID(console.log);
getLCP(console.log);
出力チェックリスト
- LCP を最適化済み(<2.5s)
- INP を最適化済み(<200ms)
- CLS を最適化済み(<0.1)
- モニタリングを設定済み
- パフォーマンスのリグレッションテスト ENDFILE
コメント
Markdown 対応