Composables

Redux Kotlin

Organization

reduxkotlin

Use when building or reviewing redux-kotlin (Kotlin Multiplatform Redux) code — adding/editing a feature slice, wiring the store, Compose state binding, effects/sync middleware, testing, the platform expect/actual shims, or modularization. Enforces the project's render-isolation / off-main-effects / mint-at-edge rules.

Overview

Repository
reduxkotlin/redux-kotlin
Publisher
reduxkotlin
Stars
513
Forks
37
Bundled files
0
License
MIT
Updated
Nov 5, 2026

Installation

tmp=$(mktemp -d)
git clone --depth 1 https://github.com/reduxkotlin/redux-kotlin.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.claude/skills/redux-kotlin" ~/.claude/skills/redux-kotlin
rm -rf "$tmp"

Instructions

redux-kotlin

Kotlin Multiplatform port of the Redux contract: a minimal core (redux-kotlin) plus opt-in companion modules on one Store<S> contract. Recommended app organization is package-by-feature (feature/<name>/ slice + shared core · infra · app · ui); the canonical example is examples/taskflow.

Always-apply rules (full text → ../../../examples/taskflow/ARCHITECTURE.md §17)

  • Rule C — Render isolation. No composable reads a model (board/cards/columns) wholesale; every leaf binds the narrowest slice via selectorState/fieldStateOf and is wrapped in key(...); list derivation lives in pure functions/reducers.
  • Rule D — Identity split. A profile edit fans EditProfile to the root account directory, the per-account CollaboratorsModel, and SessionModel (bio) — identity is never duplicated inconsistently.
  • Rule E — Off-main effects. Effects originate only in middleware and run off-main; dispatch marshals back to main via NotificationContext (no explicit main hop). Per-feature handlers compose into one effectsMiddleware.
  • Rule F — Delta-only status. SyncEngine emits onStatus only on a real SyncStatus change.
  • Rule G — Mint at the edge. Ids and timestamps come from LocalIdGenerator/LocalClock at the dispatch site, never from a reducer.
  • Rule H — Single inset point. Window insets are applied once at the shell root.
  • Rule I — State-keyed lifecycle effects. Screen-data loads key on state (the nav-derived slice, e.g. BoardLifecycleEffect on nav.activeBoardId), never on navigation events — state-only entry points (process-death restore, deep links, DevTools time-travel, account-switch hydration) set state without replaying events, so an event-keyed load silently never runs. Fallback: match the hydrating action in middleware.

Decision routing

If you are… Read
Adding or editing a feature feature-slice.md
Setting up the store / topology store-setup.md
Compose state binding (Rule C) compose-binding.md
Effects + sync (Rule E) effects-sync.md
Testing + the verify loop testing.md
Visual / golden UI verification (render f(state)→PNG, diff goldens) snapshot.md
The 5 platform shims platform-shims.md
Modularization modularization.md
Debugging a running app (actions/state/diffs) devtools.md
Persisting/restoring state (process death, preloadedState, saveable, restored-screen-has-no-data) state-persistence.md
Store consistency model (sync writes, async notify, timing) store-consistency-model.md

Pointers

Build/lint gate (never --no-verify; explicitApi() needs KDoc on every public decl): ./gradlew build, ./gradlew detektAll, ./gradlew apiCheck. Detail → ../../../CLAUDE.md.

FAQ

What does Redux Kotlin do?

Use when building or reviewing redux-kotlin (Kotlin Multiplatform Redux) code — adding/editing a feature slice, wiring the store, Compose state binding, effects/sync middleware, testing, the platform expect/actual shims, or modularization. Enforces the project's render-isolation / off-main-effects / mint-at-edge rules.

Who made Redux Kotlin?

reduxkotlin (an organization) publishes it in the reduxkotlin/redux-kotlin repository on GitHub.

Is Redux Kotlin free?

Yes. Redux Kotlin is open source, published by reduxkotlin under the MIT license.

What comes with Redux Kotlin?

Just its instructions. Everything the agent needs is in one SKILL.md file.

Which agents can use Redux Kotlin?

Any coding agent that reads SKILL.md files, including Claude Code, Codex, Cursor, GitHub Copilot and Gemini CLI. The agent loads the skill when a task matches its description.

What are agent skills?

An agent skill is a folder with a SKILL.md file: instructions that teach a coding agent how to do one kind of task, and optionally files it can read while it works. The agent keeps only the skill's name and description in mind and reads the rest when a task calls for it.

How are agent skills different from MCP servers?

An MCP server gives an agent new tools to call, code that runs somewhere and returns results. A skill gives it knowledge: how to approach a task with the tools it already has. Many agents use both.

How can my agent test my Android app?

Robomori lets coding agents create, start and control Android emulators and devices from one command, so they can install your app, take screenshots and check dark mode, font sizes and languages.

You're subscribed

The next lesson lands in on Wednesday.