# Compose State And Effects

Use when writing or reviewing Jetpack Compose state ownership, remember state, state...

- Repository: https://github.com/chrisbanes/skills (1135 stars)
- Category: Writing
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add chrisbanes/skills --skill compose-state-and-effects -g -a claude-code -y`
Codex: `npx skills add chrisbanes/skills --skill compose-state-and-effects -g -a codex -y`
Cursor: `npx skills add chrisbanes/skills --skill compose-state-and-effects -g -a cursor -y`
Gemini CLI: `npx skills add chrisbanes/skills --skill compose-state-and-effects -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add chrisbanes/skills`

## Description

Use when writing or reviewing Jetpack Compose state ownership, remember state, state hoisting, screen state holders, LaunchedEffect, DisposableEffect, SideEffect, Flow collection, navigation, snackbar, analytics, or focus requests.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Compose state and effects

## Core principle

Give every piece of UI state one lowest responsible owner, then run imperative
work through the effect whose lifecycle follows that owner. Composition renders;
state and effects make rendering change safely.

A screen-ownership review is incomplete until it names the plain, previewable
content composable that receives immutable state and event callbacks separately
from app wiring and composition-owned runtime objects.

## Procedure

The rest: https://github.com/chrisbanes/skills/blob/HEAD/skills/compose-state-and-effects/SKILL.md
