web-performance について
web-performanceは、ウェブサイトのパフォーマンスを監査・改善するスキルです。Core Web Vitalsの分析、バンドル最適化、遅延読み込み、CDN配信、キャッシュを扱います。
主な機能
- 01Lighthouse監査とCore Web Vitals
- 02Webpackのバンドル圧縮と分割
- 03HTMLとReactの遅延読み込み
- 04静的アセット向けCDN設定
- 05HTTPヘッダーとService Workerによるキャッシュ
活用シーン
- 01リリース前のサイト監査
- 02ページの読み込み遅延の調査
- 03大きなJavaScriptバンドルの縮小
- 04キャッシュとCDNアセット配信の設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill web-performanceインストール後、Claude Code で/web-performanceを入力して読み込まれたか確認します。
詳細
目的
このスキルでは、Core Web Vitals、監査用のLighthouse、Webpackによるバンドル最適化、HTML/JSでの遅延読み込み、CDNの設定、キャッシュ戦略などのツールや手法を活用し、読み込み時間とユーザーエクスペリエンスを改善してウェブパフォーマンスを最適化します。
使用するタイミング
ページの読み込みが遅い場合、Core Web VitalsによるSEOへの影響に備える場合、大きなJavaScriptバンドルを最適化する場合、本番環境で効率的なアセット配信を実装する場合など、サイトのパフォーマンスを分析・改善するときにこのスキルを使用します。
主な機能
- Lighthouse監査を実行し、最初のバイトまでの時間などの指標を使ってCore Web Vitals(LCP、FID、CLS)を測定します。
- WebpackのTerserPluginを使って、圧縮とコード分割によりバンドルを最適化します。
- HTML属性(画像の
loading="lazy"など)またはReactのlazy()関数を使って、遅延読み込みを実装します。 - Cloudflareなどのプロバイダーを使って、静的アセット配信用のCDNを設定します。
- HTTPヘッダー(
Cache-Control: max-age=3600など)またはサービスワーカーを使って、キャッシュ戦略を適用します。
使用パターン
タスクを実行するには、パラメーターとしてURLや設定ファイルなどを渡し、OpenClawのAPIまたはCLI経由でこのスキルを呼び出します。監査ではURLとオプションを指定し、最適化ではコードスニペットまたはビルド設定を渡します。エラー処理のため、呼び出しは必ずtry-catchで囲んでください。使用例:CI/CDパイプラインでこのスキルを使い、PRのビルドを自動的に監査します。
一般的なコマンド/API
JSONペイロードを指定し、OpenClawのCLIまたはAPIエンドポイント/api/skills/web-performance/executeを使用します。認証にはヘッダーの$OPENCLAW_API_KEYが必要です。
- CLI:
openclaw execute web-performance --url https://example.com --audit-type full --output json - API:
/api/skills/web-performance/executeに、ボディ{"url": "https://example.com", "options": {"chromeFlags": "--headless"}}を指定してPOSTします。 - 遅延読み込みのコードスニペット:
import React, { lazy, Suspense } from 'react'; const LazyImage = lazy(() => import('./ImageComponent')); <Suspense fallback={<div>Loading...</div>}><LazyImage /></Suspense>; - バンドル最適化用のWebpack設定:
{ "optimization": { "minimizer": ["terser-webpack-plugin"], "splitChunks": { "chunks": "all" } } } - CDN設定例:Nginxに
location /static/ { proxy_pass https://cdn.example.com; expires 1d; }を追加します。
統合に関する注意
OpenClaw SDKをインポートし、必須パラメーターを指定してスキル関数を呼び出すことで統合します。認証では、実行前に環境変数$OPENCLAW_API_KEYを設定してください。監視ツールなど他のスキルと組み合わせることもできます。例:Lighthouseの結果をロギングサービスにパイプします。次のようなJSON設定ファイルを使うと、複数ステップの最適化を実行できます:{"steps": ["audit", "optimize-bundle", "apply-caching"]}。Webpackとの統合にはNode.js 14以降との互換性が必要です。
エラー処理
API呼び出しのレスポンスコード(無効なURLの場合は400、認証の問題の場合は401など)を確認してエラーを処理します。コード内では、スキルの実行をtry-catchで囲んでください。例:
try {
const result = await openclaw.execute('web-performance', { url: 'https://example.com' });
console.log(result);
} catch (error) {
if (error.code === 'AUTH_ERROR') process.env.OPENCLAW_API_KEY = 'new-key';
else console.error(error.message);
}
よくある問題:URLが無効な場合は「Invalid input」が返されます。ネットワークエラーの場合は、指数バックオフを使って再試行してください。呼び出しの前に、URLなどの入力を必ず検証してください。
具体的な使用例
- Lighthouseでウェブサイトを監査する:
openclaw execute web-performance --url https://example.com --report-path ./report.jsonを実行して、Core Web Vitalsのスコアを含むJSONレポートを生成し、LCPが2.5秒を超えた場合を失敗のしきい値として分析します。 - CDNを使って最適化してデプロイする:ビルドスクリプトで
openclaw execute web-performance --action optimize-bundle --config webpack.config.jsを実行し、続けてopenclaw execute web-performance --action setup-cdn --provider cloudflare --assets /static/を実行して、キャッシュを有効にし、読み込み時間を30~50%短縮します。
グラフの関連性
- 接続先:web-devクラスター
- 関連スキル:seo-optimization(パフォーマンスを重視したSEO向け)、frontend-dev(バンドルおよび遅延読み込みとの統合向け)
- 依存関係:monitoring-tools(監査後の分析向け)