next-best-practices について
開発者やコーディングエージェント向けに、Next.js のコード作成とレビューの指針をまとめたスキルです。ルーティング、React Server Components、データ処理、レンダリング、デプロイなどを扱います。
主な機能
- 01ファイルとルートの規約
- 02React Server Component 境界の確認
- 03非同期 API のパターン
- 04データ取得とエラー処理
- 05メタデータ、アセット、バンドルの指針
- 06Hydration と Suspense の問題調査
活用シーン
- 01Next.js のルートやコンポーネントのレビュー
- 02Next.js 15+ の非同期 API の適用
- 03Hydration または Suspense の問題調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ makerjackie/ jackie-skills-starter --skill next-best-practicesインストール後、Claude Code で/next-best-practicesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
async-patterns.mdbundling.mddata-patterns.mddebug-tricks.mddirectives.mderror-handling.mdfile-conventions.mdfont.mdfunctions.mdhydration-error.mdimage.mdmetadata.mdparallel-routes.mdroute-handlers.mdrsc-boundaries.mdruntime-selection.mdscripts.mdself-hosting.mdsuspense-boundaries.md詳細
(中国語)Next.js のベストプラクティス
Next.js コードを記述またはレビューする際は、以下のルールを適用してください。
ファイル規約
file-conventions.md を参照してください。
- プロジェクト構造と特殊ファイル
- ルートセグメント(動的、キャッチオール、グループ)
- 並列ルートとインターセプトルート
- v16 でのミドルウェアの名称変更(middleware → proxy)
RSC の境界
無効な React Server Component のパターンを検出します。
rsc-boundaries.md を参照してください。
- 非同期クライアントコンポーネントの検出(無効)
- シリアライズできない props の検出
- Server Action の例外
非同期パターン
Next.js 15 以降の非同期 API の変更です。
async-patterns.md を参照してください。
- 非同期の
paramsとsearchParams - 非同期の
cookies()とheaders() - 移行用 codemod
ランタイムの選択
runtime-selection.md を参照してください。
- デフォルトで Node.js ランタイムを使用する
- Edge ランタイムが適切なケース
ディレクティブ
directives.md を参照してください。
'use client'、'use server'(React)'use cache'(Next.js)
関数
functions.md を参照してください。
- ナビゲーションフック:
useRouter、usePathname、useSearchParams、useParams - サーバー関数:
cookies、headers、draftMode、after - 生成関数:
generateStaticParams、generateMetadata
エラー処理
error-handling.md を参照してください。
error.tsx、global-error.tsx、not-found.tsxredirect、permanentRedirect、notFoundforbidden、unauthorized(認証エラー)- catch ブロックでの
unstable_rethrow
データパターン
data-patterns.md を参照してください。
- Server Components と Server Actions と Route Handlers の違い
- データのウォーターフォールを回避する方法(
Promise.all、Suspense、プリロード) - クライアントコンポーネントでのデータ取得
ルートハンドラー
route-handlers.md を参照してください。
route.tsの基本page.tsxと競合する GET ハンドラー- 環境による動作(React DOM なし)
- Server Actions との使い分け
メタデータと OG 画像
metadata.md を参照してください。
- 静的および動的なメタデータ
generateMetadata関数next/ogを使った OG 画像の生成- ファイルベースのメタデータ規約
画像の最適化
image.md を参照してください。
<img>よりも常にnext/imageを使用する- リモート画像の設定
- レスポンシブな
sizes属性 - ぼかしプレースホルダー
- LCP 向けの優先読み込み
フォントの最適化
font.md を参照してください。
next/fontのセットアップ- Google Fonts、ローカルフォント
- Tailwind CSS との統合
- サブセットのプリロード
バンドル
bundling.md を参照してください。
- サーバーと互換性のないパッケージ
- CSS のインポート(link タグは使用しない)
- ポリフィル(すでに含まれています)
- ESM と CommonJS の問題
- バンドルの分析
スクリプト
scripts.md を参照してください。
next/scriptとネイティブの script タグの違い- インラインスクリプトには
idが必要 - 読み込み戦略
@next/third-partiesを使った Google Analytics
ハイドレーションエラー
hydration-error.md を参照してください。
- よくある原因(ブラウザー API、日付、無効な HTML)
- エラーオーバーレイを使ったデバッグ
- 原因ごとの修正方法
Suspense 境界
suspense-boundaries.md を参照してください。
useSearchParamsとusePathnameによる CSR への切り替え- Suspense 境界が必要なフック
並列ルートとインターセプトルート
parallel-routes.md を参照してください。
@slotと(.)インターセプターを使ったモーダルのパターン- フォールバック用の
default.tsx router.back()を使ってモーダルを正しく閉じる方法
セルフホスティング
self-hosting.md を参照してください。
- Docker 向けの
output: 'standalone' - 複数インスタンス ISR 向けのキャッシュハンドラー
- そのまま動作するものと追加設定が必要なもの
デバッグのヒント
debug-tricks.md を参照してください。
- AI を活用したデバッグ用の MCP エンドポイント
--debug-build-pathsを使って特定のルートを再ビルドする