core/core-policy

Enforces Redux state management policies for Themis architecture decisions.

6|6|Updated Jun 29, 2026
One-click install
npx skills add https://github.com/intent-hq/cloudlands-fe --skill core-core-policy-intent-hq
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: core/core-policy
Source: https://github.com/intent-hq/cloudlands-fe/tree/main/.agents/skills/themis/core/core-policy
Command: npx skills add https://github.com/intent-hq/cloudlands-fe --skill core-core-policy-intent-hq

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It prevents inconsistent Redux usage in the Themis codebase by defining binding rules for shared state, side effects, serialization, entity storage, and slice type boundaries before any code is edited. ## Core Features & Use Cases - Core Redux Rules: Eleven load-bearing rules covering canonical state, saga-owned side effects, serializable state, Collection-based entity storage, and single-owner actions/selectors/sagas. - Common Mistakes Catalog: Prioritized wrong-vs-correct code examples for derived state, family-local stores, $effect misuse, inline slice types, and leftover pass-through wrappers. - Compliance Contract: Requires agents to read linked skills, cite applicable rules in handoffs, and provide verifier-ready evidence such as searches, tests, or diff checks. - Use Case: When adding a new slice to the SvelteKit/Electron renderer, consult this policy to place types in {slice-name}-types.ts, store entities in Collection<T, K>, and move async workflows into sagas instead of component effects. ## Quick Start Ask the agent to review a planned Redux slice change against the core policy rules and cite which rules apply before writing any code.

Frequently Asked Questions about core/core-policy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Redux state in a SvelteKit Electron app?▼

Keep all shared and domain state in a single Redux store with serializable plain values, store entities in Collection<T, K> structures, and derive views through selectors. Components only read via selectors and dispatch actions; business logic lives in reducers and sagas.

When should I use Redux vs component-local state in Svelte?▼

Use Redux when state is shared across components, persisted, synced over IPC, or drives business logic. Keep state component-local only for purely visual, instance-local concerns like hover or focus. When in doubt, use Redux.

Can I use Redux Toolkit with this custom Redux setup?▼

No. This package uses a custom Redux setup, so createSlice, configureStore, createAsyncThunk, and other RTK APIs are forbidden. Use only the custom utilities documented in the linked leaf skills.

Why should side effects live in sagas instead of Svelte $effect?▼

A $effect runs only while its component is mounted, so business logic dies on unmount and stays invisible to devtools and tests. Sagas survive component lifetimes, are observable, and handle API calls, timers, subscriptions, and async workflows.

Why must slice types live in separate -types.ts files?▼

Defining types inline in -slice.ts forces cross-process imports, such as Electron preload, to pull in reducers and action-creator factories just to get types, breaking bundling boundaries. Separate type modules are safe to import from any process.

What state values are not serializable in Redux?▼

Date, Map, Set, RegExp, Promise, Function, class instances, and Symbol are forbidden in state. Use only plain objects, arrays, strings, numbers, booleans, null, and undefined so state remains inspectable and portable.