What problem does it solve? Redux codebases often accumulate duplicated entity storage, reducer-maintained derived values, and multiple owners for the same action types, selectors, or saga watchers, causing race conditions and inconsistent state. This Skill provides hard MUST/NEVER rules, a preflight search protocol, and an automated architecture gate to keep every domain fact in exactly one canonical place. ## Core Features & Use Cases - Canonical state modeling: Enforces Collection<T, K> entity storage with id references instead of duplicated entity objects across slices. - Derived data in selectors: Requires counts, filters, sorted lists, and selected entities to be computed in selectors rather than stored in reducers. - Ownership deduplication: Guarantees one canonical owner per action type, selector, saga watcher, and saga registration, verified with grep/rg search protocols. - Architecture gate workflow: Integrates npm run validate:architecture (or ESLint with the composed domain config) as a pre-handoff enforcement step with documented ignore-comment exceptions. - Use Case: Before adding a selectedTodo field to a todos slice, run the preflight searches, discover the canonical selector pattern, store only selectedTodoId, derive the object in a selector, and attach gate output to the handoff. ## Quick Start Ask the AI to review your Redux slice changes for duplicate state, actions, selectors, and sagas using the state integrity rules before handoff.