nuqs
nuqs(型安全なURLクエリ状態管理)をNext.jsやその他のReactフレームワークで活用するためのベストプラクティスを提供するスキルです。`useQueryState`・`useQueryStates`・nuqs パーサー・`NuqsAdapter`・`limitUrlUpdates`・Standard Schema など、nuqs を用いたURLステート管理のコード作成・レビュー・リファクタリング時にトリガーされます。
description の原文を見る
nuqs (type-safe URL query state) best practices for Next.js and other React frameworks. This skill should be used when writing, reviewing, or refactoring code that uses nuqs for URL state management. Triggers on tasks involving useQueryState, useQueryStates, search params, URL state, query parameters, nuqs parsers, limitUrlUpdates, Standard Schema, NuqsAdapter, or Next.js routing with state.
SKILL.md 本文
Community nuqs Best Practices for Next.js & React
Next.js、React Router、TanStack Router、Remix、プレーン React 全般にわたる、nuqs を使用した型安全な URL クエリ状態管理の包括ガイド。nuqs v2.5–v2.8 の機能をカバー。8 カテゴリーにおける 46 のルールを含み、コード生成、リファクタリング、コードレビューをガイドするため影響度で優先順位付けされています。
適用場面
以下の場合、このガイドラインを参照してください:
- nuqs を使用した URL ベースの状態実装
- Next.js または React Router プロジェクトで nuqs をセットアップ
- URL パラメータ用のパーサー設定
- URL 状態を Server Components と統合
- URL 更新パフォーマンスの最適化 (
limitUrlUpdates、キー分離) - tRPC / TanStack Router / フォームと Standard Schema 経由でパーサー定義を共有
- 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— null許容でない状態に withDefault を使用parser-with-default— 制約された値に enum パーサーを使用parser-enum-validation— 正しい配列パーサー形式を選択parser-array-format— JSON パーサー入力を検証parser-json-validation— 適切な日付パーサーを選択parser-date-format— 1 ベースの URL 表示に parseAsIndex を使用parser-index-offset— カラー値に parseAsHex を使用parser-hex-colors
2. アダプター & セットアップ (CRITICAL)
— NuqsAdapter でアプリをラップsetup-nuqs-adapter— フックに 'use client' ディレクティブを追加setup-use-client— nuqs/server からサーバーユーティリティをインポートsetup-import-server— 互換性のある Next.js バージョンを確認setup-nextjs-version— 専用ファイルに共有パーサーを定義setup-shared-parsers— NuqsAdapter でアプリ全体のデフォルトを設定 (v2.5+)setup-default-options
3. 状態管理 (HIGH)
— 関連パラメータに useQueryStates を使用state-use-query-states— 派生状態に関数更新を使用state-functional-updates— null で URL パラメータをクリアstate-clear-with-null— 制御入力値を適切に処理state-controlled-inputs— URL パラメータからの派生状態を回避state-avoid-derived— パーサーレベルの設定に withOptions を使用state-options-inheritance— URL アクセスにセッターの戻り値を使用state-setter-return— クロスライブラリ検証に Standard Schema を使用 (v2.5+)state-standard-schema
4. サーバー統合 (HIGH)
— Server Components に createSearchParamsCache (または createLoader) を使用server-search-params-cache— shallow:false を使用してサーバーの再レンダリングをトリガーserver-shallow-false— ローディング状態に useTransition を統合server-use-transition— Server Components で get() の前に parse() を呼び出すserver-parse-before-get— クライアントとサーバー間でパーサーを共有server-share-parsers— Next.js 15+ で非同期 searchParams を処理server-next15-async
5. パフォーマンス最適化 (MEDIUM)
—perf-throttle-updateslimitUrlUpdatesで高速な URL 更新をスロットル— 組み込みのperf-debounce-searchlimitUrlUpdatesで検索入力をデバウンス— クリーンな URL に clearOnDefault を使用perf-clear-on-default— URL 状態を使用するコンポーネントをメモ化 (Next.js)perf-avoid-rerender— Next.js 外でキー分離に依存 (v2.5+)perf-key-isolation— リンク URL に createSerializer を使用perf-serialize-utility
6. 履歴 & ナビゲーション (MEDIUM)
— ナビゲーション的な状態に history:push を使用history-push-navigation— エフェメラル状態に history:replace を使用history-replace-ephemeral— URL 変更時のスクロール動作を制御history-scroll-behavior— ブラウザの戻る/進むナビゲーションを処理history-back-sync
7. デバッグ & テスト (LOW-MEDIUM)
— トラブルシューティング用のデバッグログを有効化debug-enable-logging— 一般的な nuqs エラーを診断debug-common-errors— URL 状態でコンポーネントをテストdebug-testing
8. アドバンスパターン (LOW)
— 複雑な型用のカスタムパーサーを作成advanced-custom-parsers— より短い URL に urlKeys を使用advanced-url-keys— オブジェクトパーサー用に eq 関数を実装advanced-eq-function— フレームワーク固有のアダプターを使用advanced-framework-adapters—advanced-process-url-search-paramsprocessUrlSearchParamsで URL 形状を正規化 (v2.6+)
使用方法
詳細な説明とコード例については、個別の参考ファイルを読んでください:
セクション定義— カテゴリー構造と影響度レベルルールテンプレート— 新しいルール追加用テンプレート
参考ファイル
| ファイル | 説明 |
|---|---|
AGENTS.md | すべてのルールを含む完全コンパイル済みガイド |
references/_sections.md | カテゴリー定義と順序付け |
assets/templates/_template.md | 新しいルール用テンプレート |
metadata.json | バージョンと参考情報 |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- pproenca
- リポジトリ
- pproenca/dot-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/pproenca/dot-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。