Use this skill to fix scroll jank, lost item state, and broken animateItem() animations in LazyColumn, LazyRow, LazyVerticalGrid, and LazyHorizontalGrid. Covers stable item keys, contentType for mixed-type feeds, Modifier.animateItem() requirements, hoisting modifier chains and painters out of the items lambda, and validating item composable stability. Use when the developer mentions LazyColumn jank, dropped frames while scrolling, items losing scroll state on insert/remove/reorder, mixed feeds of cards/headers/ads feeling sluggish, animateItem() not animating, RecyclerView view-type analog, key parameter, or contentType parameter. The prefetch-window tuning lives in a sibling skill.
$npx -y skills add skydoves/compose-performance-skills --skill optimizing-lazy-layoutsInstalls into the current project.
Run `npx skills use "https://github.com/skydoves/compose-performance-skills" --skill "skydoves/compose-performance-skills/optimizing-lazy-layouts"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.
Use the skills in "https://github.com/skydoves/compose-performance-skills" that are relevant to the current task. Run `npx skills add "https://github.com/skydoves/compose-performance-skills"` and select the relevant skills, then follow their instructions.