core
Route shared Redux state, actions, reducers, collections, sagas, channels, logging, serialization, testing, debugging, review, and explicit store pruning. Pair Core with one Store family per app for f
SKILL.mdskills/core/SKILL.md
GitHubCore Redux and saga routing
Use this skill for framework-independent Redux/redux-saga work in the
themis package. It routes to the core skills that are not owned
by Store-family-specific taxonomy waves.
Routing ownership
This index owns core routing, not leaf operational contracts. Match specialized
requests to the relative SKILL.md paths in Core leaf routes below; each
leaf owns its implementation rules. Loading this index through a leaf's
requires: core provides preflight context, not a competing implementation owner.
This package uses a CUSTOM Redux setup — not Redux Toolkit (RTK). Do not use
createSlice,configureStore,createAsyncThunk, or any RTK API.
Preflight
- Read this skill plus every linked core leaf that applies to touched files.
- Cite the applicable skills and docs in implementation plans and handoffs.
- Include verifier-ready evidence: owner searches, focused tests, validation
scripts, or
git diff --checkdepending on the change. - Stop and ask if a request crosses into Store-family-specific selector, component, lifecycle, or observable behavior.
- Pair core with at most one concrete Store family for a given app/code path; core is shared Redux/redux-saga guidance and is not permission to integrate multiple concrete Store family patterns in one app.
Core routing workflow
- Start with
./core-policy/SKILL.mdfor shared-state or architecture decisions. - Add
./state-integrity/SKILL.mdbefore adding/changing Redux state, actions, selectors, watchers, or saga registration. - If and only if the user explicitly asks to prune unused Redux store surface
area, add
./store-pruning/SKILL.mdbefore deleting selectors, actions, reducers, sagas, exports, tests, or orphaned helpers. - Add domain leaves that match the behavior being changed.
- Add
./testing/SKILL.mdfor reducer, saga, or verification changes. - Add
./verifier/SKILL.mdbefore handoff for reliability-sensitive reviews.
Core leaf routes
| Route | Use when |
|---|---|
./core-policy/SKILL.md |
Redux ownership, side-effect boundaries, serializability, and utility reuse rules. |
./state-integrity/SKILL.md — Preflight search protocol |
Preventing derived/duplicated Redux state and duplicate action/selector/saga ownership. |
./store-pruning/SKILL.md — Agent preflight |
Explicit-only pruning of unused Redux selectors, actions, handlers, sagas, and orphaned store logic when the user asks for pruning. |
./import-boundaries/SKILL.md |
Public package imports, saga import boundaries, and Store-first public subpackages. |
./file-structure/SKILL.md |
Slice file layout, type modules, sagas, and Store registration patterns. |
./state-serialization/SKILL.md — Do and Don't |
Structured-clone-safe Redux state values. |
./actions/SKILL.md — Do and Async action cues |
createAction and createAsyncAction action creators. |
./reducers/SKILL.md — Do and Implementation cues |
createReducer, immutable chained reducers, and no-op reference equality behavior. |
./sagas/SKILL.md — Do and Implementation cues |
typed-redux-saga flows, watchers, debounce, retry/timeout, and side-effect orchestration. |
./saga-manager/SKILL.md — Store saga lifecycle and Start, stop, restart, and backoff mechanics |
store.runSaga, per-owner cancellation, whole-Store disposal, and package-owned crash/restart behavior. |
./channel-effects/SKILL.md |
Generic EventChannel consumers for IPC, websocket, or DOM channels. |
./selector-channels/SKILL.md |
Saga reactions to selector value changes. |
./wait-for/SKILL.md |
One-shot saga waits for selector predicates. |
./local-storage/SKILL.md |
Safe app-local localStorage persistence from sagas. |
./redux-action-logging/SKILL.md — Store-owned logging streams and Logger factory lifecycle |
Construction-time logReduxActions, action/state diffs, and shared stream/logger ownership across Store families. |
./selector-tracing/SKILL.md |
Selector performance, tracing configuration, privacy-safe interval aggregates, and lifetime summaries. |
./collections/SKILL.md |
Normalized Collection<T, K> entity state. |
./domain-scoped-state/SKILL.md |
State keyed by workspace, project, tenant, or domain id. |
./boolean-preference/SKILL.md |
Boolean set/toggle preference helper registration. |
./testing/SKILL.md — Layer rules and Verification cues |
Reducer/saga testing, typed-redux-saga mocks, and reference equality assertions. |
./debugging/SKILL.md |
Runtime inspection and reducer reference-equality diagnostics. |
./verifier/SKILL.md — Required gate sequence |
Review quality gates for instruction drift, duplicate owners, and evidence. |
./redux-saga/SKILL.md — Package guidance takes precedence |
Generic upstream API details only; use ./sagas/SKILL.md for Themis typed effect rules and ./saga-manager/SKILL.md for Store-owned lifecycle. |
Related non-core routes
- Store family selector, component, lifecycle, migration, and observable-output guidance is selected by the root router outside core.
- Concrete Store families are mutually exclusive per app. Mixed repositories may use different families in separate apps/packages/code paths, but one app must not combine multiple Store family patterns.