Agent skill

React Expert

by Jeffallan in Jeffallan/claude-skills

Builds React 19 components in TypeScript with Server Components, useActionState forms, custom hooks and state libraries, checked with tsc and React Testing Library.

MITAuto-check passedFrontend & Design

Install React Expert

skills CLI
$ npx skills add Jeffallan/claude-skills --skill react-expert -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Jeffallan/claude-skills react-expert --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Jeffallan/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/react-expert .claude/skills/react-expert && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
react-expert
GitHub stars
12k
Token cost
~1.4k tokens
SKILL.md length
365 words
Files
8 (incl. references)
Skills in repo
58
Repo updated
First seen
Licence
MIT

At a glance

Builds React 19 components in TypeScript with Server Components, useActionState forms, custom hooks and state libraries, checked with tsc and React Testing Library.

  • Works in 6 steps: Analyze requirements - Identify… → Choose patterns - Select appropriate… → Implement - Write TypeScript components… → …
  • Building new React components with TypeScript
  • SKILL.md covers When to Use This Skill, Core Workflow, Reference Guide and Key Patterns, plus 3 more sections
  • Calls tsc

What it does

The agent maps the component hierarchy, state needs and data flow, picks a state management and data fetching approach, then writes TypeScript components. Validation runs tsc --noEmit until it is clean, optimization applies memoization and accessibility fixes, and tests use React Testing Library, with a loop back whenever type errors or failing assertions appear.

Patterns include a Server Component for the Next.js App Router, a form built on React 19's useActionState and a custom hook with cleanup. Reference files cover Server Components, React 19 features such as the use() hook, state with Context, Zustand, Redux and TanStack Query, hooks, performance with memo, lazy and virtualization, testing, and migrating class components. Rules include strict-mode TypeScript, error boundaries and stable keys.

When your agent uses it

  • Building new React components with TypeScript
  • Choosing between Context, Zustand, Redux and TanStack Query for state
  • Converting class components to hooks
  • Writing forms with React 19 actions and useActionState
  • Fixing re-render performance with memoization and lazy loading

Example prompts

  • “Build a sortable data table component in TypeScript and test it with React Testing Library.”
  • “Convert the legacy UserProfile class component to a function component with hooks.”
  • “Move the search state out of prop drilling and into a small Zustand store.”
  • “Rewrite the signup form to use useActionState and show server errors inline.”

Requirements

  • TypeScript (`tsc`) and React Testing Library

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Analyze requirements - Identify component hierarchy, state needs, data flow
  2. Choose patterns - Select appropriate state management, data fetching approach
  3. Implement - Write TypeScript components with proper types
  4. Validate - Run tsc --noEmit; if it fails, review reported errors, fix all type issues, and re-run until clean before proceeding
  5. Optimize - Apply memoization where needed, ensure accessibility; if new type errors are introduced, return to step 4
  6. Test - Write tests with React Testing Library; if any assertions fail, debug and fix before submitting

What it can do on your machine

Read from SKILL.md and the folder at commit 1be15d8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • tsc

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com
    • synergetic.solutions
    • jeffallan.github.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

React Expert loads about 1.4k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 100 tokens; SKILL.md has 365 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Jeffallan/claude-skills at commit 1be15d8, republished under its MIT licence (© Jeffallan). 365 words, ~1,358 tokens.

Download SKILL.mdSave it as .claude/skills/react-expert/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
react-expert
description
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.
license
MIT
metadata.author
https://github.com/Jeffallan
metadata.company
https://synergetic.solutions
metadata.version
1.1.0
metadata.domain
frontend
metadata.triggers
React, JSX, hooks, useState, useEffect, useContext, Server Components, React 19, Suspense, TanStack Query, Redux, Zustand, component, frontend
metadata.role
specialist
metadata.scope
implementation
metadata.output-format
code
metadata.related-skills
fullstack-guardian, playwright-expert, test-master

React Expert

Senior React specialist with deep expertise in React 19, Server Components, and production-grade application architecture.

When to Use This Skill

  • Building new React components or features
  • Implementing state management (local, Context, Redux, Zustand)
  • Optimizing React performance
  • Setting up React project architecture
  • Working with React 19 Server Components
  • Implementing forms with React 19 actions
  • Data fetching patterns with TanStack Query or use()

Core Workflow

  1. Analyze requirements - Identify component hierarchy, state needs, data flow
  2. Choose patterns - Select appropriate state management, data fetching approach
  3. Implement - Write TypeScript components with proper types
  4. Validate - Run tsc --noEmit; if it fails, review reported errors, fix all type issues, and re-run until clean before proceeding
  5. Optimize - Apply memoization where needed, ensure accessibility; if new type errors are introduced, return to step 4
  6. Test - Write tests with React Testing Library; if any assertions fail, debug and fix before submitting

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Server Componentsreferences/server-components.mdRSC patterns, Next.js App Router
React 19references/react-19-features.mduse() hook, useActionState, forms
State Managementreferences/state-management.mdContext, Zustand, Redux, TanStack
Hooksreferences/hooks-patterns.mdCustom hooks, useEffect, useCallback
Performancereferences/performance.mdmemo, lazy, virtualization
Testingreferences/testing-react.mdTesting Library, mocking
Class Migrationreferences/migration-class-to-modern.mdConverting class components to hooks/RSC

Key Patterns

Server Component (Next.js App Router)
tsx
// app/users/page.tsx — Server Component, no "use client"
import { db } from '@/lib/db';

interface User {
  id: string;
  name: string;
}

export default async function UsersPage() {
  const users: User[] = await db.user.findMany();

  return (
    <ul>
      {users.map((user) => (
        <li key={user.id}>{user.name}</li>
      ))}
    </ul>
  );
}
React 19 Form with useActionState
tsx
'use client';
import { useActionState } from 'react';

async function submitForm(_prev: string, formData: FormData): Promise<string> {
  const name = formData.get('name') as string;
  // perform server action or fetch
  return `Hello, ${name}!`;
}

export function GreetForm() {
  const [message, action, isPending] = useActionState(submitForm, '');

  return (
    <form action={action}>
      <input name="name" required />
      <button type="submit" disabled={isPending}>
        {isPending ? 'Submitting…' : 'Submit'}
      </button>
      {message && <p>{message}</p>}
    </form>
  );
}
Show full SKILL.md (146 more words)Show less
Custom Hook with Cleanup
tsx
import { useState, useEffect } from 'react';

function useWindowWidth(): number {
  const [width, setWidth] = useState(() => window.innerWidth);

  useEffect(() => {
    const handler = () => setWidth(window.innerWidth);
    window.addEventListener('resize', handler);
    return () => window.removeEventListener('resize', handler); // cleanup
  }, []);

  return width;
}

Constraints

MUST DO
  • Use TypeScript with strict mode
  • Implement error boundaries for graceful failures
  • Use key props correctly (stable, unique identifiers)
  • Clean up effects (return cleanup function)
  • Use semantic HTML and ARIA for accessibility
  • Memoize when passing callbacks/objects to memoized children
  • Use Suspense boundaries for async operations
MUST NOT DO
  • Mutate state directly
  • Use array index as key for dynamic lists
  • Create functions inside JSX (causes re-renders)
  • Forget useEffect cleanup (memory leaks)
  • Ignore React strict mode warnings
  • Skip error boundaries in production

Output Templates

When implementing React features, provide:

  1. Component file with TypeScript types
  2. Test file if non-trivial logic
  3. Brief explanation of key decisions

Knowledge Reference

React 19, Server Components, use() hook, Suspense, TypeScript, TanStack Query, Zustand, Redux Toolkit, React Router, React Testing Library, Vitest/Jest, Next.js App Router, accessibility (WCAG)

Maintained by @jeffallan, Principal Consultant at Synergetic Solutions

Documentation

© Jeffallan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (references) in skills/react-expert of Jeffallan/claude-skills.

  • SKILL.md
  • references/hooks-patterns.md
  • references/migration-class-to-modern.md
  • references/performance.md
  • references/react-19-features.md
  • references/server-components.md
  • references/state-management.md
  • references/testing-react.md

Open the folder on GitHubat commit 1be15d8

Compare with similar skills

React Expert next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

React Expert compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
React Expert this skillJeffallan/claude-skills12k—~1.4kAutomated safety check: PassMIT
React Frontend Development Guidelinesdiet103/claude-code-infrastructure-showcase10k2 repos~2.9kAutomated safety check: PassMIT
Senior Frontendalirezarezvani/claude-skills28k5 repos~3.9kAutomated safety check: PassMIT
React Idiomsirahardianto/awesome-agv157—~3.8kAutomated safety check: PassMIT
Moai Ref React Patternsmodu-ai/moai-adk1.2k—~1.8kAutomated safety check: PassApache-2.0
Zustand State Managementsecondsky/claude-skills227—~2.5kAutomated safety check: PassMIT

Similar skills

  • React Frontend Development Guidelines

    diet103/claude-code-infrastructure-showcase

    Guidelines for React 18 and TypeScript apps covering Suspense data fetching, lazy loading, feature folders, MUI v7 styling, TanStack Router and performance.

    10k GitHub starsUsed in 2 repos~2.9k tokens
    Frontend & DesignAuto-check passed
  • Senior Frontend

    alirezarezvani/claude-skills

    Frontend development skill for React, Next.js, TypeScript, and Tailwind CSS applications.

    28k GitHub starsUsed in 5 repos~3.9k tokens
    Frontend & DesignAuto-check passed
  • React Idioms

    irahardianto/awesome-agv

    React 19+ patterns: custom hooks, Suspense boundaries, state management, component composition, and web performance.

    157 GitHub stars~3.8k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Moai Ref React Patterns

    modu-ai/moai-adk

    React/Next.js component design patterns, state management strategies, and project structure reference for frontend development.

    1.2k GitHub stars~1.8k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Zustand State Management

    secondsky/claude-skills

    Zustand state management for React with TypeScript. An agent skill from secondsky/claude-skills.

    227 GitHub stars~2.5k tokensUpdated 9 days ago
    Frontend & DesignAuto-check passed
  • Senior Frontend

    borghei/Claude-Skills

    Frontend development for React, Next.js, TypeScript, and Tailwind CSS.

    874 GitHub stars~1.7k tokensUpdated today
    Frontend & DesignAuto-check passed

More from Jeffallan/claude-skills

All 58 skills in this repo
  • API Designer

    Jeffallan/claude-skills

    Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.

    12k GitHub starsUsed in 2 repos~2k tokens
    Auto-check passed
  • CLI Developer

    Jeffallan/claude-skills

    Walks through designing, building and polishing a command-line tool: user workflow and command hierarchy, implementation in commander, click, typer or cobra, completions and cross-platform testing.

    12k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Fine-Tuning Expert

    Jeffallan/claude-skills

    Guides LLM fine-tuning with LoRA and QLoRA through Hugging Face PEFT, from dataset validation and training checks to adapter merging, quantization and deployment.

    12k GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • GraphQL Architect

    Jeffallan/claude-skills

    Designs GraphQL schemas and Apollo Federation graphs, with DataLoader resolvers, subscriptions, query complexity limits and caching.

    12k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Kubernetes Specialist

    Jeffallan/claude-skills

    Creates and checks Kubernetes manifests, Helm charts, RBAC and network policies, and helps debug pod problems, with kubectl checks and rollback steps.

    12k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Laravel Specialist

    Jeffallan/claude-skills

    Builds Laravel 10+ applications with Eloquent models, Sanctum authentication, Horizon queues, API resources and Livewire components, tested with Pest or PHPUnit.

    12k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed

Questions about React Expert

What does React Expert do?

Builds React 19 components in TypeScript with Server Components, useActionState forms, custom hooks and state libraries, checked with tsc and React Testing Library. The agent maps the component hierarchy, state needs and data flow, picks a state management and data fetching approach, then writes TypeScript components. Validation runs tsc --noEmit until it is clean, optimization applies memoization and accessibility fixes, and tests use React Testing Library, with a loop back whenever type errors or failing assertions appear.

When should I use React Expert?

React Expert fits situations like: building new React components with TypeScript; choosing between Context, Zustand, Redux and TanStack Query for state; converting class components to hooks; writing forms with React 19 actions and useActionState.

How do I install React Expert in Claude Code?

Run `npx skills add Jeffallan/claude-skills --skill react-expert -a claude-code`. Or copy the skill folder (skills/react-expert in Jeffallan/claude-skills) into .claude/skills/react-expert in your project. Claude Code loads it when a task matches its description.

How do I install React Expert in Codex?

Run `npx skills add Jeffallan/claude-skills --skill react-expert -a codex`. Or copy the skill folder (skills/react-expert in Jeffallan/claude-skills) into .agents/skills/react-expert in your project. Codex loads it when a task matches its description.

Can I use React Expert in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Jeffallan/claude-skills --skill react-expert -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/react-expert, .gemini/skills/react-expert, .github/skills/react-expert and .opencode/skills/react-expert in your project.

What does React Expert need to run?

Going by SKILL.md and its folder, React Expert needs the command-line tools its instructions call (tsc). Our summary lists: TypeScript (`tsc`) and React Testing Library.

Does React Expert access the network?

SKILL.md names 3 domains. As links in the text: github.com, synergetic.solutions and jeffallan.github.io. This is read from the text; nothing was executed.

Is React Expert safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does React Expert use?

React Expert is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does React Expert use?

About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.

What are the alternatives to React Expert?

Skills that share tags, products or a category with React Expert: React Frontend Development Guidelines (diet103/claude-code-infrastructure-showcase, 10k stars), Senior Frontend (alirezarezvani/claude-skills, 28k stars), React Idioms (irahardianto/awesome-agv, 157 stars) and Moai Ref React Patterns (modu-ai/moai-adk, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains React Expert?

Jeffallan (a GitHub user) maintains it in Jeffallan/claude-skills, which has 11,754 GitHub stars. The repository holds 58 skills in this directory. The repository was last updated on October 3, 2026.

Source: Jeffallan/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.