Individual skill
react
React 19/19.2 modern patterns for concurrent rendering, Server Components, actions, ref-as-prop, document metadata, resource hints, hooks, and memoization — plus a category-major review/refactor algorithm with codebase-level (remove/dedup/reuse) findings. This skill should be used when writing React 19 components, using concurrent features, migrating from React 18, optimizing re-renders, OR auditing/refactoring a React codebase (single file or whole repo). This skill does NOT cover Next.js-specific features like App Router, next.config.js, or Next.js caching (use nextjs-16-app-router skill). For client-side form validation with React Hook Form, use react-hook-form skill.
skills/.curated/react/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 223
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: codex
- engineering Derived category
- writing Derived category
- engineering-web Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
AGENTS.mddoc · 10,737 bytesSKILL.mdcore · 16,679 bytesassets/templates/_template.mddoc · 557 bytesmetadata.jsonasset · 1,671 bytesreferences/_review-algorithm.mddoc · 12,260 bytesreferences/_sections.mddoc · 2,614 bytesreferences/conc-activity-component.mddoc · 3,220 bytesreferences/conc-automatic-batching.mddoc · 2,702 bytesreferences/conc-concurrent-safe.mddoc · 3,159 bytesreferences/conc-suspense-fallback.mddoc · 2,642 bytesreferences/conc-use-deferred-value.mddoc · 3,925 bytesreferences/conc-use-transition.mddoc · 3,009 bytesreferences/cross-boundary-coherence.mddoc · 6,464 bytesreferences/cross-component-consolidation.mddoc · 4,888 bytesreferences/cross-dead-code.mddoc · 4,732 bytesreferences/cross-extract-shared-logic.mddoc · 4,936 bytesreferences/cross-prop-shape-drift.mddoc · 5,184 bytesreferences/data-cache-deduplication.mddoc · 3,655 bytesreferences/data-document-metadata.mddoc · 4,044 bytesreferences/data-error-boundaries.mddoc · 3,129 bytesreferences/data-parallel-fetching.mddoc · 3,102 bytesreferences/data-resource-hints.mddoc · 4,708 bytesreferences/data-suspense-data-fetching.mddoc · 2,948 bytesreferences/data-use-hook.mddoc · 6,130 bytesreferences/effect-avoid-unnecessary.mddoc · 6,834 bytesreferences/effect-cleanup.mddoc · 3,643 bytesreferences/effect-object-dependencies.mddoc · 3,064 bytesreferences/effect-use-effect-event.mddoc · 3,661 bytesreferences/effect-use-sync-external-store.mddoc · 3,495 bytesreferences/form-actions.mddoc · 3,106 bytesreferences/form-use-action-state.mddoc · 5,740 bytesreferences/form-use-form-status.mddoc · 3,094 bytesreferences/form-use-optimistic.mddoc · 3,203 bytesreferences/form-validation.mddoc · 3,506 bytesreferences/memo-avoid-premature.mddoc · 3,166 bytesreferences/memo-compiler.mddoc · 4,008 bytesreferences/memo-react-memo.mddoc · 3,614 bytesreferences/memo-use-callback.mddoc · 5,862 bytesreferences/memo-use-memo.mddoc · 3,152 bytesreferences/rcomp-composition.mddoc · 3,367 bytesreferences/rcomp-controlled-components.mddoc · 3,679 bytesreferences/rcomp-key-reset.mddoc · 3,665 bytesreferences/rcomp-ref-as-prop.mddoc · 7,525 bytesreferences/rcomp-render-props.mddoc · 4,371 bytesreferences/rsc-avoid-client-only-libs.mddoc · 3,704 bytesreferences/rsc-composition-pattern.mddoc · 3,233 bytesreferences/rsc-data-fetching-server.mddoc · 3,108 bytesreferences/rsc-serializable-props.mddoc · 4,550 bytesreferences/rsc-server-client-boundary.mddoc · 3,203 bytesreferences/rsc-streaming.mddoc · 2,724 bytesreferences/rstate-context-optimization.mddoc · 6,062 bytesreferences/rstate-derived-values.mddoc · 5,747 bytesreferences/rstate-functional-updates.mddoc · 2,931 bytesreferences/rstate-lazy-initialization.mddoc · 2,881 bytesreferences/rstate-use-reducer.mddoc · 3,274 bytes
Read excerpt
# React 19 Best Practices
Comprehensive React 19/19.2 best-practices guide for AI agents. Contains **49 rules across 9 categories**, prioritized by impact from critical (concurrent rendering, server components) through to cross-cutting codebase hygiene (dedup, dead code, boundary coherence). Reflects React 19 headline changes: `ref` as a regular prop (forwardRef deprecated), native document metadata, resource preload APIs, `useActionState`, `useOptimistic`, `use()` hook, and `<Context>` as provider.
Rule files describe **pattern shapes** (not API names) and open with a **"Shapes to recognize"** section listing 2–4 syntactic disguises the same break can wear. **Selected high-value rules** (those whose disguises are most common in real codebases — form actions, ref-as-prop, derived state, context, the `use()` hook, `useCallback`/`memo` pairing) include an extra concrete **"In disguise"** incorrect/correct example pair to teach pattern detection beyond the grep-friendly cases.
## When to Apply
- Writing new React components or refactoring existing ones
- **Auditing or modernizing a directory, PR, or whole repository** (see [`references/_review-algorithm.md`](references/_review-algorithm.md) for the required procedure)
- Migrating from React 18 to React 19 (forwardRef → ref-as-prop, `<Context.Provider>` → `<Context>`, `useFormState` → `useActionState`)
- Optimizing re-render performance or bundle size
- Using concurrent features (useTransition, useDeferredValue, Activity)
- Setting up Server Components or server/client boundaries