skills/react/react-hooks/SKILL.md
Write React hooks with clean effect boundaries and measured memoization. Use when working with `useEffect`, custom hooks, refs, transitions, or hook dependency problems in React.
npx skillsauth add hoangnguyen0403/agent-skills-standard react-hooksInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Effects sync external systems. Everything else should stay in render, event handlers, or custom hooks.
useEffect only for subscriptions, timers, network lifecycle, DOM APIs, or other external systems.useEffectEvent when effect logic needs current props/state without widening dependencies.useRef.useMemo / useCallback only for measured hotspots or memoized child contracts.startTransition / useDeferredValue for non-urgent updates.AbortController when an effect owns request cancellation.useEffect subscriptions return cleanup functions?useEffect to sync state.useState(() => heavy()).testing
Infer the requesting operator's technical fluency from message content (never ask directly) and adapt register — business, hybrid, or technical — across SDLC workflow output. Use when starting sdlc, brainstorm-feature, plan-feature, verify-work, publish-notes, or session-report, or whenever a request's phrasing signals a non-technical or cross-stack operator.
documentation
Define transaction boundaries, locking, and consistency guarantees for multi-step writes. Use when designing atomic operations, retries, idempotency, or concurrent write behavior.
development
Design relational or document schemas from access patterns, cardinality, and lifecycle. Use when modeling entities, choosing embed vs normalize, or shaping schema boundaries before implementation.
data-ai
Diagnose database latency with explain plans, index ownership, and query-shape review. Use when a query is slow, an index is missing, or scans and N+1 patterns appear.