nuqs について
nuqs で型安全な URL クエリ状態を管理する開発者向けのリファレンススキルです。React などの関連フレームワークを対象に、設定や解析、サーバー連携など 39 項目を収録しています。
主な機能
- 018 分野にわたる 39 項目
- 02型付きパーサーと URL パラメーターのパターン
- 03フレームワーク設定とアダプターの指針
- 04サーバーコンポーネント連携
- 05URL 更新の性能と履歴制御
- 06デバッグとテストの指針
活用シーン
- 01アプリへの URL 状態の導入
- 02フレームワークプロジェクトでの nuqs 設定
- 03ライブラリ間でのパーサー共有
- 04クエリ状態の挙動のデバッグ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill nuqsインストール後、Claude Code で/nuqsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdassets/templates/_template.mdreferences/_sections.mdadvanced-custom-parsers.mdadvanced-eq-function.mdadvanced-framework-adapters.mdadvanced-process-url-search-params.mdadvanced-url-keys.mddebug-enable-logging.mddebug-testing.mdhistory-push-navigation.mdhistory-scroll-behavior.mdparser-array-format.mdparser-date-format.mdparser-enum-validation.mdparser-index-offset.mdparser-json-validation.mdparser-use-typed-parsers.mdparser-with-default.mdperf-avoid-rerender.mdperf-clear-on-default.mdperf-debounce-search.mdperf-key-isolation.mdperf-serialize-utility.mdperf-throttle-updates.mdserver-next15-async.mdserver-parse-before-get.mdserver-search-params-cache.md詳細
Next.js と React 向けの nuqs コミュニティベストプラクティス
Next.js、React Router、TanStack Router、Remix、プレーンな React で nuqs を使用した、型安全な URL クエリ状態管理の包括的なガイドです。nuqs v2.5〜v2.9 の機能を扱います。8 つのカテゴリにわたる 39 のルールを収録し、コード生成、リファクタリング、コードレビューの指針となるよう、影響度の高い順に優先順位を付けています。
適用するタイミング
以下の場合に、このガイドラインを参照してください。
- nuqs を使って URL ベースの状態を実装する場合
- Next.js または React Router プロジェクトで nuqs を設定する場合
- URL パラメーター用のパーサーを設定する場合
- URL 状態をサーバーコンポーネントと連携させる場合
- URL 更新のパフォーマンスを最適化する場合(
limitUrlUpdates、キーの分離) - Standard Schema を通じて、tRPC/TanStack Router/フォームとパーサー定義を共有する場合
- nuqs 関連の問題をデバッグする場合
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | パーサー設定 | CRITICAL | parser- |
| 2 | アダプターとセットアップ | CRITICAL | setup- |
| 3 | 状態管理 | HIGH | state- |
| 4 | サーバー連携 | HIGH | server- |
| 5 | パフォーマンス最適化 | MEDIUM | perf- |
| 6 | 履歴とナビゲーション | MEDIUM | history- |
| 7 | デバッグとテスト | LOW-MEDIUM | debug- |
| 8 | 高度なパターン | LOW | advanced- |
クイックリファレンス
1. パーサー設定(CRITICAL)
parser-use-typed-parsers— 文字列以外の値には型付きパーサーを使用するparser-with-default— null を許容しない状態には withDefault を使用するparser-enum-validation— 制約付きの値には列挙型パーサーを使用するparser-array-format— 適切な配列パーサーの形式を選択するparser-json-validation— JSON パーサーの入力を検証するparser-date-format— 適切な日付パーサーを選択するparser-index-offset— URL で 1 始まりの表示を行うには parseAsIndex を使用する
2. アダプターとセットアップ(CRITICAL)
setup-nuqs-adapter— アプリを NuqsAdapter でラップするsetup-use-client— フックには 'use client' ディレクティブを追加するsetup-import-server— サーバーユーティリティは nuqs/server からインポートするsetup-nextjs-version— 互換性のある Next.js バージョンを確認するsetup-shared-parsers— 専用ファイルで共有パーサーを定義するsetup-default-options— NuqsAdapter でアプリ全体のデフォルトを設定する(v2.5+)
3. 状態管理(HIGH)
state-use-query-states— 関連するパラメーターには useQueryStates を使用するstate-clear-with-null— null を使用して URL パラメーターをクリアするstate-avoid-derived— URL パラメーターから派生状態を作成しないstate-options-inheritance— パーサーレベルの設定には withOptions を使用するstate-setter-return— URL にアクセスするにはセッターの戻り値を使用するstate-standard-schema— ライブラリ間の検証には Standard Schema を使用する(v2.5+)
4. サーバー統合(HIGH)
server-search-params-cache— Server Components では createSearchParamsCache(または createLoader)を使用しますserver-shallow-false— サーバーで再レンダリングを実行するには shallow:false を使用しますserver-use-transition— ローディング状態に useTransition を統合しますserver-parse-before-get— Server Components では get() の前に parse() を呼び出しますserver-next15-async— Next.js 15 以降で非同期の searchParams を処理します
5. パフォーマンス最適化(MEDIUM)
perf-throttle-updates—limitUrlUpdatesで URL の頻繁な更新をスロットリングしますperf-debounce-search— 組み込みのlimitUrlUpdatesで検索入力をデバウンスしますperf-clear-on-default— URL を簡潔に保つには clearOnDefault を使用しますperf-avoid-rerender— URL 状態を使用するコンポーネントをメモ化します(Next.js)perf-key-isolation— Next.js 以外ではキーの分離を活用します(v2.5+)perf-serialize-utility— リンク URL には createSerializer を使用します
6. 履歴とナビゲーション(MEDIUM)
history-push-navigation— history:push と history:replace のどちらを使うか選択しますhistory-scroll-behavior— URL 変更時のスクロール動作を制御します
7. デバッグとテスト(LOW-MEDIUM)
debug-enable-logging— トラブルシューティング用にデバッグログを有効にしますdebug-testing— URL 状態を使ってコンポーネントをテストします
8. 高度なパターン(LOW)
advanced-custom-parsers— 複雑な型に対応するカスタムパーサーを作成しますadvanced-url-keys— URL を短くするには urlKeys を使用しますadvanced-eq-function— オブジェクトパーサー用の eq 関数を実装しますadvanced-framework-adapters— フレームワーク固有のアダプターを使用しますadvanced-process-url-search-params—processUrlSearchParamsで URL の形式を正規化します(v2.6+)
使用方法
詳しい説明とコード例については、各リファレンスファイルをお読みください。
- セクションの定義 — カテゴリー構成と影響度
- ルールのテンプレート — 新しいルールを追加するためのテンプレート
リファレンスファイル
| ファイル | 説明 |
|---|---|
| AGENTS.md | すべてのルールをまとめた完全ガイド |
| references/_sections.md | カテゴリーの定義と順序 |
| assets/templates/_template.md | 新しいルール用のテンプレート |
| metadata.json | バージョンとリファレンス情報 |
コメント
Markdown 対応