What problem does it solve? Sagas often need to react to changes in derived Redux state rather than action dispatches, and hand-rolled channel loops are error-prone. This Skill guides the correct choice and safe usage of selector-channel helpers like takeLatestFromSelector, takeEveryFromSelector, takeLeadingFromSelector, and createChannelFromSelector. ## Core Features & Use Cases - Helper Selection: Choose between takeLatest, takeEvery, and takeLeading selector variants based on cancellation semantics, reserving createChannelFromSelector for custom race, timeout, or conditional flows. - Argument and Payload Rules: Pass stable scalar selector args as tuples, import selectors from [slice]-selectors.ts, and handle payload/prevPayload transitions safely. - Use Case: When a todo ID changes in the store, use takeLatestFromSelector(selectTodoById, [todoId], worker) to cancel stale sync work and process only the latest selector emission. ## Quick Start Ask the AI to write a saga that watches a selector with takeLatestFromSelector and dispatches a load action whenever the selected value changes.