react

Enforce React component best practices with destructured props, inline TypeScript types, and Tailwind v4 syntax.

Updated Sep 16, 2025
One-click install
npx skills add https://github.com/mukles/platejs-markdown-converter --skill react-mukles
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: react
Source: https://github.com/mukles/platejs-markdown-converter/tree/main/.agents/skills/react
Command: npx skills add https://github.com/mukles/platejs-markdown-converter --skill react-mukles

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The React skill provides a disciplined approach to writing clean, efficient React components by enforcing destructured props, inline TypeScript types, and modern Tailwind v4 styling patterns, while relying on the React Compiler for performance optimizations.

Core Features & Use Cases

  • Destructured props in function parameters and inline TypeScript types, avoiding separate interface definitions.
  • Tailwind v4 syntax and component library usage to enforce consistent theming and styling.
  • Seamless effect handling with useEffectEvent to separate event logic from effects and ensure up-to-date closures.
  • Use cases include refactoring components for readability, maintainability, and performance in large React apps.

Quick Start

Refactor a small React component to use destructured props with inline types and Tailwind v4 styling, then apply the React Compiler guidance to remove unnecessary memoization.

Frequently Asked Questions about react

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does React Compiler handle memoization and do I still need useMemo manually?

React Compiler automatically optimizes renders by memoizing components, eliminating the need for manual memoization. You can remove unnecessary useMemo and useCallback hooks and avoid ESLint disables, relying on the compiler for performance.

How do I write React components with destructured props and inline TypeScript types?

Write React components by destructuring props directly in function parameters and using inline TypeScript types. This approach avoids separate interface definitions, enforcing cleaner and more maintainable component structures.

What is useEffectEvent and when should I use it to separate event logic?

useEffectEvent separates event logic from effects to ensure up-to-date closures. Use it for seamless effect handling in React components, preventing stale closure issues without requiring manual memoization or complex dependency arrays.

Can I use Tailwind v4 syntax and component libraries with this React component pattern?

Yes, Tailwind v4 syntax and component library usage are enforced to maintain consistent theming and styling. This integration works seamlessly with destructured props and React Compiler optimizations.

What are the limitations of relying on React Compiler instead of manual memoization?

Relying on React Compiler requires strict adherence to specific patterns like destructured props and inline types. Limitations include avoiding ESLint disables and ensuring your codebase fully supports React Compiler for optimal render optimizations.

Why does React Compiler require destructured props in function parameters?

React Compiler requires destructured props in function parameters to accurately track dependencies and optimize renders. This pattern ensures the compiler can automatically memoize components without manual intervention or separate interface definitions.