Agent skill

Compose State And Effects

by chrisbanes in chrisbanes/skills

A skill your agent uses when writing or reviewing Jetpack Compose state ownership, remember state, state hoisting, screen state holders, LaunchedEffect, DisposableEffect, SideEffect, Flow…

Apache-2.0Auto-check passedMobile

Install Compose State And Effects

skills CLI
$ npx skills add chrisbanes/skills --skill compose-state-and-effects -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install chrisbanes/skills compose-state-and-effects --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/chrisbanes/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/compose-state-and-effects .claude/skills/compose-state-and-effects && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
compose-state-and-effects
GitHub stars
1.1k
Used in
1 other repo
Token cost
~988 tokens
SKILL.md length
482 words
Files
4 (incl. references)
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when writing or reviewing Jetpack Compose state ownership, remember state, state hoisting, screen state holders, LaunchedEffect, DisposableEffect, SideEffect, Flow…

  • Works in 9 steps: Establish the requested scope and… → Inventory mutable UI state, app state,… → Place each state value at its lowest… → …
  • Reviewing Jetpack Compose state ownership
  • SKILL.md covers Core principle, Procedure and Topic router
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Compose State And Effects is an agent skill from chrisbanes/skills. 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.

Its SKILL.md is about 990 tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/local-state.md`, `references/side-effects.md` and `references/state-hoisting.md`).

It sits in Mobile, covering Android development. It works with Jetpack Compose. The repository describes itself as: Skills for Kotlin, Jetpack Compose, and Android development. The licence is Apache-2.0.

When your agent uses it

  • Reviewing Jetpack Compose state ownership
  • Screen state holders
  • DisposableEffect
  • Flow collection

Example prompts

  • “/compose-state-and-effects”

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Establish the requested scope and visible behavioral requirements. Treat an
  2. Inventory mutable UI state, app state, event streams, app dependencies, and
  3. Place each state value at its lowest necessary owner: local UI state,
  4. For a screen boundary, keep durable data and intents in the wiring owner,
  5. Choose an effect API whose lifecycle matches the work, and key it by the
  6. Load the focused reference for every material concern below. Do not use a
  7. Route frame-rate reads, cross-phase back-writing, and
  8. Before responding to a screen-ownership review, verify all three screen
  9. Finish when every state value has one owner, every effect has a justified

What it can do on your machine

Read from SKILL.md and the folder at commit 00bda52. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Compose State And Effects loads about 988 tokens when it runs, and up to ~2.9k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 482 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~988
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from chrisbanes/skills at commit 00bda52, republished under its Apache-2.0 licence (© chrisbanes). 482 words, ~988 tokens.

Download SKILL.mdSave it as .claude/skills/compose-state-and-effects/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
compose-state-and-effects
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.

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

  1. Establish the requested scope and visible behavioral requirements. Treat an ownership change as a finding only when code or task evidence shows a lifecycle, testability, business, or coordination need.
  2. Inventory mutable UI state, app state, event streams, app dependencies, and imperative work in the affected screen or component.
  3. Place each state value at its lowest necessary owner: local UI state, hoisted state, a plain UI state holder, or a screen state holder.
  4. For a screen boundary, keep durable data and intents in the wiring owner, Compose runtime objects in composition or a plain UI state holder, and rendering in a previewable content composable that takes immutable state and callbacks. Read State hoisting for the implementation shape; naming only state and intents is not that boundary. Keep this content callable with sample state and callbacks; an @Preview wrapper is optional and is not required for the state-driven boundary. Before adding it, confirm the module declares its tooling; do not assume Compose runtime or UI dependencies provide it. Respect the task's file scope: do not add tooling or change build files unless authorized. If Preview tooling is needed but unavailable within scope, omit the wrapper and report the setup gap.
  5. Choose an effect API whose lifecycle matches the work, and key it by the semantic input that should restart or dispose it.
  6. Load the focused reference for every material concern below. Do not use a reference merely because its topic is adjacent.
  7. Route frame-rate reads, cross-phase back-writing, and @ReadOnlyComposable contracts to Compose performance. For that contract, distinguish a read of snapshot State.value from an operation that changes the composer; the state read alone is not a violation.
  8. Before responding to a screen-ownership review, verify all three screen seams in step 4 when visible code needs them.
  9. Finish when every state value has one owner, every effect has a justified lifecycle and key, and the UI can be previewed and tested without app dependencies. For review-only work, report no change when no evidence-backed issue remains; do not invent product requirements.
Show full SKILL.md (70 more words)Show less

Topic router

SignalRead
Bare local var, remember { mutableStateOf(...) }, state lists/maps, or reset stateLocal state
State shared by siblings, UI state holders, ViewModel/component wiring, or previewable screen boundariesState hoisting
LaunchedEffect, DisposableEffect, SideEffect, snapshotFlow, rememberCoroutineScope, rememberUpdatedState, produceState, imperative requestFocus, callbacks, event Flow collection, snackbar, navigation, or analyticsSide effects
Focus ownership and keyboard/TV/D-pad behaviorCompose focus navigation
Tests or previews for the resulting UI contractCompose UI testing patterns

© chrisbanes, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/compose-state-and-effects of chrisbanes/skills.

  • SKILL.md
  • references/local-state.md
  • references/side-effects.md
  • references/state-hoisting.md

Open the folder on GitHubat commit 00bda52

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in chrisbanes/skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Compose State And Effects next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Compose State And Effects compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compose State And Effects this skillchrisbanes/skills1.1k1 repos~988Automated safety check: PassApache-2.0
Compose Multiplatform Patternsmonta-app/ocpp-emulator1805 repos~2kAutomated safety check: PassApache-2.0
Stylesarindamxd/camerax-android1324 repos~2.3kAutomated safety check: PassApache-2.0
Compose UIMoustachauve/WLED-Android1693 repos~676Automated safety check: PassApache-2.0
Edge To Edgearindamxd/camerax-android1325 repos~3.6kAutomated safety check: PassApache-2.0
Navigation3new-silvermoon/awesome-android-agent-skills972—~1.9kAutomated safety check: PassApache-2.0

Similar skills

  • Compose Multiplatform Patterns

    monta-app/ocpp-emulator

    Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.

    180 GitHub starsUsed in 5 repos~2k tokens
    MobileAuto-check passed
  • Styles

    arindamxd/camerax-android

    A skill your agent uses to integrate the Jetpack Compose Styles API into an Android project.

    132 GitHub starsUsed in 4 repos~2.3k tokens
    MobileAuto-check passed
  • Compose UI

    Moustachauve/WLED-Android

    Best practices for building UI with Jetpack Compose, focusing on state hoisting, detailed performance optimizations, and theming.

    169 GitHub starsUsed in 3 repos~676 tokens
    MobileAuto-check passed
  • Edge To Edge

    arindamxd/camerax-android

    A skill your agent uses to migrate your Jetpack Compose app to add adaptive edge-to-edge support and troubleshoot common issues.

    132 GitHub starsUsed in 5 repos~3.6k tokens
    MobileAuto-check passed
  • Navigation3

    new-silvermoon/awesome-android-agent-skills

    Implement navigation in Jetpack Compose using Navigation 3. An agent skill from new-silvermoon/awesome-android-agent-skills.

    972 GitHub stars~1.9k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Coil Compose

    Moustachauve/WLED-Android

    Expert guidance on using Coil for image loading in Jetpack Compose.

    169 GitHub starsUsed in 2 repos~789 tokens
    MobileAuto-check passed

More from chrisbanes/skills

All 19 skills in this repo
  • Gradle Run

    chrisbanes/skills

    A skill your agent uses when planning to execute Gradle through gradle, ./gradlew, or a custom gradlew wrapper script, or diagnosing a Gradle build, compact workflow ledger, repeated failure…

    1.1k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Compose Animations

    chrisbanes/skills

    A skill your agent uses when writing or reviewing Jetpack Compose motion: visibility enter/exit, animating one property toward a target, color or size transitions, multiple properties from one…

    1.1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when writing or reviewing Jetpack Compose UI tests, screenshot tests or baseline-recording evidence, previews, semantics assertions, fake image loading, keyboard input, focus…

    1.1k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Release Kotlin Library

    chrisbanes/skills

    A skill your agent uses when preparing, publishing, or checking readiness for a Kotlin library release, including verifying its gradle-maven-publish-plugin prerequisite, reconciling changelogs and…

    1.1k GitHub stars~1.9k tokensUpdated today
    Auto-check: notes
  • Run GitHub Project

    chrisbanes/skills

    A skill your agent uses when asked to set up, review, or operate a repository's GitHub Project workflow, including ready claims, role-labelled human work, unknown remote mutation outcomes, Todo…

    1.1k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Compose Component Design

    chrisbanes/skills

    A skill your agent uses when designing or reviewing reusable Jetpack Compose component APIs with modifier parameters, root layout placement, caller-provided variable content, primitive content…

    1.1k GitHub starsUsed in 1 repo~718 tokens
    Auto-check passed

Works with

Categories

Questions about Compose State And Effects

What does Compose State And Effects do?

A skill your agent uses when writing or reviewing Jetpack Compose state ownership, remember state, state hoisting, screen state holders, LaunchedEffect, DisposableEffect, SideEffect, Flow…. Compose State And Effects is an agent skill from chrisbanes/skills. 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.

When should I use Compose State And Effects?

Compose State And Effects fits situations like: reviewing Jetpack Compose state ownership; screen state holders; disposableEffect; flow collection.

How do I install Compose State And Effects in Claude Code?

Run `npx skills add chrisbanes/skills --skill compose-state-and-effects -a claude-code`. Or copy the skill folder (skills/compose-state-and-effects in chrisbanes/skills) into .claude/skills/compose-state-and-effects in your project. Claude Code loads it when a task matches its description.

How do I install Compose State And Effects in Codex?

Run `npx skills add chrisbanes/skills --skill compose-state-and-effects -a codex`. Or copy the skill folder (skills/compose-state-and-effects in chrisbanes/skills) into .agents/skills/compose-state-and-effects in your project. Codex loads it when a task matches its description.

Can I use Compose State And Effects in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add chrisbanes/skills --skill compose-state-and-effects -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compose-state-and-effects, .gemini/skills/compose-state-and-effects, .github/skills/compose-state-and-effects and .opencode/skills/compose-state-and-effects in your project.

What does Compose State And Effects need to run?

SKILL.md names no scripts, command-line tools or credentials: Compose State And Effects is instructions for the agent only.

Does Compose State And Effects access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Compose State And Effects safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Compose State And Effects use?

Compose State And Effects is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Compose State And Effects use?

About 988 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.

What are the alternatives to Compose State And Effects?

Skills that share tags, products or a category with Compose State And Effects: Compose Multiplatform Patterns (monta-app/ocpp-emulator, 180 stars), Styles (arindamxd/camerax-android, 132 stars), Compose UI (Moustachauve/WLED-Android, 169 stars) and Edge To Edge (arindamxd/camerax-android, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Compose State And Effects?

chrisbanes (a GitHub user) maintains it in chrisbanes/skills, which has 1,093 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 8, 2026.

Source: chrisbanes/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.