Redux Kotlin
Organizationreduxkotlin
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"tmp=$(mktemp -d)
git clone --depth 1 https://github.com/reduxkotlin/redux-kotlin.git "$tmp"
mkdir -p ~/.codex/skills
cp -R "$tmp/.claude/skills/redux-kotlin" ~/.codex/skills/redux-kotlin
rm -rf "$tmp"Install the Redux Kotlin agent skill from https://github.com/reduxkotlin/redux-kotlin/tree/master/.claude/skills/redux-kotlin into this project's skills folder.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/fieldStateOfand is wrapped inkey(...); list derivation lives in pure functions/reducers. - Rule D — Identity split. A profile edit fans
EditProfileto the root account directory, the per-accountCollaboratorsModel, andSessionModel(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 oneeffectsMiddleware. - Rule F — Delta-only status.
SyncEngineemitsonStatusonly on a realSyncStatuschange. - Rule G — Mint at the edge. Ids and timestamps come from
LocalIdGenerator/LocalClockat 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.
BoardLifecycleEffectonnav.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
- T0 index (modules, commands, layout):
AGENTS.md - Public API surface per module:
api-map.md - Architecture deep-dive:
ARCHITECTURE.md - Reference index:
references/README.md
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.