vercel-composition-patterns

作成者: supabase

Reactコンポジションパターンでスケーラブルに。コンポーネントをリファクタリングする際に使用

npx skills add https://github.com/supabase/supabase --skill vercel-composition-patterns

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

PriorityCategoryImpactPrefix
1Component ArchitectureHIGHarchitecture-
2State ManagementMEDIUMstate-
3Implementation PatternsMEDIUMpatterns-
4React 19 APIsMEDIUMreact19-

Quick Reference

1. Component Architecture (HIGH)

  • architecture-avoid-boolean-props - Don't add boolean props to customize behavior; use composition
  • architecture-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 managed
  • state-context-interface - Define generic interface with state, actions, meta for dependency injection
  • state-lift-state - Move state into provider components for sibling access

3. Implementation Patterns (MEDIUM)

  • patterns-explicit-variants - Create explicit variant components instead of boolean modes
  • patterns-children-over-render-props - Use children for composition instead of renderX props

4. React 19 APIs (MEDIUM)

⚠️ React 19+ only. Skip these patterns if you're on React 18 or earlier.

  • react19-no-forwardref - Don't use forwardRef; use use() instead of useContext()

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

supabaseのその他のスキル

studio-e2e-tests
supabase
Supabase Studio向けのPlaywright E2Eテストを作成し実行します。依頼があった場合に使用します。
pm-the-docs
supabase
Docs-PMの「Write the docs」オーサリングプロセス向け意思決定支援 — FrameおよびShape段階で、オーディエンス、ステージ、横断的スコープの判断を行います、…
studio-best-practices
supabase
ReactおよびTypeScriptのSupabase Studio向けベストプラクティス。Studioコンポーネントの作成やレビュー時に使用します。ブール値の命名、コンポーネント構造などをカバーしています。
docs-content
supabase
Supabaseのコンテンツを、apps/docs内のどこでも作成、編集、整理、レビューできます。ガイド、解説、チュートリアル、トラブルシューティング項目、リファレンスドキュメントなど…
studio-mock-api-tests
supabase
Supabase Studioのコンポーネントテストで、MSWを使用してネットワーク層でAPIリクエストをモックします。React…を実行するコンポーネントテストの作成またはレビュー時に使用します。
studio-ui-patterns
supabase
Supabase StudioのデザインシステムUIパターン。ページ、フォーム、テーブル、チャート、空状態、ナビゲーション、カード、アラート、サイド…の構築または更新時に使用します。
react-hook-form
supabase
モノレポ内のあらゆる場所でReact Hook Formを正しく使用する方法 — データフロー、サブスクリプション、リセット、ダーティ状態、数値入力、制御された入力のルール。これを読み込む…
studio-queries
supabase
Supabase Studioにおけるデータ取得のReact Query規約。apps/studio/data/内のクエリフック、ミューテーションフック、またはクエリキーを作成またはレビューする際に使用します。—…