What problem does it solve? Writing Redux-style reducers that stay pure, immutable, and deterministic is error-prone: accidental mutations, side effects like Date.now(), and unconditional object copies break reference-equality checks and time-travel debugging. This Skill provides operational rules and tested patterns for building reducers with the Themis createReducer builder. ## Core Features & Use Cases - Reducer construction guidance: Register action handlers via .with(actionCreator, handler) chains, including async request/success/failure branches from createAsyncAction. - Immutability and no-op rules: Return the incoming state reference on no-ops, preserve collection reference equality, and keep derived values in selectors instead of state. - Anti-pattern detection: Concrete bad examples covering mutation, nondeterministic values, and unconditional nested copies that lose no-op identity. - Use Case: When adding a new slice reducer for a todos feature, follow the patterns to chain handlers, guard parent state updates with reference checks, and wire reducer tests covering initial state, each action, and unknown-action identity. ## Quick Start Ask the AI to create a Themis slice reducer with createReducer that handles an async load action with success and failure branches while preserving no-op reference equality.