event-not-state-edge-for-one-shot-effects
Installation
SKILL.md
One-shot effects are events, not state edges
A celebration burst, a haptic tick, a "saved!" toast — anything that must happen once, because a human did something. The instinct is to watch the flag the action flips. That instinct is the bug.
// adapted — the holder owns every live effect and is the only thing that can start one
@Stable
class BurstState internal constructor(private val scope: CoroutineScope) {
internal val bursts = mutableStateListOf<Burst>()