Compose Motion (Jetpack Compose Animation)
A decision-tree style skill for picking the right Jetpack Compose animation API and avoiding jank-inducing anti-patterns.
Dev & CodingIntermediate★ 436⑂ 31AI score 9/10Last updated: Oct 5, 2026
What it does
Guides Claude to pick the correct Compose animation API and write idiomatic, performant motion code for Android Compose and Compose Multiplatform.
- API decision table: single value →
animate*AsState; mount/unmount →AnimatedVisibility; layout swap →AnimatedContent; multi-property →updateTransition; manual/interruptible →Animatable; hero →SharedTransitionLayout - Opinionated
spring()presets (stiffness/damping) for modals, tactile taps, bouncy reveals and 1:1 drag tracking - Gesture map:
draggable,anchoredDraggable(replacesswipeable),transformable,pointerInput - Four BAD/GOOD anti-patterns: animating layout size,
LaunchedEffect(true)misuse, missingLazyColumnkeys, nestingAnimatedContentper row - Reduced-motion handling via animator duration scale with a
snap()fallback
Who it's for
- Android Compose / CMP developers building real UI motion
- Anyone debugging scroll jank or stuttering transitions
- Teams implementing hero transitions, tab switches, or loading crossfades
Examples
- "Add a shared-element hero transition from list to detail" → generates
SharedTransitionLayoutwith matchingrememberSharedContentState(key)scopes - "My expanding card drops frames" → swaps the animated width for a
graphicsLayerscale oranimateContentSize - "Slide tabs horizontally on switch" →
AnimatedContentwithtogetherWithandSizeTransform
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/AThevon/genjutsu/HEAD/skills/_jutsu/compose-motion/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/_jutsu/compose-motion folder from the GitHub repo AThevon/genjutsu into my ~/.claude/skills/compose-motion/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/AThevon/genjutsu.git && mkdir -p ~/.claude/skills && cp -r genjutsu/skills/_jutsu/compose-motion ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Clone the repo:
git clone https://github.com/AThevon/genjutsu.git - Create the skills directory:
mkdir -p ~/.claude/skills - Copy this skill:
cp -r genjutsu/skills/_jutsu/compose-motion ~/.claude/skills/ - (Recommended) It links to
references/files and sibling skills (../motion-principles,../compose-graphics), so copy the whole bundle instead:cp -r genjutsu/skills/_jutsu ~/.claude/skills/ - Restart Claude Code and try a prompt such as "animate this Compose screen transition".
View source on GitHub ↗License: NOASSERTION