CtrlK
BlogDocsLog inGet started
Tessl Logo

react-expert

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

1.03x
Quality

100%

Does it follow best practices?

Impact

94%

1.03x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Evaluation results

88%

-6%

Community Wishlist Feature

React 19 form actions and optimistic UI

Criteria
Without context
With context

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%

100%

19%

Employee Directory Performance Overhaul

List virtualization and render performance

Criteria
Without context
With context

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%

100%

Bookmark Manager Application

Zustand and TanStack Query state management

Criteria
Without context
With context

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%

87%

12%

Live Product Search with Debounce

Custom hooks and effect cleanup

Criteria
Without context
With context

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%

98%

Modernize a Legacy React Dashboard

Class component migration to modern React

Criteria
Without context
With context

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%

94%

-5%

Write Integration Tests for a User Profile Feature

React Testing Library and MSW integration tests

Criteria
Without context
With context

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%

Repository
jeffallan/claude-skills
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

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.