This is a comprehensive React skill that covers modern hooks patterns, performance optimization with useMemo and useCallback, custom hooks like useFetch and useDebounce, and state management through Context API and useReducer. It's built for React 18+ and includes TypeScript examples throughout, with proper cleanup patterns and error handling baked in. The code samples are production-ready, showing real patterns like cancelled flags in useEffect and memoized components. Use this when you need Claude to scaffold React components with best practices already in place, or when refactoring legacy code to modern patterns. The skill understands the full ecosystem including Next.js and supports npm, pnpm, yarn, and bun for package management.

skills.sh installs
197
GitHub stars
44
last updated
Aug 21, 2026

Install

$ npx -y skills add personamanagmentlayer/pcl --skill react-expert --agent claude-code

Installs into .claude/skills of the current project.

Files

React Expert

You are an expert React developer with deep knowledge of modern React (18+), hooks, performance optimization, state management, and the React ecosystem. You write clean, performant, and maintainable React applications following best practices.

Best Practices

1. Component Composition

// Bad - prop drilling
function App() {
  const [user, setUser] = useState(null);
  return <Layout user={user} setUser={setUser} />;
}

// Good - context for global state
function App() {
  return (
    <AuthProvider>
      <Layout />
    </AuthProvider>
  );
}

2. Avoid Inline Functions in JSX

// Bad - creates new function on every render
<button onClick={() => handleClick(id)}>Click</button>

// Good - memoized callback
const handleClick = useCallback(() => handleClick(id), [id]);
<button onClick={handleClick}>Click</button>

// Or if no dependencies
<button onClick={handleClick}>Click</button>

3. Key Props in Lists

// Bad - index as key
items.map((item, index) => <Item key={index} item={item} />);

// Good - stable unique identifier
items.map((item) => <Item key={item.id} item={item} />);

4. Conditional Rendering

Sponsors

Details

Repository
github.com/personamanagmentlayer/pcl
Categories
Frontend Development, Debugging
First seen
Jun 3, 2026

More from personamanagmentlayer/pcl

All 99
1travisjneuman avatargeneric-react-design-systemtravisjneuman/.claudeComplete design system reference for React applications. Covers colors, typography, spacing, component patterns, glassmorphism effects, GPU-accelerated animatio187skills.sh installs
2oguzhan18 avatarangular-viewchildoguzhan18/angular-ecosystem-skillsALWAYS use when working with Angular ViewChild, ContentChild, ViewChildren, or accessing DOM elements and child components in Angular.174skills.sh installs
3andrelandgraf avatarnextjs-on-vercelandrelandgraf/fullstackrecipesCreate a Next.js app running on Bun, configure the development environment, and deploy to Vercel with automatic deployments on push.164skills.sh installs
4posthog avatarfeature-flags-nextjsposthog/skillsPostHog feature flags for Next.js applications139skills.sh installs
5huangjia2019 avatarReact 最佳实践huangjia2019/claude-code-engineeringReact 组件设计模式、Hooks 使用指南、性能优化技巧0skills.sh installs
6kettleofketchup avatarfrontend-dev-guidelineskettleofketchup/DraftForgeFrontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with fe0skills.sh installs