useeffect-cleanup
Installation
SKILL.md
useEffect Cleanup Auditor
Phase 1 — Identify What Needs Cleanup
Not every effect needs cleanup. Scan for these and flag every one missing a return:
| Setup call | Required cleanup |
|---|---|
addEventListener |
removeEventListener — exact same fn reference |
setTimeout |
clearTimeout |
setInterval |
clearInterval |
fetch / axios / any HTTP |
AbortController.abort() |
new WebSocket |
ws.close() |
new IntersectionObserver |
observer.disconnect() |
new ResizeObserver |
observer.disconnect() |
new MutationObserver |
observer.disconnect() |
eventEmitter.on / .subscribe |
.off() / .unsubscribe() |
setInterval inside a recursive setTimeout |
clear the current timeout id, not a stale one |