react
SKILL.md
React Best Practices
Production-grade React development with feature-based architecture, type-safe state management, and performance optimization.
Core Principles
- Easy to get started with - Clear patterns that new team members can follow
- Simple to understand and maintain - Readable code with obvious intent
- Clean boundaries - Clear separation between features and layers
- Early issue detection - Catch problems at build time, not runtime
- Consistency - Same patterns throughout the codebase
Quick Reference
| Topic | Guide |
|---|---|
| Directory layout and feature modules | project-structure.md |
| Component design patterns | component-patterns.md |
| Compound components (Card pattern) | compound-components.md |
| State categories and solutions | state-management.md |
| API client and request structure | api-layer.md |
| Code splitting and optimization | performance.md |
| useEffect guidance and alternatives | useeffect.md |
| Testing pyramid and strategy | testing-strategy.md |
| Project tooling standards | project-standards.md |
When to Use Each Guide
Project Structure
Use project-structure.md when you need:
- Directory organization (app, features, components)
- Feature module structure
- Import architecture (unidirectional flow)
- ESLint boundary enforcement
- File naming conventions
Component Patterns
Use component-patterns.md when you need:
- Colocation principles
- Composition over props patterns
- Wrapping third-party components
- Avoiding nested render functions
Compound Components
Use compound-components.md when you need:
- Multi-part components (Card, Accordion, etc.)
- Flexible composition patterns
- Semantic component structure
State Management
Use state-management.md when you need:
- State category decisions (component, application, server cache)
- useState vs useReducer guidance
- Server cache with React Query
- State placement guidelines
API Layer
Use api-layer.md when you need:
- API client configuration
- Request structure (schema, fetcher, hook)
- Error handling (interceptors, boundaries)
- Security patterns (auth, sanitization, authorization)
Performance
Use performance.md when you need:
- Code splitting strategies
- State optimization
- Children optimization patterns
- Styling performance
- Image optimization
useEffect
Use useeffect.md when you need:
- When NOT to use useEffect (most cases)
- When useEffect IS appropriate (external systems)
- Dependency array rules
- Alternatives to useEffect
Testing Strategy
Use testing-strategy.md when you need:
- Testing pyramid (prioritize integration over unit)
- What to test at each level (unit, integration, E2E)
- Testing Library principles (query by accessible names)
Project Standards
Use project-standards.md when you need:
- Required tooling (ESLint, Prettier, TypeScript, Husky)
- Pre-commit hook configuration
Quick Reference: Decision Trees
Where should this component live?
Is it used by multiple features?
├── Yes → src/components/
└── No → Is it specific to one feature?
├── Yes → src/features/[feature]/components/
└── No → Colocate with the component that uses it
What state solution should I use?
Is this data from an API?
├── Yes → React Query / SWR
└── No → Is it form data?
├── Yes → React Hook Form
└── No → Is it URL state (filters, pagination)?
├── Yes → React Router
└── No → Is it needed globally?
├── Yes → Zustand / Jotai / Context
└── No → useState / useReducer
Should I create a new feature folder?
Does this functionality have:
- Its own routes/pages?
- Its own API endpoints?
- Components not shared elsewhere?
├── Yes to 2+ → Create feature folder
└── Otherwise → Add to existing feature or shared
Do I need useEffect?
Why does this code need to run?
"Because the component was displayed"
├── Is it synchronizing with an external system?
│ ├── Yes → useEffect is appropriate
│ └── No → Probably don't need useEffect
│
"Because the user did something"
└── Put it in the event handler, not useEffect
"Because I need to compute a value"
└── Calculate during render (or useMemo if expensive)
See useeffect.md for detailed guidance.
Weekly Installs
6
Repository
mintuz/claude-pluginsGitHub Stars
14
First Seen
Jan 24, 2026
Security Audits
Installed on
claude-code5
trae4
gemini-cli4
antigravity4
windsurf4
codex4