vercel-composition-patterns について
再利用可能なコンポーネントを開発・保守する人向けの、React コンポジションパターン集です。コンポーネント設計、状態管理、実装パターン、React 19 API のルールとコード例を提供します。
主な機能
- 01ブール型 props の増加を回避
- 02コンテキストを使った複合コンポーネント
- 03Provider への状態の引き上げ
- 04children によるコンポジション
- 05React 19 専用ルール
活用シーン
- 01ブール型 props が多いコンポーネントのリファクタリング
- 02再利用可能なコンポーネントライブラリの設計
- 03コンポーネント設計のレビュー
- 04柔軟なコンポーネント API の構築
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ open-slide/ open-slide --skill vercel-composition-patternsインストール後、Claude Code で/vercel-composition-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdrules/_sections.md_template.mdarchitecture-avoid-boolean-props.mdarchitecture-compound-components.mdpatterns-children-over-render-props.mdpatterns-explicit-variants.mdreact19-no-forwardref.mdstate-context-interface.mdstate-decouple-implementation.mdstate-lift-state.md詳細
React コンポジションパターン
柔軟で保守しやすい React コンポーネントを構築するためのコンポジションパターンです。コンパウンドコンポーネント、状態の持ち上げ、内部の合成を活用して、boolean prop が増えすぎるのを避けます。これらのパターンにより、規模が拡大しても、人間と AI エージェントの両方がコードベースを扱いやすくなります。
適用するタイミング
次のような場合に、これらのガイドラインを参照してください:
- boolean prop が多いコンポーネントをリファクタリングするとき
- 再利用可能なコンポーネントライブラリを構築するとき
- 柔軟なコンポーネント API を設計するとき
- コンポーネントアーキテクチャをレビューするとき
- コンパウンドコンポーネントやコンテキストプロバイダーを扱うとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | コンポーネントアーキテクチャ | HIGH | architecture- |
| 2 | 状態管理 | MEDIUM | state- |
| 3 | 実装パターン | MEDIUM | patterns- |
| 4 | React 19 API | MEDIUM | react19- |
クイックリファレンス
1. コンポーネントアーキテクチャ (HIGH)
architecture-avoid-boolean-props- 動作をカスタマイズするために boolean prop を追加せず、コンポジションを使用するarchitecture-compound-components- 共有コンテキストを使って複雑なコンポーネントを構造化する
2. 状態管理 (MEDIUM)
state-decouple-implementation- プロバイダーだけが、状態がどのように管理されているかを知っているstate-context-interface- 依存性注入のために、state、actions、meta を持つ汎用インターフェースを定義するstate-lift-state- 兄弟コンポーネントからアクセスできるように、状態をプロバイダーコンポーネントに移動する
3. 実装パターン (MEDIUM)
patterns-explicit-variants- boolean モードではなく、明示的なバリアントコンポーネントを作成するpatterns-children-over-render-props- renderX prop を使う代わりに、children を使ってコンポジションを行う
4. React 19 API (MEDIUM)
⚠️ React 19 以降のみ。 React 18 以前を使用している場合は、このセクションを読み飛ばしてください。
react19-no-forwardref-forwardRefを使用しないでください。useContext()の代わりにuse()を使用します
使い方
個々のルールファイルを読むと、詳しい説明とコード例を確認できます:
rules/architecture-avoid-boolean-props.md
rules/state-context-interface.md
各ルールファイルには次の内容が含まれています:
- なぜそれが重要なのかについての簡単な説明
- 誤ったコード例とその説明
- 正しいコード例とその説明
- 追加のコンテキストと参考資料
コンパイル済みの完全なドキュメント
すべてのルールを展開した完全なガイドは AGENTS.md を参照してください。
コメント
Markdown 対応