nextjs について
Next.js 16 App Routerの開発者向け実践ガイドです。影響度順のルールで、キャッシュ、サーバー側データ取得、ルーティング、Server Actionsを扱います。
主な機能
- 018カテゴリの最適化ルール
- 02影響度順に並んだルール
- 03ルールIDとコード例の解説
- 0416.3プレビュー機能のルール
活用シーン
- 01Next.js 16 App Routerアプリの開発
- 02キャッシュとデータ取得戦略の設定
- 03ルーティング、フォーム、サーバー変更処理の実装
- 04ビルド、ストリーミング、SEOの最適化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pymodel/ react-frontend-skills --skill nextjsインストール後、Claude Code で/nextjsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/action-error-handling.mdaction-optimistic-updates.mdaction-pending-states.mdaction-revalidation.mdaction-server-action-forms.mdbuild-barrel-files.mdbuild-dynamic-imports.mdbuild-external-packages.mdbuild-optimize-package-imports.mdbuild-turbopack-config.mdcache-fetch-options.mdcache-react-cache.mdcache-revalidate-path.mdcache-revalidate-tag.mdcache-segment-config.mdcache-use-cache-directive.mdclient-children-pattern.mdclient-hydration-mismatch.mdclient-third-party-scripts.mdclient-use-client-boundary.mdmeta-generate-metadata.mdmeta-opengraph-images.mdmeta-robots.mdmeta-sitemap.mdroute-instant-navigations.mdroute-intercepting-routes.mdroute-not-found.mdroute-parallel-routes.mdroute-partial-prefetching.mdroute-prefetching.md詳細
Next.js Community Next.js 16 App Router のベストプラクティス
Next.js Community が保守する、Next.js 16 App Router アプリケーション向けの包括的なパフォーマンス最適化ガイドです。影響度に基づいて優先順位付けされた8カテゴリ、42のルールが含まれており、自動リファクタリングとコード生成の指針となります。2つのルールは Next.js 16.3 のプレビュー機能(Instant Navigations、Partial Prefetching)を対象としており、cacheComponents と partialPrefetching が有効な場合に利用できます。
適用する場面
次の場合に、これらのガイドラインを参照してください。
- 新しい Next.js 16 App Router のコードを書くとき
- 'use cache' ディレクティブを使ってキャッシュ戦略を設定するとき
- サーバーコンポーネントとデータ取得を実装するとき
- 並列ルートとインターセプトルートを使ってルーティングを設定するとき
- フォーム処理や変更処理のためにサーバーアクションを作成するとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | ビルドとバンドルの最適化 | CRITICAL | build- |
| 2 | キャッシュ戦略 | CRITICAL | cache- |
| 3 | サーバーコンポーネントとデータ取得 | HIGH | server- |
| 4 | ルーティングとナビゲーション | HIGH | route- |
| 5 | サーバーアクションと変更処理 | MEDIUM-HIGH | action- |
| 6 | ストリーミングと読み込み状態 | MEDIUM | stream- |
| 7 | メタデータと SEO | MEDIUM | meta- |
| 8 | クライアントコンポーネント | LOW-MEDIUM | client- |
クイックリファレンス
1. ビルドとバンドルの最適化(CRITICAL)
build-optimize-package-imports- アイコンライブラリ向けに optimizePackageImports を設定するbuild-dynamic-imports- サイズの大きいコンポーネントには動的インポートを使うbuild-barrel-files- App Router ではバレルファイルからのインポートを避けるbuild-turbopack-config- Turbopack をトップレベルで設定するbuild-external-packages- Node の依存関係向けにサーバー外部パッケージを設定する
2. キャッシュ戦略(CRITICAL)
cache-use-cache-directive- Cache Components で 'use cache' を使うcache-revalidate-tag- cacheLife プロファイルとともに revalidateTag を使うcache-fetch-options- Fetch キャッシュオプションを明示的に設定するcache-revalidate-path- ルートレベルのキャッシュ無効化に revalidatePath を使うcache-react-cache- リクエストの重複排除に React cache() を使うcache-segment-config- ルート設定を有効なキャッシュモデルに合わせる
3. サーバーコンポーネントとデータ取得(HIGH)
server-parallel-fetching- サーバーコンポーネントでデータを並列取得するserver-component-streaming- 段階的な読み込みのためにサーバーコンポーネントをストリーミングするserver-data-colocation- データ取得をコンポーネントと同じ場所に配置するserver-preload-pattern- 重要なデータにプリロードパターンを使うserver-avoid-client-fetching- 初期データのクライアント側でのデータ取得を避けるserver-error-handling- サーバーコンポーネントのエラーを適切に処理する
4. ルーティングとナビゲーション(HIGH)
route-parallel-routes- 独立したコンテンツには並列ルートを使うroute-intercepting-routes- モーダルパターンにはインターセプトルートを使うroute-prefetching- Link のプリフェッチを適切に設定するroute-instant-navigations- Stream、Cache、または Block を使ってナビゲーションを即時にする(16.3 プレビュー)route-partial-prefetching- 再利用可能なルートシェルには部分プリフェッチを使う(16.3 プレビュー)route-proxy-ts- ネットワーク境界のロジックには proxy.ts を使うroute-not-found- リソースが見つからない場合は notFound() を使う
5. サーバーアクションと変更処理(MEDIUM-HIGH)
action-server-action-forms- フォーム送信にはサーバーアクションを使うaction-pending-states- useFormStatus で処理中の状態を表示するaction-error-handling- サーバーアクションのエラーを適切に処理するaction-optimistic-updates- 即座にフィードバックを返すために楽観的更新を使うaction-revalidation- 変更処理の後にキャッシュを再検証する
6. ストリーミングと読み込み状態(MEDIUM)
stream-suspense-boundaries- Suspense 境界を戦略的に配置するstream-loading-tsx- ルートレベルの読み込み状態に loading.tsx を使用するstream-error-tsx- ルートレベルのエラー境界に error.tsx を使用するstream-skeleton-matching- スケルトンの寸法を実際のコンテンツに合わせるstream-nested-suspense- 段階的な情報開示のために Suspense をネストする
7. メタデータと SEO(MEDIUM)
meta-generate-metadata- 動的なメタデータには generateMetadata を使用するmeta-sitemap- サイトマップを動的に生成するmeta-robots- クロール制御のために Robots を設定するmeta-opengraph-images- OpenGraph 画像を動的に生成する
8. クライアントコンポーネント(LOW-MEDIUM)
client-use-client-boundary- 'use client' の境界範囲を最小限にするclient-children-pattern- サーバーコンポーネントをクライアントコンポーネントの子として渡すclient-hydration-mismatch- ハイドレーションの不一致を回避するclient-third-party-scripts- サードパーティ製スクリプトを効率的に読み込む
使用方法
まず、プロジェクトのルートで実行します。
npx -y @pymodel/react-frontend-skills detect # installed vs. targeted versions
npx -y @pymodel/react-frontend-skills scan --skill nextjs # deprecated APIs → rule IDs
上記のルールのうちタスクに該当するものと、scan で検出された項目ごとに references/<rule-id>.md を読み、重要な理由と誤ったコードと正しいコードを確認してください。
関連スキル
- React 19 の基本については、
reactスキルを参照してください - データ取得のパターンについては、
tanstack-queryスキルを参照してください - クライアントサイドのフォームについては、
react-hook-formスキルを参照してください
コメント
Markdown 対応