React Expert Skill
Position dans l'Architecture
Skill de NIVEAU 3 : COMMENT (implémentation) spécialisé dans l'écosystème React.
┌─────────────────────────────────────────────────────────────────┐
│ NIVEAU 1 : POURQUOI (direction-technique) │
│ → Choisir React ? Architecture ? Patterns globaux ? │
├─────────────────────────────────────────────────────────────────┤
│ NIVEAU 2 : QUOI (web-dev-process) │
│ → Process de dev, workflow tests, conventions équipe │
├─────────────────────────────────────────────────────────────────┤
│ NIVEAU 3 : COMMENT (react-expert) ← CE SKILL │
│ → Code React, hooks, composants, tests, styling │
└─────────────────────────────────────────────────────────────────┘
Philosophie
Ce skill fournit l'implémentation concrète pour React :
- ✅ Code React (hooks, composants, patterns)
- ✅ State management (Context, Zustand, Redux)
- ✅ Data fetching (React Query, SWR)
- ✅ Testing (RTL, mocks)
- ✅ Styling (Tailwind, CSS-in-JS)
- ✅ Performance (memo, code splitting)
Il ne fournit PAS :
- ❌ Décisions "React vs Vue vs Angular" →
direction-technique
- ❌ Process de code review →
web-dev-process
- ❌ Conventions d'équipe →
web-dev-process
- ❌ Next.js spécifique →
nextjs-expert (skill séparé à créer)
Architecture
┌─────────────────────────────────────────────────────────────────────────────┐
│ react-expert │
│ (28 agents) │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 7 DOMAINES │ │
│ │ │ │
│ │ hooks/ components/ state/ data/ │ │
│ │ (5) (5) (4) (4) │ │
│ │ │ │
│ │ testing/ styling/ performance/ │ │
│ │ (4) (3) (3) │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
Domaines et Agents
1. hooks/ - React Hooks (5 agents)
Implémentation et patterns de hooks.
| Agent |
Responsabilité |
Produit |
orchestrator |
Coordination hooks |
Routage |
state-hooks |
useState, useReducer |
Code gestion état local |
effect-hooks |
useEffect, useLayoutEffect |
Code effets, cleanup |
ref-hooks |
useRef, useImperativeHandle |
Code refs DOM/valeurs |
custom-hooks |
Création de hooks personnalisés |
Hooks réutilisables |
Mots-clés : useState, useEffect, useRef, useReducer, useCallback, useMemo, hook, custom hook
2. components/ - Patterns Composants (5 agents)
Patterns et architecture de composants.
| Agent |
Responsabilité |
Produit |
orchestrator |
Coordination composants |
Routage |
functional |
Composants fonctionnels, props, children |
Code composants |
composition |
Compound, Render Props, HOC |
Patterns composition |
forms |
Formulaires, validation, controlled/uncontrolled |
Code formulaires |
error-boundaries |
Gestion d'erreurs, Suspense boundaries |
Code error handling |
Mots-clés : composant, component, props, children, compound, render props, HOC, form, formulaire
3. state/ - Gestion d'État (4 agents)
State management React.
| Agent |
Responsabilité |
Produit |
orchestrator |
Coordination state |
Routage |
context |
Context API, providers, consumers |
Code Context |
zustand |
Stores Zustand, slices, middleware |
Code Zustand |
redux-toolkit |
Redux Toolkit, slices, thunks |
Code RTK |
Mots-clés : state, context, provider, zustand, redux, store, slice, global state
4. data/ - Data Fetching (4 agents)
Récupération et synchronisation de données.
| Agent |
Responsabilité |
Produit |
orchestrator |
Coordination data |
Routage |
react-query |
TanStack Query, queries, mutations |
Code React Query |
swr |
SWR, revalidation, cache |
Code SWR |
suspense |
Suspense, lazy, streaming |
Code Suspense |
Mots-clés : fetch, query, mutation, react-query, tanstack, swr, suspense, cache, data
5. testing/ - Tests React (4 agents)
Testing de composants et hooks.
| Agent |
Responsabilité |
Produit |
orchestrator |
Coordination testing |
Routage |
rtl |
React Testing Library, queries, events |
Code tests composants |
hooks-testing |
renderHook, act, async hooks |
Code tests hooks |
mocking |
Mocks, providers, MSW |
Code mocking |
Mots-clés : test, testing, rtl, testing library, render, screen, userEvent, mock, msw
6. styling/ - Styling React (3 agents)
Solutions de styling pour React.
| Agent |
Responsabilité |
Produit |
orchestrator |
Coordination styling |
Routage |
tailwind-react |
Tailwind + React, cn, cva |
Code Tailwind |
css-in-js |
styled-components, Emotion |
Code CSS-in-JS |
Mots-clés : style, css, tailwind, styled-components, emotion, className, cn
7. performance/ - Performance React (3 agents)
Optimisation de performance.
| Agent |
Responsabilité |
Produit |
orchestrator |
Coordination perf |
Routage |
memoization |
memo, useMemo, useCallback |
Code memo |
code-splitting |
lazy, Suspense, dynamic imports |
Code splitting |
Mots-clés : performance, memo, useMemo, useCallback, lazy, code splitting, optimization
Règles de Routage
Par mots-clés
SI question contient [useState, useReducer, état local]
→ hooks/state-hooks.md
SI question contient [useEffect, cleanup, effet de bord]
→ hooks/effect-hooks.md
SI question contient [useRef, ref, DOM element, focus]
→ hooks/ref-hooks.md
SI question contient [custom hook, créer un hook, extraire]
→ hooks/custom-hooks.md
SI question contient [composant, props, children, functional]
→ components/functional.md
SI question contient [compound, render props, HOC, composition]
→ components/composition.md
SI question contient [formulaire, form, input, validation, controlled]
→ components/forms.md
SI question contient [Context, Provider, Consumer, useContext]
→ state/context.md
SI question contient [Zustand, store, create, slice]
→ state/zustand.md
SI question contient [Redux, RTK, createSlice, thunk]
→ state/redux-toolkit.md
SI question contient [React Query, useQuery, useMutation, TanStack]
→ data/react-query.md
SI question contient [SWR, useSWR, revalidate]
→ data/swr.md
SI question contient [test, Testing Library, render, screen]
→ testing/rtl.md
SI question contient [renderHook, test hook, act]
→ testing/hooks-testing.md
SI question contient [memo, useMemo, useCallback, re-render]
→ performance/memoization.md
SI question contient [lazy, code splitting, dynamic import]
→ performance/code-splitting.md
Composition avec Autres Skills
Flux typique : Nouvelle feature
1. direction-technique/architecture/patterns-design
→ Décide : "Utiliser le pattern Container/Presenter"
2. web-dev-process/development/coding-standards
→ Définit : "Conventions fichiers, tests obligatoires"
3. react-expert/components/functional
→ Implémente : Code React avec le pattern
Flux typique : Tests
1. direction-technique/qualite/metriques-qualite
→ Décide : "Coverage 80%, tests critiques"
2. web-dev-process/testing/unit-tests
→ Définit : "Pyramide tests, quoi tester"
3. react-expert/testing/rtl
→ Implémente : Code tests composants
4. react-expert/testing/hooks-testing
→ Implémente : Code tests hooks
Points d'Escalade
Vers direction-technique
- Architecture globale (monorepo, micro-frontend)
- Choix de state management (Context vs Zustand vs Redux)
- Trade-offs majeurs
Vers web-dev-process
- Workflow de PR et code review
- Organisation des tests
- Standards de documentation
Vers frontend-developer
- Questions CSS/HTML générales
- Questions JavaScript/TypeScript générales
- Outils de build (Vite, Webpack)
Vers nextjs-expert (skill séparé)
- App Router, Server Components
- Server Actions, API Routes
- Middleware, ISR, SSR
Skills Associés
| Skill |
Niveau |
Relation |
direction-technique |
POURQUOI |
Décisions architecture React |
web-dev-process |
QUOI |
Process de développement |
frontend-developer |
COMMENT |
JS/TS/CSS génériques (délègue ici pour React) |
design-system-foundations |
COMMENT |
Tokens et composants design |
nextjs-expert |
COMMENT |
Implémentation Next.js (à créer) |
Changelog
v1.0.0
- Création initiale avec 7 domaines et 28 agents
- Focus sur React 18+ (hooks, Suspense, concurrent features)
- Architecture POURQUOI/QUOI/COMMENT
- Next.js extrait vers skill séparé (à créer)
1---2name: react-expert3description: |-4 Expert React pour hooks, state management et patterns modernes. Utilise ce skill quand: (1) développement de composants React, (2) gestion d'état (Redux, Zustand, Context), (3) hooks personnalisés, (4) optimisation des re-renders, (5) testing de composants React, (6) patterns React avancés.5metadata:6 version: 1.0.07 status: active8---910# React Expert Skill1112## Position dans l'Architecture1314Skill de **NIVEAU 3 : COMMENT** (implémentation) spécialisé dans l'écosystème React.1516```17┌─────────────────────────────────────────────────────────────────┐18│ NIVEAU 1 : POURQUOI (direction-technique) │19│ → Choisir React ? Architecture ? Patterns globaux ? │20├─────────────────────────────────────────────────────────────────┤21│ NIVEAU 2 : QUOI (web-dev-process) │22│ → Process de dev, workflow tests, conventions équipe │23├─────────────────────────────────────────────────────────────────┤24│ NIVEAU 3 : COMMENT (react-expert) ← CE SKILL │25│ → Code React, hooks, composants, tests, styling │26└─────────────────────────────────────────────────────────────────┘27```2829## Philosophie3031Ce skill fournit l'**implémentation concrète** pour React :3233- ✅ Code React (hooks, composants, patterns)34- ✅ State management (Context, Zustand, Redux)35- ✅ Data fetching (React Query, SWR)36- ✅ Testing (RTL, mocks)37- ✅ Styling (Tailwind, CSS-in-JS)38- ✅ Performance (memo, code splitting)3940Il ne fournit PAS :41- ❌ Décisions "React vs Vue vs Angular" → `direction-technique`42- ❌ Process de code review → `web-dev-process`43- ❌ Conventions d'équipe → `web-dev-process`44- ❌ Next.js spécifique → `nextjs-expert` (skill séparé à créer)4546## Architecture4748```49┌─────────────────────────────────────────────────────────────────────────────┐50│ react-expert │51│ (28 agents) │52│ │53│ ┌─────────────────────────────────────────────────────────────────────┐ │54│ │ 7 DOMAINES │ │55│ │ │ │56│ │ hooks/ components/ state/ data/ │ │57│ │ (5) (5) (4) (4) │ │58│ │ │ │59│ │ testing/ styling/ performance/ │ │60│ │ (4) (3) (3) │ │61│ └─────────────────────────────────────────────────────────────────────┘ │62└─────────────────────────────────────────────────────────────────────────────┘63```6465## Domaines et Agents6667### 1. hooks/ - React Hooks (5 agents)6869Implémentation et patterns de hooks.7071| Agent | Responsabilité | Produit |72|-------|----------------|---------|73| `orchestrator` | Coordination hooks | Routage |74| `state-hooks` | useState, useReducer | Code gestion état local |75| `effect-hooks` | useEffect, useLayoutEffect | Code effets, cleanup |76| `ref-hooks` | useRef, useImperativeHandle | Code refs DOM/valeurs |77| `custom-hooks` | Création de hooks personnalisés | Hooks réutilisables |7879**Mots-clés** : useState, useEffect, useRef, useReducer, useCallback, useMemo, hook, custom hook8081### 2. components/ - Patterns Composants (5 agents)8283Patterns et architecture de composants.8485| Agent | Responsabilité | Produit |86|-------|----------------|---------|87| `orchestrator` | Coordination composants | Routage |88| `functional` | Composants fonctionnels, props, children | Code composants |89| `composition` | Compound, Render Props, HOC | Patterns composition |90| `forms` | Formulaires, validation, controlled/uncontrolled | Code formulaires |91| `error-boundaries` | Gestion d'erreurs, Suspense boundaries | Code error handling |9293**Mots-clés** : composant, component, props, children, compound, render props, HOC, form, formulaire9495### 3. state/ - Gestion d'État (4 agents)9697State management React.9899| Agent | Responsabilité | Produit |100|-------|----------------|---------|101| `orchestrator` | Coordination state | Routage |102| `context` | Context API, providers, consumers | Code Context |103| `zustand` | Stores Zustand, slices, middleware | Code Zustand |104| `redux-toolkit` | Redux Toolkit, slices, thunks | Code RTK |105106**Mots-clés** : state, context, provider, zustand, redux, store, slice, global state107108### 4. data/ - Data Fetching (4 agents)109110Récupération et synchronisation de données.111112| Agent | Responsabilité | Produit |113|-------|----------------|---------|114| `orchestrator` | Coordination data | Routage |115| `react-query` | TanStack Query, queries, mutations | Code React Query |116| `swr` | SWR, revalidation, cache | Code SWR |117| `suspense` | Suspense, lazy, streaming | Code Suspense |118119**Mots-clés** : fetch, query, mutation, react-query, tanstack, swr, suspense, cache, data120121### 5. testing/ - Tests React (4 agents)122123Testing de composants et hooks.124125| Agent | Responsabilité | Produit |126|-------|----------------|---------|127| `orchestrator` | Coordination testing | Routage |128| `rtl` | React Testing Library, queries, events | Code tests composants |129| `hooks-testing` | renderHook, act, async hooks | Code tests hooks |130| `mocking` | Mocks, providers, MSW | Code mocking |131132**Mots-clés** : test, testing, rtl, testing library, render, screen, userEvent, mock, msw133134### 6. styling/ - Styling React (3 agents)135136Solutions de styling pour React.137138| Agent | Responsabilité | Produit |139|-------|----------------|---------|140| `orchestrator` | Coordination styling | Routage |141| `tailwind-react` | Tailwind + React, cn, cva | Code Tailwind |142| `css-in-js` | styled-components, Emotion | Code CSS-in-JS |143144**Mots-clés** : style, css, tailwind, styled-components, emotion, className, cn145146### 7. performance/ - Performance React (3 agents)147148Optimisation de performance.149150| Agent | Responsabilité | Produit |151|-------|----------------|---------|152| `orchestrator` | Coordination perf | Routage |153| `memoization` | memo, useMemo, useCallback | Code memo |154| `code-splitting` | lazy, Suspense, dynamic imports | Code splitting |155156**Mots-clés** : performance, memo, useMemo, useCallback, lazy, code splitting, optimization157158## Règles de Routage159160### Par mots-clés161162```163SI question contient [useState, useReducer, état local]164 → hooks/state-hooks.md165166SI question contient [useEffect, cleanup, effet de bord]167 → hooks/effect-hooks.md168169SI question contient [useRef, ref, DOM element, focus]170 → hooks/ref-hooks.md171172SI question contient [custom hook, créer un hook, extraire]173 → hooks/custom-hooks.md174175SI question contient [composant, props, children, functional]176 → components/functional.md177178SI question contient [compound, render props, HOC, composition]179 → components/composition.md180181SI question contient [formulaire, form, input, validation, controlled]182 → components/forms.md183184SI question contient [Context, Provider, Consumer, useContext]185 → state/context.md186187SI question contient [Zustand, store, create, slice]188 → state/zustand.md189190SI question contient [Redux, RTK, createSlice, thunk]191 → state/redux-toolkit.md192193SI question contient [React Query, useQuery, useMutation, TanStack]194 → data/react-query.md195196SI question contient [SWR, useSWR, revalidate]197 → data/swr.md198199SI question contient [test, Testing Library, render, screen]200 → testing/rtl.md201202SI question contient [renderHook, test hook, act]203 → testing/hooks-testing.md204205SI question contient [memo, useMemo, useCallback, re-render]206 → performance/memoization.md207208SI question contient [lazy, code splitting, dynamic import]209 → performance/code-splitting.md210```211212## Composition avec Autres Skills213214### Flux typique : Nouvelle feature215216```2171. direction-technique/architecture/patterns-design218 → Décide : "Utiliser le pattern Container/Presenter"2192202. web-dev-process/development/coding-standards221 → Définit : "Conventions fichiers, tests obligatoires"2222233. react-expert/components/functional224 → Implémente : Code React avec le pattern225```226227### Flux typique : Tests228229```2301. direction-technique/qualite/metriques-qualite231 → Décide : "Coverage 80%, tests critiques"2322332. web-dev-process/testing/unit-tests234 → Définit : "Pyramide tests, quoi tester"2352363. react-expert/testing/rtl237 → Implémente : Code tests composants2382394. react-expert/testing/hooks-testing240 → Implémente : Code tests hooks241```242243## Points d'Escalade244245### Vers direction-technique246- Architecture globale (monorepo, micro-frontend)247- Choix de state management (Context vs Zustand vs Redux)248- Trade-offs majeurs249250### Vers web-dev-process251- Workflow de PR et code review252- Organisation des tests253- Standards de documentation254255### Vers frontend-developer256- Questions CSS/HTML générales257- Questions JavaScript/TypeScript générales258- Outils de build (Vite, Webpack)259260### Vers nextjs-expert (skill séparé)261- App Router, Server Components262- Server Actions, API Routes263- Middleware, ISR, SSR264265## Skills Associés266267| Skill | Niveau | Relation |268|-------|--------|----------|269| `direction-technique` | POURQUOI | Décisions architecture React |270| `web-dev-process` | QUOI | Process de développement |271| `frontend-developer` | COMMENT | JS/TS/CSS génériques (délègue ici pour React) |272| `design-system-foundations` | COMMENT | Tokens et composants design |273| `nextjs-expert` | COMMENT | Implémentation Next.js (à créer) |274275## Changelog276277### v1.0.0278- Création initiale avec 7 domaines et 28 agents279- Focus sur React 18+ (hooks, Suspense, concurrent features)280- Architecture POURQUOI/QUOI/COMMENT281- Next.js extrait vers skill séparé (à créer)