What problem does it solve? Writing reliable tests for Redux reducers, selectors, and redux-saga workflows is error-prone: developers often assert derived state that selectors should own, call readable selectors directly in Vitest, or forget to mock typed-redux-saga effects correctly. This Skill provides an operational checklist and concrete good/bad examples that keep Themis tests correct and reviewable. ## Core Features & Use Cases - Layer-specific test rules: Defines required test styles for reducers (direct calls, no-op reference equality), collections, selectors (pure .select(state) calls), and sagas (expectSaga/testSaga). - Saga test setup guidance: Shows how to mock typed-redux-saga effects with a tuple-aware call guard so [context, method] calls work, and when to use expectSaga versus testSaga. - State-integrity evidence: Enforces canonical ownership of derived values, duplicate-detection search evidence, and handoff documentation for new actions, selectors, and sagas. - Use Case: When adding a new async action and saga to a Themis feature, use this Skill to write reducer tests with no-op identity checks, selector tests through .select(state), and an expectSaga integration test with provided selector effects. ## Quick Start Ask the AI to write Vitest tests for a Themis reducer, selector, or saga following the core/testing conventions, including typed-redux-saga mocks and no-op reference equality checks.