vercel-composition-patterns について
再利用可能なコンポーネントを設計・リファクタリングする React 開発者向けのコンポジションパターン集です。複合コンポーネントや共有状態の Provider、ブール型 props に頼らない構成を扱います。
主な機能
- 01複合コンポーネントの設計
- 02Provider による状態管理
- 03明示的なコンポーネントバリアント
- 04children によるコンポジション
- 05React 19 API の指針
活用シーン
- 01ブール型 props が多いコンポーネントの改修
- 02再利用可能なコンポーネントライブラリの設計
- 03コンポーネントアーキテクチャのレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ calesthio/ openmontage --skill vercel-composition-patternsインストール後、Claude Code で/vercel-composition-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdREADME.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 コンポーネントを構築するためのコンポジションパターンです。コンパウンドコンポーネントや状態のリフトアップ、内部要素のコンポジションを活用して、ブール値の props が増え続けるのを避けます。これらのパターンを使うと、コードベースが大規模になっても、人間にも AI エージェントにも扱いやすくなります。
参考情報: このディレクトリの
AGENTS.mdは、Vercel から取り込んだ詳細な上流ガイドです。これはこのスキルだけを対象とする補足資料であり、読み込み可能なエントリーポイントであり、正とされるのはSKILL.mdです。リポジトリルートのAGENTS.md/AGENT_GUIDE.mdを上書きしたり、拡張したりするものではありません。
適用する場面
以下のような場合に、これらのガイドラインを参照してください。
- ブール値の props が多いコンポーネントをリファクタリングするとき
- 再利用可能なコンポーネントライブラリを構築するとき
- 柔軟なコンポーネント API を設計するとき
- コンポーネントアーキテクチャをレビューするとき
- コンパウンドコンポーネントやコンテキストプロバイダーを扱うとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | コンポーネントアーキテクチャ | HIGH | architecture- |
| 2 | 状態管理 | MEDIUM | state- |
| 3 | 実装パターン | MEDIUM | patterns- |
| 4 | React 19 API | MEDIUM | react19- |
クイックリファレンス
1. コンポーネントアーキテクチャ(HIGH)
architecture-avoid-boolean-props- 動作をカスタマイズするためにブール値の props を 追加せず、コンポジションを使用するarchitecture-compound-components- 共有コンテキストを使って複雑なコンポーネントを 構成する
2. 状態管理(MEDIUM)
state-decouple-implementation- 状態の管理方法を把握するのはプロバイダーだけにするstate-context-interface- 依存性注入のため、状態、アクション、メタ情報を含む汎用インターフェースを定義するstate-lift-state- 兄弟コンポーネントからアクセスできるよう、状態をプロバイダーコンポーネントに移動する
3. 実装パターン(MEDIUM)
patterns-explicit-variants- ブール値のモードではなく、明示的なバリアントコンポーネントを作成するpatterns-children-over-render-props- renderX props の代わりに 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 を参照してください。