📈
QualityShell

Tracing Recompositions At Runtime

by skydoves

Tracing Recompositions At Runtime is a Quality skill for Claude Code, published by skydoves in compose-performance-skills.

492 stars17 forkson skydoves/compose-performance-skillsAdded 2026/08/26+1% in starsRepository updated 2026/06/16
agent-skillsandroidclaudeclaude-codecomposecompose-performancejetpack-composekotlinllm-toolsrecompositionskydoves
Install in seconds
Install Tracing Recompositions At Runtime
Copy Tracing Recompositions At Runtime into your Claude Code skills folder. Run the command in your terminal, or review the source on GitHub before installing.
terminal
npx degit https://github.com/skydoves/compose-performance-skills/tree/main/measurement/tracing-recompositions-at-runtime ~/.claude/skills/tracing-recompositions-at-runtime

Requires Node.js. Downloads this skill only — not the rest of the repository — into your Claude Code skills folder.

Without Node.js

git clone https://github.com/skydoves/compose-performance-skills.git

Clones the whole repository, then copy the skill’s own directory into your skills folder yourself.

In this catalog

Source file
measurement/tracing-recompositions-at-runtime/SKILL.md in skydoves/compose-performance-skills
Installs to
~/.claude/skills/tracing-recompositions-at-runtime
Collection
One of 25 skills cataloged from this repository
Category
Quality1354 skills

What Tracing Recompositions At Runtime does

Tracing Recompositions At Runtime instruments Jetpack Compose composables with @TraceRecomposition to print per-recomposition diffs to logcat and feed the live heatmap. Use it to confirm stability fixes or diagnose recomposition issues in release-like builds.

Tracing Recompositions At Runtime is cataloged under Quality on DirSkills. Tracing Recompositions At Runtime comes from a repository tagged agent-skills, android, claude, claude-code and compose.

Documentation

README

Tracing Recompositions at Runtime — @TraceRecomposition, logcat, and the live heatmap

Layout Inspector counts recompositions and surfaces Argument Change Reasons, but it works only in debug, where Live Literals and the interpreted Compose runtime inflate counts. @TraceRecomposition from skydoves/compose-stability-analyzer instruments a composable at compile time and emits per-recomposition diffs (which state changed, what value transition) to logcat under the Recomposition tag. The instrumentation works in any build the developer enables it for — including release-with-debug-symbols — and feeds the IntelliJ / Android Studio plugin's live recomposition heatmap.

This is the opening of the README. Read the full README on GitHub.

Frequently asked about Tracing Recompositions At Runtime

  • What else does skydoves publish alongside Tracing Recompositions At Runtime?

    Tracing Recompositions At Runtime is one of 25 skills that DirSkills catalogs from skydoves/compose-performance-skills, the repository it ships in. Its siblings there include Auditing Compose Performance, Avoiding Subcomposition Pitfalls and Choosing DerivedStateOf. Each one is a separate skill with its own page in this directory, installs the same way Tracing Recompositions At Runtime does, and is maintained by skydoves in that same repository. The rest of the collection is listed on the skydoves/compose-performance-skills page.

  • How does Tracing Recompositions At Runtime compare to other Quality skills?

    Tracing Recompositions At Runtime ranks #1227 by stars among the 1354 Quality skills in this catalog. The most-starred ones next to it are Benchmark, Benchmark Optimization Loop and API Design Patterns. DirSkills ranks by the star count of the repository each skill ships in, so that order reflects how popular those repositories are rather than any review of Tracing Recompositions At Runtime against them. Open each page to compare what they document and how they install.

More from skydoves/compose-performance-skills

Tracing Recompositions At Runtime is one of 25 skills cataloged on DirSkills from skydoves/compose-performance-skills.

See all 25 skills
🔍
5d ago

Auditing Compose Performance

Auditing Compose Performance runs a Measure → Diagnose → Fix → Verify workflow for broad Jetpack Compose slowdowns. Use it for perf audits, sprint kickoffs, and written reports when you need baseline metrics, causes, fixes, and verification.
Quality
49217
🧩
5d ago

Avoiding Subcomposition Pitfalls

Avoiding Subcomposition Pitfalls explains when SubcomposeLayout, BoxWithConstraints, or Scaffold cause repeated measure-phase composition in Jetpack Compose. Use it to replace unnecessary subcomposition with cheaper layout primitives or tune it when subcomposition is required.
Frontend
49217
🧩
5d ago

Choosing DerivedStateOf

Choosing DerivedStateOf helps decide when Jetpack Compose derivedStateOf reduces recompositions and when it is just overhead. It covers input-vs-output frequency, required remember wrapping, stale captures, and snapshotFlow for one-shot side effects.
Frontend
49217
🌊
5d ago

Collecting Flows Safely

Collecting Flows Safely helps migrate Compose screens from collectAsState() to collectAsStateWithLifecycle() and tame high-frequency flows with conflate(), distinctUntilChanged(), and snapshotFlow. Use it when background collection, unstable Flow parameters, or chatty streams are causing wasted work or extra recompositions.
Quality
49217
📜
5d ago

Configuring Lazy Prefetch

Configuring Lazy Prefetch tunes Jetpack Compose lazy-layout cache windows and nested prefetch for heavy scrolling. Use it when dropped frames come from composition work, especially with LazyLayoutCacheWindow or inner lazy layouts.
Frontend
49217
🛠️
5d ago

Configuring R8 For Compose

Configuring R8 For Compose explains how to set up minification for a Jetpack Compose app with R8 full mode, resource shrinking, and minimal keep rules. Use it when enabling release shrinking, fixing missing keeps, or checking why Compose does not need blanket keep rules.
DevOps
49217