no-use-effect
Installation
SKILL.md
No useEffect
Treat raw useEffect as a last resort, not a default tool. Most component logic belongs in
render, event handlers, framework data APIs, or narrower React primitives.
This skill is based primarily on the React docs (You Might Not Need an Effect,
Synchronizing with Effects, Removing Effect Dependencies), with supporting guidance from
Dan Abramov, Kent C. Dodds, TkDodo, and team practices that ban or heavily restrict raw
useEffect.
Core Rule
Before adding an Effect, answer this question:
"What external system am I synchronizing with, and why can't this be done during render, in an event handler, or with a more specific primitive?"
If you cannot name the external system, do not write the Effect.