Use when building React 18+ applications in .jsx or .tsx files, Next.js App Router projects, or create-react-app setups. Creates components, implements custom hooks, debugs rendering issues, migrates class components to functional, and implements state management. Invoke for Server Components, Suspense boundaries, useActionState forms, performance optimization, or React 19 features.
97
100%
Does it follow best practices?
Impact
94%
1.03xAverage score across 6 eval scenarios
Passed
No known issues
React 19 form actions and optimistic UI
useActionState usage
83%
100%
useFormStatus in child
100%
0%
useOptimistic update
100%
100%
'use client' directive
100%
100%
'use server' directive
100%
100%
form action prop
100%
100%
TypeScript types
100%
100%
Error state handling
100%
100%
Pending state disabled
100%
100%
Suspense boundary
33%
100%
No inline JSX functions
100%
100%
Semantic HTML
100%
100%
List virtualization and render performance
Virtualization library
35%
100%
React.memo on list item
100%
100%
Stable keys
100%
100%
No inline JSX functions
100%
100%
useCallback for handlers
100%
100%
useTransition for filter
0%
100%
lazy + Suspense splitting
100%
100%
useMemo for derived data
100%
100%
TypeScript types
100%
100%
Lifted static objects
100%
100%
Cleanup in effects
100%
100%
Zustand and TanStack Query state management
Zustand store created
100%
100%
Zustand persist middleware
100%
100%
Zustand typed store
100%
100%
useQuery for data fetching
100%
100%
staleTime configured
100%
100%
useMutation for writes
100%
100%
invalidateQueries after mutation
100%
100%
QueryClientProvider
100%
100%
Loading/error states
100%
100%
TypeScript throughout
100%
100%
Functional state updates
100%
100%
No direct state mutation
100%
100%
Custom hooks and effect cleanup
AbortController in fetch hook
100%
100%
Cancelled flag in async effect
0%
33%
useDebounce cleanup
100%
100%
useLocalStorage SSR guard
0%
100%
TypeScript generics
100%
100%
Effect dependency arrays
100%
100%
No unnecessary memoization
100%
100%
Loading and error states
100%
100%
TypeScript strict types
100%
100%
tsc typecheck log
100%
100%
No inline JSX functions
0%
0%
Class component migration to modern React
ErrorBoundary stays class
100%
100%
HOC replaced by custom hook
100%
100%
Render prop replaced by custom hook
100%
100%
componentDidMount to useEffect []
75%
75%
componentDidUpdate to useEffect [dep]
100%
100%
componentWillUnmount to cleanup
100%
100%
Separate useState slices
100%
100%
Functional state update
100%
100%
Effect cancellation
100%
100%
TypeScript types preserved
100%
100%
No forwardRef used
100%
100%
Migration notes present
100%
100%
React Testing Library and MSW integration tests
MSW server setup
100%
66%
MSW handler imports
100%
100%
userEvent.setup() usage
100%
100%
getByRole as first choice
100%
100%
renderHook for hook tests
100%
100%
findByX for async content
100%
100%
renderWithProviders wrapper
87%
75%
Error state test
100%
100%
Loading state test
100%
100%
TypeScript test types
100%
100%
queryByX for absence assertion
100%
100%
5b76101
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.