Reactのコンポーネント設計で、真偽値プロップの増加や柔軟な部品ライブラリ構築といった課題に対し、複合コンポーネントやレンダープロップなどのパターンを用いて、再利用性の高いAPI設計を支援するSkill。
Reactコンポーネントのリファクタリングや柔軟なライブラリ構築、再利用可能なAPI設計に役立つ、拡張性の高いReactコンポジションパターンを学ぶためのSkillです。
📜 元の英語説明(参考)
React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.
🇯🇵 日本人クリエイター向け解説
Reactコンポーネントのリファクタリングや柔軟なライブラリ構築、再利用可能なAPI設計に役立つ、拡張性の高いReactコンポジションパターンを学ぶためのSkillです。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o vercel-composition-patterns.zip https://jpskill.com/download/5535.zip && unzip -o vercel-composition-patterns.zip && rm vercel-composition-patterns.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5535.zip -OutFile "$d\vercel-composition-patterns.zip"; Expand-Archive "$d\vercel-composition-patterns.zip" -DestinationPath $d -Force; ri "$d\vercel-composition-patterns.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
vercel-composition-patterns.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
vercel-composition-patternsフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-18
- 同梱ファイル
- 2
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] vercel-composition-patterns
React コンポジションパターン
柔軟で保守しやすい React コンポーネントを構築するためのコンポジションパターンです。コンパウンドコンポーネント、状態のリフトアップ、内部のコンポジションを使用することで、ブール値プロップの増殖を避けます。これらのパターンは、コードベースがスケールするにつれて、人間と AI エージェントの両方にとって作業を容易にします。
適用時期
以下のガイドラインは、次の場合に参照してください。
- 多くのブール値プロップを持つコンポーネントのリファクタリング
- 再利用可能なコンポーネントライブラリの構築
- 柔軟なコンポーネント API の設計
- コンポーネントアーキテクチャのレビュー
- コンパウンドコンポーネントまたはコンテキストプロバイダーの操作
優先度別ルールカテゴリ
| 優先度 | カテゴリ | 影響度 | 接頭辞 |
|---|---|---|---|
| 1 | Component Architecture | HIGH | architecture- |
| 2 | State Management | MEDIUM | state- |
| 3 | Implementation Patterns | MEDIUM | patterns- |
| 4 | React 19 APIs | MEDIUM | react19- |
クイックリファレンス
1. コンポーネントアーキテクチャ (HIGH)
architecture-avoid-boolean-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プロップの代わりに、コンポジションのために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 を参照してください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
React Composition Patterns
Composition patterns for building flexible, maintainable React components. Avoid boolean prop proliferation by using compound components, lifting state, and composing internals. These patterns make codebases easier for both humans and AI agents to work with as they scale.
When to Apply
Reference these guidelines when:
- Refactoring components with many boolean props
- Building reusable component libraries
- Designing flexible component APIs
- Reviewing component architecture
- Working with compound components or context providers
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Component Architecture | HIGH | architecture- |
| 2 | State Management | MEDIUM | state- |
| 3 | Implementation Patterns | MEDIUM | patterns- |
| 4 | React 19 APIs | MEDIUM | react19- |
Quick Reference
1. Component Architecture (HIGH)
architecture-avoid-boolean-props- Don't add boolean props to customize behavior; use compositionarchitecture-compound-components- Structure complex components with shared context
2. State Management (MEDIUM)
state-decouple-implementation- Provider is the only place that knows how state is managedstate-context-interface- Define generic interface with state, actions, meta for dependency injectionstate-lift-state- Move state into provider components for sibling access
3. Implementation Patterns (MEDIUM)
patterns-explicit-variants- Create explicit variant components instead of boolean modespatterns-children-over-render-props- Use children for composition instead of renderX props
4. React 19 APIs (MEDIUM)
⚠️ React 19+ only. Skip this section if using React 18 or earlier.
react19-no-forwardref- Don't useforwardRef; useuse()instead ofuseContext()
How to Use
Read individual rule files for detailed explanations and code examples:
rules/architecture-avoid-boolean-props.md
rules/state-context-interface.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (2,886 bytes)
- 📎 README.md (2,140 bytes)