Not in the top 1,000 by GitHub stars
skydoves/compose-performance-skills
⚡<U+FE0F> A curated library of Agent Skills focused on Jetpack Compose performance.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
audit/auditing-compose-performance/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
build/configuring-r8-for-compose/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
hot-reload/iterating-with-ai-and-mcp/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
hot-reload/preserving-state-across-reloads/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
hot-reload/setting-up-compose-hotswan/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
hot-reload/understanding-hot-reload-limits/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
lists/configuring-lazy-prefetch/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
lists/optimizing-lazy-layouts/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
measurement/generating-baseline-profiles/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
measurement/testing-compose-in-release-mode/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
measurement/tracing-recompositions-at-runtime/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
modifiers/migrating-to-modifier-node/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
modifiers/ordering-modifier-chains/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
recomposition/avoiding-subcomposition-pitfalls/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
recomposition/choosing-derivedstateof/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
recomposition/debugging-recompositions/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
recomposition/deferring-state-reads/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
recomposition/using-strong-skipping-correctly/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
side-effects/collecting-flows-safely/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
side-effects/using-efficient-effects/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
stability/diagnosing-compose-stability/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
stability/enforcing-stability-in-ci/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
stability/stabilizing-compose-types/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
stability/understanding-stability-inference/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
stability/using-stability-analyzer-ide-plugin/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
stability/visualizing-recomposition-cascades/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
1b32f81724c0 → 1b32f81724c0
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 1b32f81724c0
No earlier version was observed for comparison.
Heat
4.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- auditing-compose-performance
audit/auditing-compose-performance - configuring-r8-for-compose
build/configuring-r8-for-compose - iterating-with-ai-and-mcp
hot-reload/iterating-with-ai-and-mcp - preserving-state-across-reloads
hot-reload/preserving-state-across-reloads - setting-up-compose-hotswan
hot-reload/setting-up-compose-hotswan - understanding-hot-reload-limits
hot-reload/understanding-hot-reload-limits - configuring-lazy-prefetch
lists/configuring-lazy-prefetch - optimizing-lazy-layouts
lists/optimizing-lazy-layouts - generating-baseline-profiles
measurement/generating-baseline-profiles - testing-compose-in-release-mode
measurement/testing-compose-in-release-mode - tracing-recompositions-at-runtime
measurement/tracing-recompositions-at-runtime - migrating-to-modifier-node
modifiers/migrating-to-modifier-node - ordering-modifier-chains
modifiers/ordering-modifier-chains - avoiding-subcomposition-pitfalls
recomposition/avoiding-subcomposition-pitfalls - choosing-derivedstateof
recomposition/choosing-derivedstateof - debugging-recompositions
recomposition/debugging-recompositions - deferring-state-reads
recomposition/deferring-state-reads - using-strong-skipping-correctly
recomposition/using-strong-skipping-correctly - collecting-flows-safely
side-effects/collecting-flows-safely - using-efficient-effects
side-effects/using-efficient-effects - diagnosing-compose-stability
stability/diagnosing-compose-stability - enforcing-stability-in-ci
stability/enforcing-stability-in-ci - stabilizing-compose-types
stability/stabilizing-compose-types - understanding-stability-inference
stability/understanding-stability-inference - using-stability-analyzer-ide-plugin
stability/using-stability-analyzer-ide-plugin - visualizing-recomposition-cascades
stability/visualizing-recomposition-cascades
How it works
auditing-compose-performance
When your agent uses it
Use this skill to run an end-to-end Jetpack Compose performance audit when the symptom is broad ("the app feels sluggish", "scroll is rough everywhere", "we're starting a perf sprint", "what should we fix first?"). Orchestrates the four-phase Measure → Diagnose → Fix → Verify loop by sequencing the 25 focused skills (release-mode setup, R8, Baseline Profiles, Compose Compiler reports, stability inference, Layout Inspector, `@TraceRecomposition`, stabilization, strong skipping, phase-deferral, derivedStateOf, lazy layouts, lazy prefetch, Modifier.Node, modifier ordering, flow collection, effects, CI gates, hot-reload) and produces a written audit report with Before/After Macrobenchmark numbers. Use when the developer wants a perf sprint kickoff, a pre-release perf gate, onboarding to a perf-troubled codebase, or a written deliverable. Use when the user mentions "audit", "perf review", "perf sprint", "where do I start", or has no specific symptom yet.
What it loads into context
Frontmatter
306 tokensAlways available to the agent
SKILL.md
5,410 tokensWhen the skill is activated
Reference documents
94,577 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Audit report template
- Patterns
- Compose version requirements appendix
- Mandatory rules
- Verification
- References
Files
../../INDEX.mddoc17,078 bytesSKILL.mdcore22,179 bytes../../build/configuring-r8-for-compose/SKILL.mddoc15,105 bytes../../hot-reload/iterating-with-ai-and-mcp/SKILL.mddoc10,900 bytes../../hot-reload/preserving-state-across-reloads/SKILL.mddoc11,382 bytes../../hot-reload/setting-up-compose-hotswan/SKILL.mddoc12,020 bytes../../hot-reload/understanding-hot-reload-limits/SKILL.mddoc10,558 bytes../../lists/configuring-lazy-prefetch/SKILL.mddoc15,143 bytes../../lists/optimizing-lazy-layouts/SKILL.mddoc14,672 bytes../../measurement/generating-baseline-profiles/SKILL.mddoc20,188 bytes../../measurement/testing-compose-in-release-mode/SKILL.mddoc16,738 bytes../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../../modifiers/migrating-to-modifier-node/SKILL.mddoc19,907 bytes../../modifiers/ordering-modifier-chains/SKILL.mddoc15,117 bytes../../recomposition/avoiding-subcomposition-pitfalls/SKILL.mddoc18,885 bytes../../recomposition/choosing-derivedstateof/SKILL.mddoc11,828 bytes../../recomposition/debugging-recompositions/SKILL.mddoc17,105 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytes../../recomposition/using-strong-skipping-correctly/SKILL.mddoc21,969 bytes../../side-effects/collecting-flows-safely/SKILL.mddoc12,440 bytes../../side-effects/using-efficient-effects/SKILL.mddoc12,994 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes../../stability/enforcing-stability-in-ci/SKILL.mddoc16,189 bytes../../stability/stabilizing-compose-types/SKILL.mddoc17,505 bytes../../stability/understanding-stability-inference/SKILL.mddoc17,196 bytes../../stability/using-stability-analyzer-ide-plugin/SKILL.mddoc17,253 bytes../../stability/visualizing-recomposition-cascades/SKILL.mddoc17,265 bytes
Read SKILL.md
# Auditing Compose Performance — the Measure → Diagnose → Fix → Verify orchestrator
This is the highest-level entry point in the `compose-performance-skills` library. When the developer's symptom is broad — "the app feels sluggish", "scroll is rough everywhere", "we're starting a perf sprint", "where do we even start?" — Claude enters here. The orchestrator does **NOT** replace the 25 focused skills; it sequences them through a four-phase loop and produces a written audit report at the end.
The phases are **Measure → Diagnose → Fix → Verify**, run in order, never skipped. Phase 1 establishes baseline numbers from a release + R8 build on a real device, because anything else is fiction. Phase 2 turns symptoms into named causes from the Compose Compiler reports, Layout Inspector, and runtime tracing. Phase 3 applies one targeted fix at a time, re-measuring between fixes so the delta of each change is provable. Phase 4 regenerates the Baseline Profile, locks in a CI stability gate, and commits the baseline files so regressions cannot slip back.
Perf work without measurement is guessing. Skydoves hot take #1 applies throughout: **DO NOT** chase 100% skippability — that is a diagnostic on a compiler report, not the goal. The goal is `FrameTimingMetric` and `StartupTimingMetric` improvement on a real device.
## When to use this skill
- The developer reports broad sluggishness with no specific surface ("the app feels heavy", "everything is slow").
- A team is kicking off a performance sprint and wants a structured plan.
- A new team member needs onboarding to a perf-troubled codebase.
- A pre-release perf gate is required before shipping.View the complete source on GitHubconfiguring-r8-for-compose
When your agent uses it
Use this skill to configure R8 correctly for a Jetpack Compose application — full mode by default, `proguard-android-optimize.txt`, resource shrinking on, and minimal keep rules because Compose ships consumer ProGuard rules. Covers AGP 8.0+ R8 full mode default, R8's Compose-aware optimizations (lambda grouping, `sourceInformation()` stripping, composable arg constant-folding, `ComposerImpl` devirtualization), legitimate keep needs (`@Serializable`, Hilt entry points, reflective `Saver`s), and the AGP 8.x missing-rule reporter / R8 retrace. Cited gain is roughly 75 percent startup and 60 percent frame-render improvement debug-to-release. Use when setting up a new Compose app, when a PR adds an over-broad keep like `-keep class androidx.compose.** { *; }`, when a release build crashes after enabling minification, when APK size needs reduction, or when first enabling minification.
What it loads into context
Frontmatter
291 tokensAlways available to the agent
SKILL.md
3,517 tokensWhen the skill is activated
Reference documents
3,754 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- What R8 actually does for Compose (since AGP 8.0)
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
SKILL.mdcore15,105 bytesSKILL.mdcore15,105 bytesSKILL.mdcore15,105 bytesSKILL.mdcore15,105 bytes../../measurement/testing-compose-in-release-mode/SKILL.mddoc16,738 bytes
Read SKILL.md
# Configuring R8 for Compose — Trust Consumer Rules, Avoid Blanket Keeps
R8 is the only supported shrinker — ProGuard is deprecated. Compose ships consumer ProGuard rules, so most apps need **no** Compose-specific keep rules. The big modern wins come from R8 full mode (default since AGP 8.0): lambda grouping, `sourceInformation()` stripping, constant-folding of composable args, and `ComposerImpl` devirtualization. This skill teaches Claude to set R8 up minimally and refuse over-broad keeps that defeat those wins.
## When to use this skill
- Setting up a new Compose app's release variant for the first time.
- A PR adds `-keep class androidx.compose.** { *; }` or any other Compose-wide keep — push back and apply this skill.
- A release build crashes after enabling minification — the cause is almost always a missing keep on a reflective consumer, not on Compose itself.
- APK size review surfaces a large `classes.dex` and the developer wants to know why.
- The first time `isMinifyEnabled = true` is being flipped on, before any release benchmark is run.
- Cross-link from `../../measurement/testing-compose-in-release-mode/SKILL.md` whenever release measurement is being set up.
## When NOT to use this skillView the complete source on GitHubiterating-with-ai-and-mcp
When your agent uses it
Use this skill to drive Compose HotSwan from an AI agent (Claude Code, Cursor, any MCP client) so the agent can edit a Kotlin file, trigger a hot reload, capture a device screenshot, evaluate the result against a design intent, and iterate without a human in the loop. Covers the seven HotSwan MCP tools (hotswan_get_status, hotswan_reload, hotswan_take_screenshot, hotswan_start_snapshot, hotswan_stop_snapshot, hotswan_select_variant, hotswan_build_and_install), the canonical edit-reload-screenshot loop, snapshot-based rollback, and when to fall back to a full install for schema changes. Use when the developer says "get the AI to tune this screen until it matches a mock", asks "can the AI see what changed?" or "can the AI screenshot the device?", sets up a Claude Code or Cursor workflow that needs MCP tool access, or wants AI-driven UI iteration.
What it loads into context
Frontmatter
283 tokensAlways available to the agent
SKILL.md
2,533 tokensWhen the skill is activated
Reference documents
12,658 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- MCP tools (verbatim names)
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
SKILL.mdcore10,900 bytesSKILL.mdcore10,900 bytesSKILL.mdcore10,900 bytesSKILL.mdcore10,900 bytes../preserving-state-across-reloads/SKILL.mddoc11,382 bytes../setting-up-compose-hotswan/SKILL.mddoc12,020 bytes../understanding-hot-reload-limits/SKILL.mddoc10,558 bytes../../measurement/generating-baseline-profiles/SKILL.mddoc20,188 bytes
Read SKILL.md
# Iterating with AI and MCP: let the agent edit, reload, screenshot, and iterate
Compose HotSwan ships an embedded HTTP MCP server inside the IntelliJ plugin. Any MCP-compatible AI client (Claude Code, Cursor, any tool that speaks Model Context Protocol) can call its tools to drive the iteration loop. The agent edits a Kotlin file, calls `hotswan_reload`, captures a screenshot of the running device, evaluates the result against the design intent, and decides the next change. Cycle time is comparable to the human loop, a few seconds per iteration, so the agent can converge on a UI tweak without a human steering each step.
This skill teaches the canonical agent loop, the seven MCP tools (verbatim names), and the safety habits (status check first, snapshot wrapping for rollback, fallback to full install for schema changes) that keep the loop reliable.
## When to use this skill
- The developer wants AI-driven UI iteration: "tune this screen until it matches the mock", "let the agent pick a colour".
- The developer wants the AI to verify its own edits visually instead of guessing whether the change worked.
- The developer is wiring up a Claude Code or Cursor workflow that needs MCP tool access to a running app.
- The user asks "can the AI see what changed?", "can the AI screenshot the device?", "how does Claude Code drive HotSwan?".
- The user mentions "MCP server", "hotswan_reload", "hotswan_take_screenshot", "agent loop", or "snapshot rollback".
View the complete source on GitHubpreserving-state-across-reloads
When your agent uses it
Use this skill to keep Jetpack Compose state alive across HotSwan hot reloads by understanding the three escalating tiers Compose HotSwan uses (tier 1 targeted recomposition, tier 2 composition reset, tier 3 Activity.recreate) and choosing edits and state holders that stay inside tier 1 where scroll position, lazy items, dialog state, and per-composable remember values all survive. Explains which edits force escalation, which state holders survive each tier, and how to hoist transient UI state when the iteration loop must escalate. Use when the developer says "scroll jumped to top after a hot reload", "lost dialog state", "lazy column re-fetched", "tab selection reset", asks why HotSwan reload escalated to tier 2 or 3, plans a refactor and needs to know which scope it touches, or wants to know which state holders survive composition reset.
What it loads into context
Frontmatter
267 tokensAlways available to the agent
SKILL.md
2,627 tokensWhen the skill is activated
Reference documents
11,652 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- The three tiers
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../iterating-with-ai-and-mcp/SKILL.mddoc10,900 bytesSKILL.mdcore11,382 bytes../setting-up-compose-hotswan/SKILL.mddoc12,020 bytes../understanding-hot-reload-limits/SKILL.mddoc10,558 bytes../../recomposition/debugging-recompositions/SKILL.mddoc17,105 bytes
Read SKILL.md
# Preserving State Across Reloads: keep edits inside HotSwan tier 1
Compose HotSwan applies every hot reload through three escalating tiers. Tier 1 (targeted recomposition) preserves the most: scroll position, navigation back stack, `remember` and `rememberSaveable` values, `ViewModel` state, lazy layout items, dialog and bottom sheet state. Tier 2 (composition reset) disposes and recreates compositions, dropping per-composable `remember`. Tier 3 (`Activity.recreate()`) restarts the Activity and only state held by `ViewModel` or `SavedInstanceState` survives.
The iteration loop is fastest and least surprising when every reload stays inside tier 1. This skill covers which edits trigger which tier, which state holders survive each tier, and how to hoist transient UI state when an edit must escalate.
## When to use this skill
- The developer reports "scroll jumped to top after a hot reload", "lost dialog state", "lazy column re-fetched", or "tab selection reset to zero".
- The developer is about to refactor a composable and wants to know which recomposition scope the change touches.
- The HotSwan tool window status shows a tier 2 or tier 3 reload and the developer wants to understand why it escalated.
- The developer asks which state holders survive `Activity.recreate()` versus a composition reset.
- The user mentions "tier 1", "tier 2", "tier 3", "composition reset", "HotSwan state preservation", or "rememberSaveable across reload".
View the complete source on GitHubsetting-up-compose-hotswan
When your agent uses it
Use this skill to install and verify Compose HotSwan end to end so a developer goes from zero to working sub-second hot reload on a real device or emulator in one session. Covers the JetBrains IDE plugin install, the `com.github.skydoves.compose.hotswan.compiler` Gradle plugin wiring, the canonical `hotSwanCompiler { enabled = true; debugOnly = true }` DSL block, the HotSwan tool window flow, and the first save-to-reload verification. Trigger when the user mentions HotSwan, Compose hot reload, instant UI update, "save and see", "no rebuild", live edit on device, fast Compose iteration, or already has the JetBrains plugin installed and asks how to apply the Gradle compiler plugin.
What it loads into context
Frontmatter
240 tokensAlways available to the agent
SKILL.md
2,872 tokensWhen the skill is activated
Reference documents
4,955 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Troubleshooting
- Mandatory rules
- Verification
- References
Files
../iterating-with-ai-and-mcp/SKILL.mddoc10,900 bytesSKILL.mdcore12,020 bytesSKILL.mdcore12,020 bytesSKILL.mdcore12,020 bytesSKILL.mdcore12,020 bytesSKILL.mdcore12,020 bytes../understanding-hot-reload-limits/SKILL.mddoc10,558 bytes
Read SKILL.md
# Setting Up Compose HotSwan: zero to sub-second reload on a real device
Compose HotSwan is a JetBrains IDE plugin plus a Gradle compiler plugin that swaps changed Kotlin classes into a running Compose app on a real device or emulator in under one second, preserving navigation, scroll, and `remember` state. This skill installs both pieces, wires the canonical Gradle DSL with `debugOnly = true`, and verifies the first save-to-reload round-trip. Sibling skills cover what does and does not hot-reload (`../understanding-hot-reload-limits/SKILL.md`), state preservation across reloads, and the AI-driven iteration loop.
> Versions verified at the time of authoring. Confirm against the current release notes for newer minors.
## When to use this skill
- The developer mentions HotSwan, hot reload, instant UI update, "save and see", "no rebuild", live edit, or fast Compose iteration on device.
- The developer has the HotSwan JetBrains Marketplace plugin installed and asks how to apply the Gradle compiler plugin.
- A team is onboarding a new project to HotSwan and wants the canonical `libs.versions.toml` + root build + app build wiring.
- The developer just installed the IDE plugin and the tool window status is stuck before `WATCHING`.
## When NOT to use this skillView the complete source on GitHubunderstanding-hot-reload-limits
When your agent uses it
Use this skill to teach Claude exactly which Kotlin and Compose changes hot-reload under Compose HotSwan and which trigger a full incremental rebuild fallback. Root cause is Android Runtime (ART) class schema immutability; only method bodies are mutable at runtime, so any change to fields, signatures, constructors, interfaces, inline functions, or new resource ids forces a rebuild. Covers the supported-changes table, the rebuild-forcing list, the diff-then-batch workflow that keeps a hot-reload session inside the fast path, and the inline-function and new-resource-id pitfalls. Trigger when the user asks "why did this rebuild?", "why isn't this hot reloading?", wants to learn HotSwan's boundaries before adopting it, or when reviewing a refactor that risks pushing a hot-reload session into a full rebuild.
What it loads into context
Frontmatter
250 tokensAlways available to the agent
SKILL.md
2,422 tokensWhen the skill is activated
Reference documents
2,872 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Boundary tables
- Workflow when a change does not hot-reload
- Patterns
- Mandatory rules
- Verification
- References
Files
../setting-up-compose-hotswan/SKILL.mddoc12,020 bytesSKILL.mdcore10,558 bytes
Read SKILL.md
# Understanding Hot Reload Limits: stay inside the fast path
Android Runtime (ART) enforces strict rules for class redefinition: a redefined class must have an identical schema (fields, method signatures, interfaces) as the previous version. Only method bodies are mutable at runtime. HotSwan automatically detects schema changes and falls back to a full incremental build, so failures are not silent. Knowing the boundary in advance is what keeps an iteration loop sub-second instead of multi-second.
## When to use this skill
- The developer asks "why did this trigger a full rebuild?", "why isn't this hot reloading?", or "what does HotSwan support?".
- A PR review surfaces a refactor (parameter change, constructor change, interface extraction, new resource id) that would push a hot-reload session into a rebuild.
- The developer is planning a session and wants to order edits so the slow ones happen at the end.
- The developer reports an `inline fun` change that "didn't reload" and is debugging.
## When NOT to use this skill
- Setup or first-run troubleshooting. See `../setting-up-compose-hotswan/SKILL.md`.View the complete source on GitHubconfiguring-lazy-prefetch
When your agent uses it
Use this skill to tune Jetpack Compose lazy-layout prefetch with LazyLayoutCacheWindow (Compose Foundation 1.9+, @ExperimentalFoundationApi) and pausable composition in prefetch (Compose Foundation 1.10+, default on). Covers configurable Dp-based ahead/behind cache windows plumbed through rememberLazyListState(cacheWindow = ...), NestedPrefetchScope for items containing inner lazy layouts (HorizontalPager inside a LazyColumn row), version requirements, and the trade-off between memory pressure and idle-frame work. Use when the developer mentions dropped frames at high scroll velocity, prefetch window, ahead/behind extents, LazyLayoutCacheWindow, NestedPrefetchScope, pausable composition for prefetch, or wants composition retained for items briefly scrolled past. Item-level fixes (keys, contentType) live in a sibling skill.
What it loads into context
Frontmatter
258 tokensAlways available to the agent
SKILL.md
3,559 tokensWhen the skill is activated
Reference documents
18,997 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
SKILL.mdcore15,143 bytes../optimizing-lazy-layouts/SKILL.mddoc14,672 bytes../../measurement/generating-baseline-profiles/SKILL.mddoc20,188 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes../../stability/stabilizing-compose-types/SKILL.mddoc17,505 bytes
Read SKILL.md
# Configuring Lazy Prefetch — Cache Window and Pausable Composition
Lazy layouts pre-compose items just outside the viewport so they're ready when the user scrolls. Compose Foundation 1.9 added `LazyLayoutCacheWindow` for configurable ahead/behind extents. Compose Foundation 1.10 made prefetch composition pausable by default — work spreads across multiple frames instead of one. Most apps still rely on legacy single-frame prefetch and unknowingly pay for it during heavy scrolling. This skill teaches Claude when (and only when) to widen the window or implement nested prefetch, and how to validate the change with Macrobenchmark.
## When to use this skill
- Macrobenchmark `FrameTimingMetric` shows dropped frames at high scroll velocity even though item composables are skippable.
- Items are content-heavy: large images, decoded videos, nested grids, or expensive measurement work.
- The developer wants composition retained for items the user scrolled past briefly (e.g. flick-back gesture).
- An outer lazy layout contains items with their own inner lazy layouts (e.g. `LazyColumn` rows that each host a `HorizontalPager` or inner `LazyRow`).
- The developer mentions `LazyLayoutCacheWindow`, `NestedPrefetchScope`, "prefetch window", "ahead extent", or "pausable composition for prefetch".
## When NOT to use this skill
View the complete source on GitHuboptimizing-lazy-layouts
When your agent uses it
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.
What it loads into context
Frontmatter
227 tokensAlways available to the agent
SKILL.md
3,478 tokensWhen the skill is activated
Reference documents
21,853 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../configuring-lazy-prefetch/SKILL.mddoc15,143 bytesSKILL.mdcore14,672 bytes../../measurement/generating-baseline-profiles/SKILL.mddoc20,188 bytes../../recomposition/choosing-derivedstateof/SKILL.mddoc11,828 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes../../stability/stabilizing-compose-types/SKILL.mddoc17,505 bytes
Read SKILL.md
# Optimizing Lazy Layouts — Keys, contentType, and animateItem()
Lazy layouts compose only what's visible, but two things still cost: re-composition of items that should have been reused (missing `key`), and per-item allocation that compounds with scroll velocity (missing `contentType`, modifier chains created inside `items { }`). Both have a one-line fix. This skill teaches Claude how to apply that fix correctly and to validate that item composables are themselves skippable. Prefetch tuning is a separate concern — see `../configuring-lazy-prefetch/SKILL.md`.
## When to use this skill
- The developer reports scroll jank, dropped frames, or stutter on a `LazyColumn`, `LazyRow`, `LazyVerticalGrid`, or `LazyHorizontalGrid`.
- Items lose scroll position, focus, or composition state on insert, remove, or reorder.
- A mixed-type feed (cards + headers + ads + carousels) feels sluggish even though each individual row is lightweight.
- `Modifier.animateItem()` was added but no animation runs on inserts or removals.
- The compiler report shows item composables as `unstable`/non-skippable, or `@TraceRecomposition` shows item composables recomposing on every scroll tick.
## When NOT to use this skill
View the complete source on GitHubgenerating-baseline-profiles
When your agent uses it
Use this skill to generate and measure Jetpack Compose Baseline Profiles end-to-end with the AGP 8.2+ Baseline Profile Generator module and the Macrobenchmark harness. Covers writing the `BaselineProfileRule` journey for cold startup plus first-scroll, generating `baseline-prof.txt`, verifying it shipped at `assets/dexopt/baseline.prof`, measuring with `MacrobenchmarkRule` under `CompilationMode.Partial(BaselineProfileMode.Require)`, and emitting accurate time-to-fully-drawn via `ReportDrawn` / `ReportDrawnWhen` / `ReportDrawnAfter` from `androidx.activity.compose`. Compose ships unbundled, so every Compose UI app benefits — cited gains around 30% faster startup and 40% smoother first-scroll. Use when the user mentions "baseline profile", "macrobenchmark", "slow cold startup", "first-scroll jank", "StartupTimingMetric", "FrameTimingMetric", "ReportDrawn", "TTFD", or preparing a release build for performance measurement.
What it loads into context
Frontmatter
300 tokensAlways available to the agent
SKILL.md
4,737 tokensWhen the skill is activated
Reference documents
25,007 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../build/configuring-r8-for-compose/SKILL.mddoc15,105 bytesSKILL.mdcore20,188 bytesSKILL.mdcore20,188 bytesSKILL.mdcore20,188 bytesSKILL.mdcore20,188 bytesreferences/macrobenchmark-harness.mddoc11,265 bytes../testing-compose-in-release-mode/SKILL.mddoc16,738 bytes../tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../../recomposition/debugging-recompositions/SKILL.mddoc17,105 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes../../stability/enforcing-stability-in-ci/SKILL.mddoc16,189 bytes
Read SKILL.md
# Generating Baseline Profiles — ship the AOT compilation hint list and prove it moved the needle
Baseline Profiles ship an AOT compilation hint list inside the APK so ART pre-compiles hot Compose code paths on install instead of relying on JIT during the first runs. Cited gains: roughly 30% faster cold startup and 40% smoother first-scroll on the journeys that were profiled. Compose ships **unbundled** from the platform, so every Compose UI app benefits — there is no version of Android where Compose is already AOT-compiled by the system image.
This skill is the measurement spine for the rest of the performance work. Profiles are generated with `BaselineProfileRule` from `androidx.benchmark:benchmark-macro-junit4` and measured with `MacrobenchmarkRule` from the same artifact. Generation and measurement are two distinct `@Test` files in a separate `:baselineprofile` module that AGP 8.2+ scaffolds via **New Module → Baseline Profile Generator**.
## When to use this skill
- Cold startup is slow and the developer wants AOT-compiled hot paths on first launch.
- First-scroll on a `LazyColumn` / `LazyVerticalGrid` is janky on real devices even after stability fixes.
- Preparing a release build and the developer needs a perf baseline before shipping.
- Verifying that a stability or strong-skipping fix actually moved cold-startup or frame-timing numbers — Macrobenchmark is the ground truth.
- The user mentions "baseline profile", "macrobenchmark", "TTFD", "time-to-fully-drawn", "StartupTimingMetric", "FrameTimingMetric", "CompilationMode", `aosp_cf_x86_64_phone-userdebug`, or "ReportDrawn".
View the complete source on GitHubtesting-compose-in-release-mode
When your agent uses it
Use this skill to ensure Jetpack Compose performance numbers reflect production reality by measuring against a release variant with R8 enabled, Live Literals disabled, and Compose Compiler reports read from the release output directory. Covers why debug builds lie (interpreted Compose runtime, JIT warmup, Live Literals constant-getters), how to set up a release-with-symbols measurement build, and how to wire Macrobenchmark, Compose Compiler reports, Layout Inspector, simpleperf, and Android Studio Profiler against it. Cited result is roughly 75 percent startup gain and 60 percent frame-render gain debug to release. Use when the developer reports "slow startup", "jank", "dropped frames", "high recomposition count", or quotes timings from `assembleDebug`, Layout Inspector, or `CompilationMode.None`. Use when reviewing a perf bug, setting up a CI perf gate, or before filing a perf regression.
What it loads into context
Frontmatter
277 tokensAlways available to the agent
SKILL.md
3,754 tokensWhen the skill is activated
Reference documents
15,630 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Why debug lies — the four mechanisms
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../build/configuring-r8-for-compose/SKILL.mddoc15,105 bytes../generating-baseline-profiles/SKILL.mddoc20,188 bytesSKILL.mdcore16,738 bytesSKILL.mdcore16,738 bytesSKILL.mdcore16,738 bytesSKILL.mdcore16,738 bytesSKILL.mdcore16,738 bytesSKILL.mdcore16,738 bytesSKILL.mdcore16,738 bytes../tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes
Read SKILL.md
# Testing Compose in Release Mode — Debug Builds Lie About Performance
Compose ships unbundled — its UI runtime is loaded from app code, runs interpreted in debug, and the Live Literals plugin turns every constant into a getter. Debug recomposition counts, debug startup numbers, and debug compiler reports are not what users experience. This skill teaches Claude how to set up a release-with-symbols build for honest measurement before any perf claim is made.
## When to use this skill
- The developer reports a perf number ("startup is 1.4s", "this composable recomposes 50 times per scroll") that came from a debug build, Layout Inspector against debug, or `CompilationMode.None`.
- The developer is about to file a perf bug, open a regression report, or post benchmark numbers in a PR.
- A CI perf gate is being designed (Macrobenchmark, baseline-profile diff, frame-timing budget).
- The developer asks "why are my benchmark numbers so much worse than what I see on Play Store?".
- Compose Compiler reports are about to be read — they MUST come from the release output directory or every conclusion is suspect.
## When NOT to use this skill
View the complete source on GitHubtracing-recompositions-at-runtime
When your agent uses it
Use this skill to instrument a Jetpack Compose composable with `@TraceRecomposition` from `skydoves/compose-stability-analyzer` so per-recomposition diffs (which state or parameter changed, what value transition) print to logcat under the `Recomposition` tag. Works in release-with-debug-symbols builds where Android Studio Layout Inspector cannot reach, and feeds the IntelliJ / Android Studio plugin's live recomposition heatmap (green under 10, yellow 10–50, red 50+). Covers the Gradle plugin setup, the `ComposeStabilityAnalyzer.setEnabled(BuildConfig.DEBUG)` runtime gate that keeps the instrumentation out of production, and the handoff to debug-time Layout Inspector and CI `stabilityCheck`. Use when the user mentions `@TraceRecomposition`, "trace recomposition", "compose-stability-analyzer", "recomposition logcat", "recomposition heatmap", "release-mode recomposition counts", or needs to confirm a stability fix in a release-like build.
What it loads into context
Frontmatter
294 tokensAlways available to the agent
SKILL.md
4,241 tokensWhen the skill is activated
Reference documents
31,186 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../generating-baseline-profiles/SKILL.mddoc20,188 bytesSKILL.mdcore18,375 bytesSKILL.mdcore18,375 bytes../../recomposition/debugging-recompositions/SKILL.mddoc17,105 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytes../../recomposition/using-strong-skipping-correctly/SKILL.mddoc21,969 bytes../../side-effects/collecting-flows-safely/SKILL.mddoc12,440 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes../../stability/enforcing-stability-in-ci/SKILL.mddoc16,189 bytes../../stability/stabilizing-compose-types/SKILL.mddoc17,505 bytes
Read SKILL.md
# 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 skill is the **release-mode complement** to `../../recomposition/debugging-recompositions/SKILL.md`. Layout Inspector is debug-only, fast to set up, and good for the first triage. `@TraceRecomposition` is the ground-truth confirmation: instrument the suspect composable, ship a release+R8 build of the dev APK, run the user journey, and read the per-recomposition log lines.
## When to use this skill
- A composable recomposes more than expected and Layout Inspector counts are inconclusive (the count differs between debug and release, or the suspect is an inline composable not covered by Layout Inspector).
- A stability or strong-skipping fix needs to be confirmed against a release-equivalent build before merging.
- A developer wants per-state-and-per-parameter change diffs printed inline rather than clicking through the Layout Inspector tree.
- A team wants to baseline a composable's recomposition count for an SLO ("PriceTicker recomposes ≤ once per price update; never per parent tick").
- The user mentions `@TraceRecomposition`, "trace recomposition", "compose-stability-analyzer", "recomposition logcat", "recomposition heatmap", or "release-mode recomposition".
View the complete source on GitHubmigrating-to-modifier-node
When your agent uses it
Use this skill to author new custom Jetpack Compose modifiers and migrate legacy ones from Modifier.composed { } to Modifier.Node + ModifierNodeElement<T>. Covers the persistent-node lifecycle (onAttach, onDetach, onReset, coroutineScope), the specialized node interfaces (DrawModifierNode, LayoutModifierNode, SemanticsModifierNode, PointerInputModifierNode, CompositionLocalConsumerModifierNode, LayoutAwareModifierNode, GlobalPositionAwareModifierNode, ObserverModifierNode, DelegatingNode, TraversableNode), why ModifierNodeElement MUST be a data class for diffing, and the manual-invalidation knobs (invalidateDraw, invalidateMeasurement, invalidatePlacement, shouldAutoInvalidate). Use when the developer mentions Modifier.composed, custom modifier, ModifierNodeElement, Modifier.Node, "rewriting our drawBehind helper", node lifecycle, or sees Modifier.composed { } in a code review.
What it loads into context
Frontmatter
264 tokensAlways available to the agent
SKILL.md
4,554 tokensWhen the skill is activated
Reference documents
9,891 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Specialized node interfaces
- Lifecycle (short form — full diagram in references)
- Mandatory rules
- Verification
- References
Files
SKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesSKILL.mdcore19,907 bytesreferences/modifier-node-anatomy.mddoc14,107 bytes../ordering-modifier-chains/SKILL.mddoc15,117 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytes
Read SKILL.md
# Migrating to Modifier.Node — Persistent Nodes Over `composed { }`
`Modifier.composed { }` allocates a fresh composable scope per modifier per composition: it cannot be skipped, cannot be hoisted, and forces the parent to run on every recomposition. `Modifier.Node` is a persistent node diffed by `ModifierNodeElement.equals()` — created once on first apply, updated in place on subsequent applies. There is **no per-recomposition allocation, no fresh composable scope, and no parent invalidation chain**, which is why Android Developers describes the system as "designed from the ground up to be far more performant" than the legacy `composed { }` factory (see `developer.android.com/develop/ui/compose/custom-modifiers`). This skill teaches Claude how to author new modifiers as `Modifier.Node` and migrate legacy `composed { }` factories.
## When to use this skill
- A custom modifier currently uses `Modifier.composed { }` (search the module for `Modifier.composed`).
- Authoring a new custom modifier from scratch — never start with `composed { }`.
- A code review surfaces a `composed { }` factory.
- The custom modifier needs a `CoroutineScope` (animation loop, debouncer), reads a `CompositionLocal`, participates in layout / drawing / pointer input, or tracks layout coordinates.
- A `@TraceRecomposition` log shows the parent composable recomposing on every frame because a `composed { }` modifier is in the chain.
## When NOT to use this skill
View the complete source on GitHubordering-modifier-chains
When your agent uses it
Use this skill to diagnose and fix Jetpack Compose Modifier ordering bugs — wrong paint region for background, wrong click area for clickable, wrong clipping for clip, wrong measurement for padding/size, surprising graphicsLayer scope. Covers the wrap-the-next-modifier mental model, the canonical pitfalls (padding vs background, clickable placement, clip before background, graphicsLayer placement), and why hoisting an entire Modifier chain via remember { Modifier.… } is rarely a real perf win because Compose already interns identical chains. Use when the developer asks "why does the click area extend past the visible button", "why is my background painted in the wrong place", "does Modifier order matter", "should I cache my Modifier chain", or reviews a diff that reorders modifiers.
What it loads into context
Frontmatter
232 tokensAlways available to the agent
SKILL.md
3,484 tokensWhen the skill is activated
Reference documents
11,537 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../lists/optimizing-lazy-layouts/SKILL.mddoc14,672 bytes../migrating-to-modifier-node/SKILL.mddoc19,907 bytesSKILL.mdcore15,117 bytesSKILL.mdcore15,117 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytes
Read SKILL.md
# Ordering Modifier Chains — Why `padding(8.dp).background(Red)` ≠ `background(Red).padding(8.dp)`
Modifier order matters because each modifier wraps the next as a function. `Modifier.padding(8.dp).background(Red)` shrinks constraints first, so the background paints INSIDE the padded region — the surrounding 8 dp margin has no red. Conversely, `Modifier.background(Red).padding(8.dp)` paints red across the parent's full bounds before insetting the content. Wrong order is the most common Compose UI bug after missing keys. This skill teaches Claude how to read a chain top-to-bottom and reorder it correctly.
## When to use this skill
- The developer asks "why does the click area extend past the visible button?", "why is my ripple bouncing on the wrong shape?", "why is the background painted in the wrong area?", or "does `Modifier` order matter?".
- A code review shows a chain like `Modifier.padding(...).clickable { }`, `Modifier.background(...).clip(...)`, or `Modifier.alpha(state.value).graphicsLayer { }`.
- A button's tap target leaks into the surrounding padding, or the corner radius is not honored on the background.
- A clip on a parent is failing to mask a child draw, or `graphicsLayer { alpha = 0.5f }` is half-applying to siblings.
- The developer is considering hoisting a `Modifier` chain via `remember { Modifier.… }` "for perf".
## When NOT to use this skill
View the complete source on GitHubavoiding-subcomposition-pitfalls
When your agent uses it
Use this skill when a Compose tree uses SubcomposeLayout, BoxWithConstraints, or Scaffold and the developer reports extra measure passes, slow first frame, or layout passes running content composition repeatedly. Covers why SubcomposeLayout composes its slots during the measure phase, why BoxWithConstraints forces a subcomposition for every new Constraints value, why nesting Scaffold or BoxWithConstraints multiplies the cost, when a custom Layout or Modifier.layout { } replaces SubcomposeLayout, and how to use SubcomposeLayoutState's slot reuse policy and precompose APIs when SubcomposeLayout is genuinely required. Use when the developer mentions BoxWithConstraints, SubcomposeLayout, Scaffold, "extra measure pass", "double measurement", "first frame slow", "subcompose", or notices that wrapping content in BoxWithConstraints regresses scroll perf inside a LazyColumn.
What it loads into context
Frontmatter
252 tokensAlways available to the agent
SKILL.md
4,256 tokensWhen the skill is activated
Reference documents
20,511 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../lists/configuring-lazy-prefetch/SKILL.mddoc15,143 bytes../../measurement/testing-compose-in-release-mode/SKILL.mddoc16,738 bytes../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytesSKILL.mdcore18,885 bytesSKILL.mdcore18,885 bytesSKILL.mdcore18,885 bytesSKILL.mdcore18,885 bytesSKILL.mdcore18,885 bytes../deferring-state-reads/SKILL.mddoc15,104 bytes../deferring-state-reads/references/three-phases.mddoc9,841 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes
Read SKILL.md
# Avoiding Subcomposition Pitfalls — Keep Composition Out of the Measure Pass
`SubcomposeLayout` runs its content's composition **during the measure pass**, not during the parent's composition pass. That trades extra layout cost for the ability to use measured constraints inside the children's composition. `BoxWithConstraints`, `material3.Scaffold`, and the lazy layouts are all built on top of it, so the cost is invisible until it nests or lands inside a hot path. This skill teaches Claude how to detect the misuse, how to replace `SubcomposeLayout` with a cheaper primitive when its power is not needed, and how to keep it efficient when it is.
## When to use this skill
- The developer wraps content in `BoxWithConstraints` purely to read `maxWidth` / `maxHeight` and pick between a few composables, and the screen feels heavy at first frame or on configuration change (rotation, IME show).
- A `BoxWithConstraints` or `Scaffold` is nested inside another `BoxWithConstraints` or `Scaffold`, multiplying subcomposition cost.
- A `BoxWithConstraints` sits inside a `LazyColumn`/`LazyRow` item and the developer reports scroll jank that did not exist before the wrap was added.
- The developer manually authors a `SubcomposeLayout` block but only uses constraints to compute final positions, never to drive child composition.
- The Layout Inspector or a Perfetto trace shows `Compose:applyChanges` or measure-phase composition counts that scale with parent constraint changes (rotation, drag-to-resize, animated container size).
- A custom `SubcomposeLayout`'s `measurePolicy` block allocates a fresh composable lambda inside `subcompose(slotId) { … }` on every measurement. AndroidX maintains an internal lint check named `ComposableLambdaInMeasurePolicy` (in `compose/lint/internal-lint-checks/`) that flags exactly this pattern on its own codebase; published APIs like `BoxWithConstraints`, `material.Scaffold`, and `material3.TabRow` suppress that check because the trade-off is fundamental to their public contract. App-side code that reproduces the pattern pays the same cost without the suppression rationale.
## When NOT to use this skillView the complete source on GitHubchoosing-derivedstateof
When your agent uses it
Use this skill to decide when Jetpack Compose derivedStateOf is the right tool and when it is pure overhead. Covers the "input frequency must exceed output frequency" rule, the mandatory remember { derivedStateOf { } } wrapper, the canonical pitfall of capturing non-state variables by initial value (and the remember(key) fix), and the snapshotFlow alternative for fire-and-forget side effects on derived values. Use when the developer mentions derivedStateOf, scroll-position-driven booleans, threshold checks, firstVisibleItemIndex, "show FAB on scroll", recomposition counts that don't drop after wrapping a value, or asks whether a computed string concatenation should use derivedStateOf.
What it loads into context
Frontmatter
219 tokensAlways available to the agent
SKILL.md
2,775 tokensWhen the skill is activated
Reference documents
6,640 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
SKILL.mdcore11,828 bytes../deferring-state-reads/SKILL.mddoc15,104 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes
Read SKILL.md
# Choosing derivedStateOf — Filter Hot Inputs into Cold Outputs
`derivedStateOf` produces a `State` whose readers only invalidate when the **derived result** changes, even if the input states change far more often. Use it when input frequency exceeds output frequency. Use it for any other shape and it is pure overhead — an extra snapshot subscription with no filtering benefit. This skill teaches Claude when to reach for it, when to refuse, and how to avoid the canonical capture-by-initial-value pitfall.
## When to use this skill
- The developer asks whether a value should be wrapped in `derivedStateOf`.
- A scroll position drives a boolean (`firstVisibleItemIndex == 0`, `scrollState.value > threshold`, "show FAB on scroll").
- A high-frequency input (drag delta, animation progress) feeds a low-frequency output (boolean threshold, bucketed integer).
- A `derivedStateOf` exists in the code but recomposition counts didn't drop, or the value never updates after the first composition (the capture-by-initial-value bug).
- The developer wants a one-shot side effect (analytics, logging, snackbar) when a derived value flips.
## When NOT to use this skill
View the complete source on GitHubdebugging-recompositions
When your agent uses it
Use this skill to find which Jetpack Compose composables are recomposing and why, using Android Studio Layout Inspector recomposition counts and skip counts, the per-parameter Argument Change Reasons (Changed / Unchanged / Uncertain / Static / Unknown) introduced in Android Studio Hedgehog and later, and runtime `@TraceRecomposition` from `compose-stability-analyzer` for production-like measurement. Walks through enabling counts, mapping each Argument Change Reason to a fix, and confirming the result in a release build. Use when the developer says "this should be skipping but isn't", "I want to see recomposition counts", asks what "Uncertain" or "Unknown" means in the inspector, or needs to confirm a stability or strong-skipping fix actually worked end-to-end.
What it loads into context
Frontmatter
253 tokensAlways available to the agent
SKILL.md
3,825 tokensWhen the skill is activated
Reference documents
27,712 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../measurement/testing-compose-in-release-mode/SKILL.mddoc16,738 bytes../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytesSKILL.mdcore17,105 bytesSKILL.mdcore17,105 bytesSKILL.mdcore17,105 bytes../deferring-state-reads/SKILL.mddoc15,104 bytes../using-strong-skipping-correctly/SKILL.mddoc21,969 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes../../stability/enforcing-stability-in-ci/SKILL.mddoc16,189 bytes../../stability/stabilizing-compose-types/SKILL.mddoc17,505 bytes
Read SKILL.md
# Debugging Recompositions — make the invisible visible, then map status to action
Recomposition is invisible by default. A composable that re-runs sixty times a second to redraw an animation looks identical in source to one that should re-run zero times when its parent ticks. Three layers of instrumentation make it visible: **Layout Inspector** recomposition counts and skip counts (Android Studio, debug build), Layout Inspector **Argument Change Reasons** (Hedgehog and later, per-parameter Changed / Unchanged / Uncertain / Static / Unknown classifications), and runtime **`@TraceRecomposition`** from `compose-stability-analyzer` for release / R8 / real-device measurement.
This skill is the diagnostic layer. It does not fix recompositions; it tells the developer which composable is recomposing and which parameter is responsible. Once the param is named, the fix lives in a sibling skill — stability for unstable types, strong skipping for lambda capture, or phase deferral for state reads in the wrong phase.
## When to use this skill
- The developer says "this should be skipping but it's not" or "this re-runs every time the parent ticks".
- The developer wants to count recompositions of a specific composable to confirm a fix worked.
- The developer asks what "Uncertain", "Unknown", "Static", or "Unchanged" means in the Layout Inspector recomposition reasons panel.
- A PR claims a stability or strong-skipping fix; the reviewer needs to confirm the recomposition actually went away in release.
- The user mentions "recomposition count", "Layout Inspector", "Argument Change Reasons", "Hedgehog", "@TraceRecomposition", or "why is this recomposing".
View the complete source on GitHubdeferring-state-reads
When your agent uses it
Use this skill to push frequently-changing Jetpack Compose state reads (scroll position, animation values, drag offsets) out of the Composition phase and down into Layout or Draw using lambda-based modifiers like Modifier.offset { }, Modifier.layout { }, Modifier.graphicsLayer { }, Modifier.drawBehind { }, and Modifier.drawWithCache { }. Covers the three-phase model (Composition, Layout, Draw), why a state read at phase N invalidates phase N and every phase below, the modifier-phase cheat sheet, and lambda providers (() -> T) for hoisting hot values across composables. Use when the developer mentions every-frame work, scroll jank, animation jank, dropped frames, animated alpha or offset, "the whole subtree recomposes on scroll", Modifier.alpha(state.value), Modifier.offset(x.dp), or graphicsLayer.
What it loads into context
Frontmatter
244 tokensAlways available to the agent
SKILL.md
3,505 tokensWhen the skill is activated
Reference documents
12,052 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Three phases reference
- Mandatory rules
- Verification
- References
Files
../choosing-derivedstateof/SKILL.mddoc11,828 bytes../debugging-recompositions/SKILL.mddoc17,105 bytesSKILL.mdcore15,104 bytesSKILL.mdcore15,104 bytesreferences/three-phases.mddoc9,841 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes
Read SKILL.md
# Deferring State Reads — Move Hot Reads from Composition to Draw
Compose runs three phases per frame — **Composition → Layout → Draw**. A state read at phase N invalidates phase N and every phase below it. The single biggest perf win in any animation- or scroll-driven UI is moving a state read from Composition down to Layout or Draw via a lambda-based modifier. This skill teaches Claude how to spot the wrong-phase read and migrate it.
## When to use this skill
- An animation triggers full subtree recomposition on every frame (`Modifier.alpha(progress.value)`, `Modifier.offset(x.dp)`, `Modifier.padding(state.dp)` — `padding` has no lambda overload, so use `Modifier.layout { ... }` or `Modifier.offset { IntOffset(...) }` instead when the inset is animated).
- A scroll position is read directly in a composable body (`val y = scrollState.value`) and the parent recomposes on every pixel of scroll.
- The developer says "every frame", "scroll jank", "animation jank", "dropped frames", or reports the whole screen recomposing on drag.
- A `@TraceRecomposition` log shows the parent's recomposition counter incrementing once per animation tick.
- The developer is passing a hot value (animation progress, scroll offset, drag delta) as a `Float` parameter across composables.
## When NOT to use this skill
View the complete source on GitHubusing-strong-skipping-correctly
When your agent uses it
Use this skill to reason about Jetpack Compose's Strong Skipping Mode — the default since Kotlin 2.0.20 — including what it changes about skippability, when it does and does not auto-`remember` lambdas, and which escape hatches (`@DontMemoize`, `@NonSkippableComposable`, `@NonRestartableComposable`, `@ReadOnlyComposable`) apply where. Covers verifying the mode is active, auditing lambda capture sites, and the gaps where strong skipping does not memoize (`LazyListScope.items {}`, `Modifier.pointerInput {}`, object expressions, non-@Composable scopes). Use when the developer asks "do I still need @Stable?", "does this composable skip?", "why does this still recompose despite strong skipping", "when do I need @DontMemoize or @NonSkippableComposable?", is migrating from older Compose, or sees auto-remembered lambdas in compiler output.
What it loads into context
Frontmatter
298 tokensAlways available to the agent
SKILL.md
5,202 tokensWhen the skill is activated
Reference documents
25,532 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../measurement/testing-compose-in-release-mode/SKILL.mddoc16,738 bytes../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../debugging-recompositions/SKILL.mddoc17,105 bytesSKILL.mdcore21,969 bytesSKILL.mdcore21,969 bytesSKILL.mdcore21,969 bytesreferences/escape-hatches.mddoc12,420 bytes../../stability/diagnosing-compose-stability/SKILL.mddoc13,363 bytes../../stability/enforcing-stability-in-ci/SKILL.mddoc16,189 bytes../../stability/understanding-stability-inference/SKILL.mddoc17,196 bytes
Read SKILL.md
# Using Strong Skipping Correctly — make every restartable composable skippable, intentionally
Strong Skipping Mode is the Compose compiler behavior that became the default with the Kotlin Compose compiler plugin shipped in **Kotlin 2.0.20**. It changes two things at once: every restartable composable becomes skippable regardless of param stability (unstable params are compared with `===`, stable params with `equals`), and every **capturing** lambda literal written inside a `@Composable` function is automatically wrapped in `remember(captures) { ... }`. Both behaviors are on by default; neither requires opt-in flags on Kotlin 2.0.20+. Lambdas with no captures are already compiler-emitted singletons and are NOT wrapped — only capturing lambdas need (and get) the auto-`remember` treatment.
That sounds like "stability no longer matters", and for a lot of UI code it almost is. But the change leaves three sharp edges: stable types still need correct `equals` semantics so the `===` fallback does not invalidate every recompose, lambdas in non-@Composable scopes (`LazyListScope.items { }`, `Modifier.pointerInput { }`, plain object expressions) are not auto-memoized, and a few intentional cases need explicit opt-out via `@DontMemoize` or `@NonSkippableComposable`. This skill walks the verification, audit, and escape-hatch decisions for working in a strong-skipping world.
## When to use this skill
- The developer asks "do I still need `@Stable`?" or "does this composable skip now?".
- A composable still recomposes on every parent tick even though the developer "thought strong skipping fixed that".
- A lambda allocation question comes up — "is this `onClick = { vm.add(it) }` allocating per recompose?".
- Migrating a project from Kotlin 1.9.x / Compose Compiler 1.5.x to Kotlin 2.0.20+ and reconciling reports that now show `restartable skippable` everywhere.
- The developer encounters `@DontMemoize` or `@NonSkippableComposable` in code or compiler output and asks what they do.
- The user mentions "strong skipping", "auto-remember", "@DontMemoize", "@NonSkippableComposable", or "skippable everywhere".View the complete source on GitHubcollecting-flows-safely
When your agent uses it
Use this skill to migrate Compose UI from `collectAsState()` to `collectAsStateWithLifecycle()`, hoist `Flow<T>` parameters out of composables, and apply `.conflate()` / `.distinctUntilChanged()` / `snapshotFlow` so background CPU and battery stop draining and chatty flows stop invalidating the UI per emission. Covers ViewModel `StateFlow`/`SharedFlow` consumers, sensor and location streams, and the "Flow as composable parameter" antipattern. Trigger when the user mentions `collectAsState`, `collectAsStateWithLifecycle`, lifecycle-aware flow collection, `Lifecycle.State.STARTED`, background battery drain from a Compose screen, `snapshotFlow`, `Flow` parameter on a composable, conflate, or distinctUntilChanged.
What it loads into context
Frontmatter
241 tokensAlways available to the agent
SKILL.md
2,907 tokensWhen the skill is activated
Reference documents
10,831 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytesSKILL.mdcore12,440 bytesSKILL.mdcore12,440 bytes../using-efficient-effects/SKILL.mddoc12,994 bytes
Read SKILL.md
# Collecting Flows Safely — keep upstream work tied to the UI lifecycle
`collectAsState()` keeps collecting whenever the composable is in composition, including while the app is backgrounded — that wastes CPU and battery. `collectAsStateWithLifecycle()` ties collection to a `Lifecycle.State` (default `STARTED`) so backgrounding pauses upstream work. For chatty flows, pair the consumer with `.conflate()` and `.distinctUntilChanged()` so Compose only sees meaningful changes. Skydoves hot take #4: a `Flow<T>` parameter on a composable is unstable and blocks skipping for the whole composable — collect at the caller and pass the resolved value.
## When to use this skill
- A `ViewModel` or `Repository` exposes `StateFlow<T>`, `SharedFlow<T>`, or a cold `Flow<T>` to a Compose screen.
- The user reports background battery drain, "the screen keeps working when the app is in the recents tray", or wakelock noise on logcat.
- A composable consumes sensor data, location, GPS, websocket, or animation frames coming from outside Compose.
- A composable's signature is `fun MyScreen(state: Flow<State>)` (Flow-as-parameter antipattern).
- The user asks about `collectAsState` vs `collectAsStateWithLifecycle`, or about `Lifecycle.State.STARTED` / `RESUMED` semantics.
- The user wants Compose state to drive a non-Compose subscriber (analytics on visible item index, etc.) — that is the State→Flow direction served by `snapshotFlow`.
## When NOT to use this skillView the complete source on GitHubusing-efficient-effects
When your agent uses it
Use this skill to choose the cheapest correct effect API in Jetpack Compose — `LaunchedEffect`, `DisposableEffect`, `SideEffect`, `rememberUpdatedState`, and skydoves/compose-effects' `RememberedEffect` and `ViewModelStoreScope`. Covers stale-callback bugs in long-lived `LaunchedEffect`, setup/teardown for non-coroutine subscribers, avoiding a coroutine scope just to react to a key change, and per-row ViewModels in a `LazyColumn`. Trigger when the user mentions LaunchedEffect, DisposableEffect, RememberedEffect, SideEffect, rememberUpdatedState, ViewModelStoreScope, effect restarts unexpectedly, leaked listener, or per-item ViewModel.
What it loads into context
Frontmatter
227 tokensAlways available to the agent
SKILL.md
3,085 tokensWhen the skill is activated
Reference documents
9,923 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow — decision tree
- Patterns
- Mandatory rules
- Verification
- References
Files
../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../../recomposition/choosing-derivedstateof/SKILL.mddoc11,828 bytes../collecting-flows-safely/SKILL.mddoc12,440 bytesSKILL.mdcore12,994 bytesSKILL.mdcore12,994 bytes
Read SKILL.md
# Using Efficient Effects — pick the cheapest correct effect API
Compose ships three effect APIs by default: `LaunchedEffect` (coroutine, restarts on key change), `DisposableEffect` (setup/teardown with a cleanup block), and `SideEffect` (runs on every successful composition). The `skydoves/compose-effects` library adds `RememberedEffect` — a non-coroutine analog of `LaunchedEffect`. Picking the wrong API wastes a coroutine scope, leaks a listener, or silently drops the latest version of a callback. This skill is the decision tree.
## When to use this skill
- The user asks which effect API to choose, or why a `LaunchedEffect` restarts unexpectedly.
- A long-lived `LaunchedEffect` calls a stale version of a callback that the parent has updated.
- A non-Compose subscriber (listener, observer, broadcast receiver, GL surface) needs setup at composition entry and teardown on key change or exit.
- A composable just needs to react to a key change synchronously and a coroutine scope is overkill.
- A `LazyColumn` row needs its own `ViewModel` instance (e.g. one VM per chat row, one VM per feed card) and the parent VM store would leak state across rows.
- The user is debugging unexpected effect restarts, leaked listeners, or per-frame allocations from `SideEffect`.
## When NOT to use this skillView the complete source on GitHubdiagnosing-compose-stability
When your agent uses it
Use this skill to diagnose Jetpack Compose stability problems by enabling and reading the Compose Compiler Reports (classes.txt, composables.txt, composables.csv, module.json). Covers the Gradle DSL, the release-only build requirement, and how to interpret per-class and per-composable stability annotations including stable, unstable, runtime, restartable, skippable, readonly, @static, and @dynamic markers. Use when the developer asks "why does this recompose", reports jank, dropped frames, slow scroll, high recomposition count, suspects an unstable parameter, mentions Compose Compiler Reports, classes.txt, composables.txt, module.json, or wants to know which composables are non-skippable. The fix lives in a sibling skill — this one only diagnoses.
What it loads into context
Frontmatter
244 tokensAlways available to the agent
SKILL.md
3,135 tokensWhen the skill is activated
Reference documents
22,193 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../../recomposition/choosing-derivedstateof/SKILL.mddoc11,828 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytesSKILL.mdcore13,363 bytesSKILL.mdcore13,363 bytesSKILL.mdcore13,363 bytesSKILL.mdcore13,363 bytesreferences/reading-classes-txt.mddoc7,378 bytesreferences/reading-composables-txt.mddoc8,912 bytes../enforcing-stability-in-ci/SKILL.mddoc16,189 bytes../stabilizing-compose-types/SKILL.mddoc17,505 bytes
Read SKILL.md
# Diagnosing Compose Stability — Read the Compiler Reports First
Compose skips recomposition by comparing parameters. When a parameter is unstable, skipping is disabled — this skill tells Claude how to find out which parameters are unstable and why. The output is a prioritized list of unstable types and non-skippable composables; the fix lives in `../stabilizing-compose-types/SKILL.md`.
## When to use this skill
- The developer asks "why does this recompose?", reports jank, dropped frames, or scroll stutter.
- A `@TraceRecomposition` log shows recomposition counts that exceed the number of meaningful state changes.
- The developer mentions Compose Compiler Reports, `classes.txt`, `composables.txt`, `composables.csv`, `module.json`, or "non-skippable".
- The developer asks how to find unstable parameters, or whether `List<Foo>`, `LocalDateTime`, or a domain type is stable.
- A reviewer asks for evidence that a perf-sensitive composable is skippable.
## When NOT to use this skill
View the complete source on GitHubenforcing-stability-in-ci
When your agent uses it
Use this skill to set up a CI gate that fails the build when Compose stability silently regresses, using the `skydoves/compose-stability-analyzer` Gradle plugin (primary) or the `j-roskopf/ComposeGuard` plugin (alternative for non-Android multiplatform). Covers applying `com.github.skydoves.compose.stability.analyzer`, configuring the `composeStabilityAnalyzer { stabilityValidation { ... } }` DSL, generating a `.stability` baseline with `:stabilityDump`, committing it to version control, and wiring `:stabilityCheck` into a GitHub Actions or other CI job. Use when the team wants a stability SLO, when an unstable parameter slipped into a shared data class and went unnoticed until jank was reported, when migrating a large app to strong skipping, or when the user mentions stabilityCheck, stabilityDump, baseline drift, ComposeGuard, or "fail the build on stability regression".
What it loads into context
Frontmatter
288 tokensAlways available to the agent
SKILL.md
3,733 tokensWhen the skill is activated
Reference documents
15,534 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../diagnosing-compose-stability/SKILL.mddoc13,363 bytesSKILL.mdcore16,189 bytesSKILL.mdcore16,189 bytesSKILL.mdcore16,189 bytesSKILL.mdcore16,189 bytes../stabilizing-compose-types/SKILL.mddoc17,505 bytes../understanding-stability-inference/SKILL.mddoc17,196 bytes
Read SKILL.md
# Enforcing Stability in CI — make stability regressions fail the build
Stability is a property that silently regresses. A new `var` in a shared data class can disable skipping across dozens of screens, and nothing in the build output complains. Treat stability like binary compatibility: commit a baseline, diff it on every PR, fail the build when the diff goes the wrong way. This skill sets that gate up using the `skydoves/compose-stability-analyzer` Gradle plugin and points to `j-roskopf/ComposeGuard` for non-Android multiplatform projects.
## When to use this skill
- The team wants a stability service-level objective enforced in CI, not a manual check.
- A PR introduced an unstable parameter and nobody noticed until field reports of dropped frames came in.
- Migrating a large app to strong skipping and need a regression net while refactoring.
- Standardizing stability practice across a monorepo with many feature modules.
- The user mentions `stabilityCheck`, `stabilityDump`, baseline drift, ComposeGuard, or "fail the build on stability regression".
## When NOT to use this skill
View the complete source on GitHubstabilizing-compose-types
When your agent uses it
Use this skill to fix unstable Jetpack Compose types once a stability diagnosis has identified them. Covers the three-tier strategy — make the type truly stable with val plus immutable fields, mark with @Immutable or @Stable when the source is owned, and use stabilityConfigurationFiles for third-party or Java types. Explains the compiler-level difference between @Immutable and @Stable (static expression promotion), kotlinx.collections.immutable for List/Set/Map parameters, and the StableHolder wrapper escape hatch. Use when the developer asks how to stabilize a User class, a List parameter, java.time.LocalDateTime, a Flow parameter, or when the compiler report shows unstable params and the developer wants the fix. The diagnostic step lives in a sibling skill.
What it loads into context
Frontmatter
231 tokensAlways available to the agent
SKILL.md
4,142 tokensWhen the skill is activated
Reference documents
14,203 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow — decision tree
- Patterns
- Mandatory rules
- Verification
- References
Files
../../recomposition/choosing-derivedstateof/SKILL.mddoc11,828 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytes../../side-effects/collecting-flows-safely/SKILL.mddoc12,440 bytes../diagnosing-compose-stability/SKILL.mddoc13,363 bytesSKILL.mdcore17,505 bytesSKILL.mdcore17,505 bytesSKILL.mdcore17,505 bytesSKILL.mdcore17,505 bytesSKILL.mdcore17,505 bytesreferences/stability-config-syntax.mddoc8,151 bytes
Read SKILL.md
# Stabilizing Compose Types — Three Tiers, In Order
Once a diagnosis (see `../diagnosing-compose-stability/SKILL.md`) has named the unstable types, this skill walks Claude through fixing them. The strategy is a strict three-tier waterfall: (1) make the type **truly stable** by structural rewrite (`val` + immutable fields) — no annotation needed; (2) annotate with `@Immutable` or `@Stable` when the source is owned and the contract is honored; (3) use `stabilityConfigurationFile` for third-party or Java types. **DO NOT** invert this order — annotations are a contract, not a magic spell.
## When to use this skill
- The compiler report (composables.txt / classes.txt) shows one or more `unstable` parameters.
- The developer asks how to stabilize a domain class, a `List<Foo>` parameter, `java.time.LocalDateTime`, or a third-party type.
- The developer mentions `@Immutable`, `@Stable`, `compose-stable-marker`, `compose-runtime-annotation`, `kotlinx.collections.immutable`, `stabilityConfigurationFiles`, or `stability_config.conf`.
- A `@TraceRecomposition` log shows recomposition happening because an argument is allocated fresh every recomposition.
## When NOT to use this skill
- The unstable types are not yet identified — run `../diagnosing-compose-stability/SKILL.md` first.View the complete source on GitHubunderstanding-stability-inference
When your agent uses it
Use this skill to explain why the Compose compiler classified a class or composable parameter as stable, runtime, unknown, or unstable. Covers the 12-phase inference algorithm, the five compiler-level stability types (Certain / Runtime / Unknown / Parameter / Combined), the generic bitmask encoding (Pair=0b11, ImmutableList=0b1), the Known Stable Constructs registry, and the runtime `$stable: Int` field generated by `@StabilityInferred`. Use when the developer asks "why is X classified as Y?", when a stability report shows a surprising `runtime stable`, `unknown`, or `unstable` verdict, when generics, inheritance, cycles, interfaces, or cross-module classes are involved, or when the user mentions `$stable`, `@StabilityInferred`, separate compilation, or "the compiler thinks my class is unstable but it looks fine".
What it loads into context
Frontmatter
280 tokensAlways available to the agent
SKILL.md
4,016 tokensWhen the skill is activated
Reference documents
15,908 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow — diagnostic question and answer tree
- Patterns
- Five compiler-level stability types
- Bitmask encoding (preview)
- Mandatory rules
- Verification
- References
Files
../diagnosing-compose-stability/SKILL.mddoc13,363 bytes../enforcing-stability-in-ci/SKILL.mddoc16,189 bytes../stabilizing-compose-types/SKILL.mddoc17,505 bytesSKILL.mdcore17,196 bytesSKILL.mdcore17,196 bytesSKILL.mdcore17,196 bytesreferences/bitmask-encoding.mddoc9,349 bytesreferences/twelve-phase-algorithm.mddoc10,984 bytes
Read SKILL.md
# Understanding Stability Inference — read the compiler's mind
Stability is decided by a 12-phase algorithm baked into the Compose compiler. This skill teaches Claude how the algorithm walks a type so it can explain *why* a report says what it says, and predict classifications before the report is even generated. Pair this with `../diagnosing-compose-stability/SKILL.md` (which generates the report) and `../stabilizing-compose-types/SKILL.md` (which fixes obvious unstable types). Reach for this skill when the simpler skills produce a verdict that surprises the developer.
## When to use this skill
- The developer asks "why is `Foo` classified as `runtime stable` and not `stable`?"
- A report shows `runtime` or `unknown` for a class that "looks fine".
- Generics involved: `Box<T>`, `Wrapper<A, B>`, `Pair<String, Int>`, `ImmutableList<User>`.
- The class lives in another module and ships as a `.class`/`.kotlin_metadata` artifact.
- The developer asks about the `$stable: Int` field, `@StabilityInferred`, or cross-module classification.
- A self-referential type (`class Node(val children: List<Node>)`) is unstable for non-obvious reasons.
- A Java type, an interface, or an abstract base appears in a parameter list and surprises the developer.
View the complete source on GitHubusing-stability-analyzer-ide-plugin
When your agent uses it
Use this skill to install and operate the `skydoves/compose-stability-analyzer` IntelliJ / Android Studio plugin so the developer sees Compose stability feedback live in the editor instead of waiting for a Gradle build. Covers installing the plugin from disk, configuring the `Settings → Tools → Compose Stability Analyzer` panel, reading the four gutter colors (green stable, red unstable, yellow runtime, gray no-params), the per-parameter hover documentation, the inline parameter hint badges, and the `UnstableComposable` weak-warning inspection with its `@Suppress("NonSkippableComposable")` and `@Suppress("ParamsComparedByRef")` quick fixes. Use when the user mentions gutter icons, inline hints, the stability inspection, the IDEA plugin, real-time stability feedback while editing, or asks why a composable is flagged as non-skippable in the editor.
What it loads into context
Frontmatter
276 tokensAlways available to the agent
SKILL.md
4,008 tokensWhen the skill is activated
Reference documents
23,249 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow
- Patterns
- Mandatory rules
- Verification
- References
Files
../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../diagnosing-compose-stability/SKILL.mddoc13,363 bytes../enforcing-stability-in-ci/SKILL.mddoc16,189 bytes../stabilizing-compose-types/SKILL.mddoc17,505 bytes../understanding-stability-inference/SKILL.mddoc17,196 bytesSKILL.mdcore17,253 bytesSKILL.mdcore17,253 bytesSKILL.mdcore17,253 bytesSKILL.mdcore17,253 bytes../visualizing-recomposition-cascades/SKILL.mddoc17,265 bytes
Read SKILL.md
# Using the Stability Analyzer IDE Plugin — live in-editor stability feedback
The Compose Compiler reports tell the developer about stability after a build completes. The `skydoves/compose-stability-analyzer` IntelliJ plugin tells them while they edit. Gutter icons mark every `@Composable` with a color, hover docs render the per-parameter table with reasons, inline hints render colored badges next to each parameter type, and the `UnstableComposable` weak-warning inspection surfaces actionable problems with quick fixes.
The plugin uses the Kotlin K2 Analysis API to evaluate the same stability rules that drive `../understanding-stability-inference/SKILL.md`, so editor feedback agrees with what `../diagnosing-compose-stability/SKILL.md` would later show in the compiler reports. This shortens the loop from "ship → build → read reports" to "type → see the gutter".
## When to use this skill
- The developer wants real-time stability feedback while editing a Composable file.
- A reviewer is reading a PR locally and wants the inline signal next to each composable.
- A new joiner wants to see at a glance which composables in the file are non-skippable.
- The user asks why the editor flagged a function with a weak warning called `UnstableComposable`.
- The user mentions gutter icons, inline hints, the stability inspection, the IDEA plugin, the K2 Analysis API for Compose, or the `Compose Stability Analyzer` tool window.
View the complete source on GitHubvisualizing-recomposition-cascades
When your agent uses it
Use this skill to drive the active investigation features of the `skydoves/compose-stability-analyzer` IntelliJ / Android Studio plugin: the static Recomposition Cascade visualizer that walks the call graph from a root `@Composable`, and the live Recomposition Heatmap that streams `D/Recomposition` events from a connected device's logcat into block inlays above each instrumented composable. Covers the `Compose Stability Analyzer` tool window's three tabs (Explorer, Cascade, Heatmap), the cascade analyzer's static PSI walk with depth cap and cycle detection, the ADB logcat command the heatmap consumes, and the toggle/clear actions. Use when the user asks "what gets dragged in if I change this composable", "how many times did this recompose during that scroll", "what is the blast radius of this state change", or mentions the cascade tab, the heatmap tab, the recomposition inlays, or `Toggle Recomposition Heatmap`.
What it loads into context
Frontmatter
299 tokensAlways available to the agent
SKILL.md
3,982 tokensWhen the skill is activated
Reference documents
32,207 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- When NOT to use this skill
- Prerequisites
- Workflow A — Cascade visualizer
- Workflow B — Live Heatmap
- Tool window structure
- Patterns
- Mandatory rules
- Verification
- References
Files
../../measurement/generating-baseline-profiles/SKILL.mddoc20,188 bytes../../measurement/tracing-recompositions-at-runtime/SKILL.mddoc18,375 bytes../../recomposition/debugging-recompositions/SKILL.mddoc17,105 bytes../../recomposition/deferring-state-reads/SKILL.mddoc15,104 bytes../enforcing-stability-in-ci/SKILL.mddoc16,189 bytes../stabilizing-compose-types/SKILL.mddoc17,505 bytes../understanding-stability-inference/SKILL.mddoc17,196 bytes../using-stability-analyzer-ide-plugin/SKILL.mddoc17,253 bytesSKILL.mdcore17,265 bytesSKILL.mdcore17,265 bytesSKILL.mdcore17,265 bytesSKILL.mdcore17,265 bytesSKILL.mdcore17,265 bytesSKILL.mdcore17,265 bytesSKILL.mdcore17,265 bytesSKILL.mdcore17,265 bytes
Read SKILL.md
# Visualizing Recomposition Cascades — static blast radius and live heatmap inside the IDE
Passive gutter icons answer "is this composable skippable" (covered by `../using-stability-analyzer-ide-plugin/SKILL.md`). The active investigation tools answer two harder questions. The Cascade visualizer walks the static call graph from a root `@Composable` and shows what else might recompose if the root recomposes. The Live Heatmap subscribes to the device's logcat and renders the actual recomposition counts as block inlays above each instrumented composable in the editor. Together they close the loop between static analysis and runtime evidence.
Both features live inside the same IntelliJ plugin and surface through the right-anchored **Compose Stability Analyzer** tool window, which has three tabs: **Explorer**, **Cascade**, and **Heatmap**.
## When to use this skill
- The developer asks "what gets dragged in if I change this composable" — use the Cascade tab.
- The developer asks "how many times did this recompose during that scroll" or "which composable is hot during this animation" — use the Heatmap tab.
- Triaging a recomposition spike surfaced by `../../recomposition/debugging-recompositions/SKILL.md` and needing the call-site context.
- Preparing a refactor and wanting the blast radius before touching a shared composable.
- The user mentions the Cascade tab, the Heatmap tab, recomposition inlays, **Analyze Recomposition Cascade**, **Toggle Recomposition Heatmap**, or **Clear Recomposition Data**.
View the complete source on GitHubSkills included
- auditing-compose-performance
- configuring-r8-for-compose
- iterating-with-ai-and-mcp
- preserving-state-across-reloads
- setting-up-compose-hotswan
- understanding-hot-reload-limits
- configuring-lazy-prefetch
- optimizing-lazy-layouts
- generating-baseline-profiles
- testing-compose-in-release-mode
- tracing-recompositions-at-runtime
- migrating-to-modifier-node
- ordering-modifier-chains
- avoiding-subcomposition-pitfalls
- choosing-derivedstateof
- debugging-recompositions
- deferring-state-reads
- using-strong-skipping-correctly
- collecting-flows-safely
- using-efficient-effects
- diagnosing-compose-stability
- enforcing-stability-in-ci
- stabilizing-compose-types
- understanding-stability-inference
- using-stability-analyzer-ide-plugin
- visualizing-recomposition-cascades
Repository facts
- License
- Apache-2.0
- Created
- Apr 29, 2026
- Last pushed
- Jun 16, 2026
- Forks
- 20
- Open issues
- 0
- Project activity
- Slowing
Before you install
Instructions onlyAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 87 notes
build/configuring-r8-for-compose/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedbuild/configuring-r8-for-compose/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedbuild/configuring-r8-for-compose/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhot-reload/iterating-with-ai-and-mcp/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhot-reload/iterating-with-ai-and-mcp/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhot-reload/iterating-with-ai-and-mcp/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhot-reload/setting-up-compose-hotswan/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhot-reload/setting-up-compose-hotswan/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhot-reload/setting-up-compose-hotswan/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhot-reload/setting-up-compose-hotswan/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/generating-baseline-profiles/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/generating-baseline-profiles/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/generating-baseline-profiles/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/testing-compose-in-release-mode/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/testing-compose-in-release-mode/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/testing-compose-in-release-mode/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/testing-compose-in-release-mode/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/testing-compose-in-release-mode/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/testing-compose-in-release-mode/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedmeasurement/tracing-recompositions-at-runtime/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 1,292 network referencesin 33 files: stability/diagnosing-compose-stability/SKILL.md:199 recomposition/deferring-state-reads/SKILL.md:245 stability/stabilizing-compose-types/SKILL.md:327 and 30 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- No access to secrets
- No requests to vote in Hot
Show all 1,292 signals by file
audit/auditing-compose-performance/SKILL.md
- Network accessline 286
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 287
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 288
- Android Developers — Phases & perf: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 289
- Android Developers — Baseline Profiles: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 290
- Ben Trengrove — Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 291
- Skydoves — "6 Jetpack Compose Guidelines to Optimize Your App Performance": https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 292
- Skydoves — "Optimize App Performance by Mastering Stability": https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 293
- Skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 294
- Chris Banes — Composable metrics: https://chrisbanes.me/posts/composable-metrics/
build/configuring-r8-for-compose/SKILL.md
- Network accessline 247
- Android Developers — R8 keep rules overview: https://developer.android.com/topic/performance/app-optimization/keep-rules-overview - Network accessline 247
- Android Developers — R8 keep rules overview: https://developer.android.com/topic/performance/app-optimization/keep-rules-overview - Network accessline 247
- Android Developers — R8 keep rules overview: https://developer.android.com/topic/performance/app-optimization/keep-rules-overview - Network accessline 247
- Android Developers — R8 keep rules overview: https://developer.android.com/topic/performance/app-optimization/keep-rules-overview - Network accessline 248
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 248
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 248
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 248
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 249
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 249
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 249
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 249
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 250
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 251
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 251
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 251
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 251
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 252
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 252
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 252
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 252
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 253
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 253
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 253
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 253
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 254
- skydoves — Baseline Profiles with GetStream: https://getstream.io/blog/android-baseline-profile/ - Network accessline 254
- skydoves — Baseline Profiles with GetStream: https://getstream.io/blog/android-baseline-profile/ - Network accessline 254
- skydoves — Baseline Profiles with GetStream: https://getstream.io/blog/android-baseline-profile/ - Network accessline 254
- skydoves — Baseline Profiles with GetStream: https://getstream.io/blog/android-baseline-profile/
hot-reload/iterating-with-ai-and-mcp/SKILL.md
- Network accessline 182
- HotSwan MCP server docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/mcp-server`) - Network accessline 182
- HotSwan MCP server docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/mcp-server`) - Network accessline 182
- HotSwan MCP server docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/mcp-server`) - Network accessline 182
- HotSwan MCP server docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/mcp-server`) - Network accessline 183
- HotSwan agent skill examples: same repo, `/docs/agent-skill` - HotSwan snapshot docs: same repo, `/docs/snapshot` - HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 183
- HotSwan agent skill examples: same repo, `/docs/agent-skill` - HotSwan snapshot docs: same repo, `/docs/snapshot` - HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 183
- HotSwan agent skill examples: same repo, `/docs/agent-skill` - HotSwan snapshot docs: same repo, `/docs/snapshot` - HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 183
- HotSwan agent skill examples: same repo, `/docs/agent-skill` - HotSwan snapshot docs: same repo, `/docs/snapshot` - HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 184
- HotSwan snapshot docs: same repo, `/docs/snapshot` - HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Model Context Protocol open standard: https://modelcontextprotocol.io - Network accessline 184
- HotSwan snapshot docs: same repo, `/docs/snapshot` - HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Model Context Protocol open standard: https://modelcontextprotocol.io - Network accessline 184
- HotSwan snapshot docs: same repo, `/docs/snapshot` - HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Model Context Protocol open standard: https://modelcontextprotocol.io - Network accessline 184
- HotSwan snapshot docs: same repo, `/docs/snapshot` - HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Model Context Protocol open standard: https://modelcontextprotocol.io - Network accessline 185
- HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 185
- HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 185
- HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 185
- HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 186
- Model Context Protocol open standard: https://modelcontextprotocol.io - Network accessline 186
- Model Context Protocol open standard: https://modelcontextprotocol.io - Network accessline 186
- Model Context Protocol open standard: https://modelcontextprotocol.io - Network accessline 186
- Model Context Protocol open standard: https://modelcontextprotocol.io
hot-reload/preserving-state-across-reloads/SKILL.md
- Network accessline 188
- HotSwan state-preservation docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/state-preservation`) - Network accessline 188
- HotSwan state-preservation docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/state-preservation`) - Network accessline 188
- HotSwan state-preservation docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/state-preservation`) - Network accessline 189
- HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 189
- HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 189
- HotSwan JetBrains plugin listing: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 190
- Android Developers, saving UI state with `rememberSaveable`: https://developer.android.com/develop/ui/compose/state-saving - Network accessline 190
- Android Developers, saving UI state with `rememberSaveable`: https://developer.android.com/develop/ui/compose/state-saving - Network accessline 190
- Android Developers, saving UI state with `rememberSaveable`: https://developer.android.com/develop/ui/compose/state-saving - Network accessline 191
- Android Developers, `ViewModel` overview: https://developer.android.com/topic/libraries/architecture/viewmodel - Network accessline 191
- Android Developers, `ViewModel` overview: https://developer.android.com/topic/libraries/architecture/viewmodel - Network accessline 191
- Android Developers, `ViewModel` overview: https://developer.android.com/topic/libraries/architecture/viewmodel - Network accessline 192
- Android Developers, `CompositionLocal`: https://developer.android.com/develop/ui/compose/compositionlocal - Network accessline 192
- Android Developers, `CompositionLocal`: https://developer.android.com/develop/ui/compose/compositionlocal - Network accessline 192
- Android Developers, `CompositionLocal`: https://developer.android.com/develop/ui/compose/compositionlocal
hot-reload/setting-up-compose-hotswan/SKILL.md
- Network accessline 42
- Gradle 8+. - A real device or emulator with USB debugging enabled and visible to `adb devices`. - The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 42
- Gradle 8+. - A real device or emulator with USB debugging enabled and visible to `adb devices`. - The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 42
- Gradle 8+. - A real device or emulator with USB debugging enabled and visible to `adb devices`. - The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 42
- Gradle 8+. - A real device or emulator with USB debugging enabled and visible to `adb devices`. - The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 42
- Gradle 8+. - A real device or emulator with USB debugging enabled and visible to `adb devices`. - The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 44
- The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 44
- The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 44
- The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 44
- The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 44
- The HotSwan IDE plugin installed from JetBrains Marketplace (https://plugins.jetbrains.com/plugin/30551-compose-hotswan/). - Network accessline 55
Pin `1.2.10` (latest verified at the time of authoring). Check the [HotSwan releases page](https://hotswan.dev/docs/releases) for newer stable versions before adopting; HotSwan iterates frequently and a newer minor often ships compatibility - Network accessline 55
Pin `1.2.10` (latest verified at the time of authoring). Check the [HotSwan releases page](https://hotswan.dev/docs/releases) for newer stable versions before adopting; HotSwan iterates frequently and a newer minor often ships compatibility - Network accessline 55
Pin `1.2.10` (latest verified at the time of authoring). Check the [HotSwan releases page](https://hotswan.dev/docs/releases) for newer stable versions before adopting; HotSwan iterates frequently and a newer minor often ships compatibility - Network accessline 55
Pin `1.2.10` (latest verified at the time of authoring). Check the [HotSwan releases page](https://hotswan.dev/docs/releases) for newer stable versions before adopting; HotSwan iterates frequently and a newer minor often ships compatibility - Network accessline 55
Pin `1.2.10` (latest verified at the time of authoring). Check the [HotSwan releases page](https://hotswan.dev/docs/releases) for newer stable versions before adopting; HotSwan iterates frequently and a newer minor often ships compatibility - Network accessline 235
- **MUST NOT** depend on HotSwan classes at the source level. No annotations, no runtime imports. HotSwan is a build-time and IDE-time tool; production code stays pure. - **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.j - Network accessline 235
- **MUST NOT** depend on HotSwan classes at the source level. No annotations, no runtime imports. HotSwan is a build-time and IDE-time tool; production code stays pure. - **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.j - Network accessline 235
- **MUST NOT** depend on HotSwan classes at the source level. No annotations, no runtime imports. HotSwan is a build-time and IDE-time tool; production code stays pure. - **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.j - Network accessline 235
- **MUST NOT** depend on HotSwan classes at the source level. No annotations, no runtime imports. HotSwan is a build-time and IDE-time tool; production code stays pure. - **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.j - Network accessline 235
- **MUST NOT** depend on HotSwan classes at the source level. No annotations, no runtime imports. HotSwan is a build-time and IDE-time tool; production code stays pure. - **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.j - Network accessline 236
- **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.jetbrains.kotlin.plugin.compose` is applied on Kotlin 2.0+ before adding HotSwan. - **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the - Network accessline 236
- **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.jetbrains.kotlin.plugin.compose` is applied on Kotlin 2.0+ before adding HotSwan. - **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the - Network accessline 236
- **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.jetbrains.kotlin.plugin.compose` is applied on Kotlin 2.0+ before adding HotSwan. - **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the - Network accessline 236
- **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.jetbrains.kotlin.plugin.compose` is applied on Kotlin 2.0+ before adding HotSwan. - **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the - Network accessline 236
- **MUST NOT** mix HotSwan with a stale Compose Compiler. Verify `org.jetbrains.kotlin.plugin.compose` is applied on Kotlin 2.0+ before adding HotSwan. - **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the - Network accessline 237
- **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the project use a single version. The latest verified version is `1.2.10`; check [hotswan.dev/docs/releases](https://hotswan.dev/docs/releases) for newer s - Network accessline 237
- **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the project use a single version. The latest verified version is `1.2.10`; check [hotswan.dev/docs/releases](https://hotswan.dev/docs/releases) for newer s - Network accessline 237
- **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the project use a single version. The latest verified version is `1.2.10`; check [hotswan.dev/docs/releases](https://hotswan.dev/docs/releases) for newer s - Network accessline 237
- **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the project use a single version. The latest verified version is `1.2.10`; check [hotswan.dev/docs/releases](https://hotswan.dev/docs/releases) for newer s - Network accessline 237
- **MUST** pin the HotSwan version in `libs.versions.toml` so all Compose modules in the project use a single version. The latest verified version is `1.2.10`; check [hotswan.dev/docs/releases](https://hotswan.dev/docs/releases) for newer s - Network accessline 251
- HotSwan JetBrains Marketplace plugin: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 251
- HotSwan JetBrains Marketplace plugin: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 251
- HotSwan JetBrains Marketplace plugin: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 251
- HotSwan JetBrains Marketplace plugin: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 251
- HotSwan JetBrains Marketplace plugin: https://plugins.jetbrains.com/plugin/30551-compose-hotswan/ - Network accessline 252
- HotSwan releases (canonical source for the latest stable version): https://hotswan.dev/docs/releases - Network accessline 252
- HotSwan releases (canonical source for the latest stable version): https://hotswan.dev/docs/releases - Network accessline 252
- HotSwan releases (canonical source for the latest stable version): https://hotswan.dev/docs/releases - Network accessline 252
- HotSwan releases (canonical source for the latest stable version): https://hotswan.dev/docs/releases - Network accessline 252
- HotSwan releases (canonical source for the latest stable version): https://hotswan.dev/docs/releases - Network accessline 253
- HotSwan documentation portal (skydoves/compose-hotswan-web): https://github.com/skydoves/compose-hotswan-web - Network accessline 253
- HotSwan documentation portal (skydoves/compose-hotswan-web): https://github.com/skydoves/compose-hotswan-web - Network accessline 253
- HotSwan documentation portal (skydoves/compose-hotswan-web): https://github.com/skydoves/compose-hotswan-web - Network accessline 253
- HotSwan documentation portal (skydoves/compose-hotswan-web): https://github.com/skydoves/compose-hotswan-web - Network accessline 253
- HotSwan documentation portal (skydoves/compose-hotswan-web): https://github.com/skydoves/compose-hotswan-web - Network accessline 254
- HotSwan Gradle configuration docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/gradle-configuration`) - Network accessline 254
- HotSwan Gradle configuration docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/gradle-configuration`) - Network accessline 254
- HotSwan Gradle configuration docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/gradle-configuration`) - Network accessline 254
- HotSwan Gradle configuration docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/gradle-configuration`) - Network accessline 254
- HotSwan Gradle configuration docs: https://github.com/skydoves/compose-hotswan-web (under `/docs/gradle-configuration`) - Network accessline 255
- Compose Compiler Gradle plugin (Kotlin 2.0+): https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 255
- Compose Compiler Gradle plugin (Kotlin 2.0+): https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 255
- Compose Compiler Gradle plugin (Kotlin 2.0+): https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 255
- Compose Compiler Gradle plugin (Kotlin 2.0+): https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 255
- Compose Compiler Gradle plugin (Kotlin 2.0+): https://developer.android.com/jetpack/androidx/releases/compose-compiler
hot-reload/understanding-hot-reload-limits/SKILL.md
- Network accessline 188
- HotSwan supported-changes documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/supported-changes`). - Network accessline 188
- HotSwan supported-changes documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/supported-changes`). - Network accessline 188
- HotSwan supported-changes documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/supported-changes`). - Network accessline 188
- HotSwan supported-changes documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/supported-changes`). - Network accessline 188
- HotSwan supported-changes documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/supported-changes`). - Network accessline 189
- HotSwan limitations documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/limitations`). - Network accessline 189
- HotSwan limitations documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/limitations`). - Network accessline 189
- HotSwan limitations documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/limitations`). - Network accessline 189
- HotSwan limitations documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/limitations`). - Network accessline 189
- HotSwan limitations documentation: https://github.com/skydoves/compose-hotswan-web (under `/docs/limitations`). - Network accessline 190
- Android Runtime class redefinition (JVMTI) reference: https://source.android.com/docs/core/runtime/jvmti - Network accessline 190
- Android Runtime class redefinition (JVMTI) reference: https://source.android.com/docs/core/runtime/jvmti - Network accessline 190
- Android Runtime class redefinition (JVMTI) reference: https://source.android.com/docs/core/runtime/jvmti - Network accessline 190
- Android Runtime class redefinition (JVMTI) reference: https://source.android.com/docs/core/runtime/jvmti - Network accessline 190
- Android Runtime class redefinition (JVMTI) reference: https://source.android.com/docs/core/runtime/jvmti
lists/configuring-lazy-prefetch/SKILL.md
- Network accessline 213
- Android Developers — Lists and grids: https://developer.android.com/develop/ui/compose/lists - Network accessline 213
- Android Developers — Lists and grids: https://developer.android.com/develop/ui/compose/lists - Network accessline 213
- Android Developers — Lists and grids: https://developer.android.com/develop/ui/compose/lists - Network accessline 213
- Android Developers — Lists and grids: https://developer.android.com/develop/ui/compose/lists - Network accessline 214
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 214
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 214
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 214
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 215
- Android Developers — What's new in Jetpack Compose (May 2025, 1.9): https://android-developers.googleblog.com/2025/05/whats-new-in-jetpack-compose.html - Network accessline 215
- Android Developers — What's new in Jetpack Compose (May 2025, 1.9): https://android-developers.googleblog.com/2025/05/whats-new-in-jetpack-compose.html - Network accessline 215
- Android Developers — What's new in Jetpack Compose (May 2025, 1.9): https://android-developers.googleblog.com/2025/05/whats-new-in-jetpack-compose.html - Network accessline 215
- Android Developers — What's new in Jetpack Compose (May 2025, 1.9): https://android-developers.googleblog.com/2025/05/whats-new-in-jetpack-compose.html - Network accessline 216
- Android Developers — What's new in Jetpack Compose (December 2025, 1.10): https://android-developers.googleblog.com/2025/12/whats-new-in-jetpack-compose-december.html - Network accessline 216
- Android Developers — What's new in Jetpack Compose (December 2025, 1.10): https://android-developers.googleblog.com/2025/12/whats-new-in-jetpack-compose-december.html - Network accessline 216
- Android Developers — What's new in Jetpack Compose (December 2025, 1.10): https://android-developers.googleblog.com/2025/12/whats-new-in-jetpack-compose-december.html - Network accessline 216
- Android Developers — What's new in Jetpack Compose (December 2025, 1.10): https://android-developers.googleblog.com/2025/12/whats-new-in-jetpack-compose-december.html - Network accessline 217
- Android Developers — Macrobenchmark FrameTimingMetric: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 217
- Android Developers — Macrobenchmark FrameTimingMetric: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 217
- Android Developers — Macrobenchmark FrameTimingMetric: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 217
- Android Developers — Macrobenchmark FrameTimingMetric: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 218
- Ben Trengrove — Why you should always test Compose performance in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 218
- Ben Trengrove — Why you should always test Compose performance in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 218
- Ben Trengrove — Why you should always test Compose performance in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 218
- Ben Trengrove — Why you should always test Compose performance in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 219
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 219
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 219
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 219
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance
lists/optimizing-lazy-layouts/SKILL.md
- Network accessline 265
- Android Developers — Lists and grids: https://developer.android.com/develop/ui/compose/lists - Network accessline 265
- Android Developers — Lists and grids: https://developer.android.com/develop/ui/compose/lists - Network accessline 265
- Android Developers — Lists and grids: https://developer.android.com/develop/ui/compose/lists - Network accessline 265
- Android Developers — Lists and grids: https://developer.android.com/develop/ui/compose/lists - Network accessline 266
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 266
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 266
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 266
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 267
- Android Developers — Practical performance codelab: https://developer.android.com/codelabs/jetpack-compose-performance - Network accessline 267
- Android Developers — Practical performance codelab: https://developer.android.com/codelabs/jetpack-compose-performance - Network accessline 267
- Android Developers — Practical performance codelab: https://developer.android.com/codelabs/jetpack-compose-performance - Network accessline 267
- Android Developers — Practical performance codelab: https://developer.android.com/codelabs/jetpack-compose-performance - Network accessline 268
- Android Developers — What's new in Jetpack Compose (April 2025, 1.8): https://android-developers.googleblog.com/2025/04/whats-new-in-jetpack-compose-april-25.html - Network accessline 268
- Android Developers — What's new in Jetpack Compose (April 2025, 1.8): https://android-developers.googleblog.com/2025/04/whats-new-in-jetpack-compose-april-25.html - Network accessline 268
- Android Developers — What's new in Jetpack Compose (April 2025, 1.8): https://android-developers.googleblog.com/2025/04/whats-new-in-jetpack-compose-april-25.html - Network accessline 268
- Android Developers — What's new in Jetpack Compose (April 2025, 1.8): https://android-developers.googleblog.com/2025/04/whats-new-in-jetpack-compose-april-25.html - Network accessline 269
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 269
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 269
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 269
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 270
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 270
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 270
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 270
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 271
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 271
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 271
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 271
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 272
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 272
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 272
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 272
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance
measurement/generating-baseline-profiles/SKILL.md
- Network accessline 351
- Baseline Profiles overview — https://developer.android.com/topic/performance/baselineprofiles/overview - Network accessline 351
- Baseline Profiles overview — https://developer.android.com/topic/performance/baselineprofiles/overview - Network accessline 351
- Baseline Profiles overview — https://developer.android.com/topic/performance/baselineprofiles/overview - Network accessline 351
- Baseline Profiles overview — https://developer.android.com/topic/performance/baselineprofiles/overview - Network accessline 351
- Baseline Profiles overview — https://developer.android.com/topic/performance/baselineprofiles/overview - Network accessline 351
- Baseline Profiles overview — https://developer.android.com/topic/performance/baselineprofiles/overview - Network accessline 351
- Baseline Profiles overview — https://developer.android.com/topic/performance/baselineprofiles/overview - Network accessline 351
- Baseline Profiles overview — https://developer.android.com/topic/performance/baselineprofiles/overview - Network accessline 352
- Baseline Profiles with Compose — https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 352
- Baseline Profiles with Compose — https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 352
- Baseline Profiles with Compose — https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 352
- Baseline Profiles with Compose — https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 352
- Baseline Profiles with Compose — https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 352
- Baseline Profiles with Compose — https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 352
- Baseline Profiles with Compose — https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 352
- Baseline Profiles with Compose — https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 353
- Benchmark Baseline Profiles with Macrobenchmark — https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 353
- Benchmark Baseline Profiles with Macrobenchmark — https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 353
- Benchmark Baseline Profiles with Macrobenchmark — https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 353
- Benchmark Baseline Profiles with Macrobenchmark — https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 353
- Benchmark Baseline Profiles with Macrobenchmark — https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 353
- Benchmark Baseline Profiles with Macrobenchmark — https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 353
- Benchmark Baseline Profiles with Macrobenchmark — https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 353
- Benchmark Baseline Profiles with Macrobenchmark — https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 354
- Macrobenchmark library — https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview - Network accessline 354
- Macrobenchmark library — https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview - Network accessline 354
- Macrobenchmark library — https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview - Network accessline 354
- Macrobenchmark library — https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview - Network accessline 354
- Macrobenchmark library — https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview - Network accessline 354
- Macrobenchmark library — https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview - Network accessline 354
- Macrobenchmark library — https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview - Network accessline 354
- Macrobenchmark library — https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview - Network accessline 355
- `androidx.activity.compose.ReportDrawn` reference — https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary - Network accessline 355
- `androidx.activity.compose.ReportDrawn` reference — https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary - Network accessline 355
- `androidx.activity.compose.ReportDrawn` reference — https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary - Network accessline 355
- `androidx.activity.compose.ReportDrawn` reference — https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary - Network accessline 355
- `androidx.activity.compose.ReportDrawn` reference — https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary - Network accessline 355
- `androidx.activity.compose.ReportDrawn` reference — https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary - Network accessline 355
- `androidx.activity.compose.ReportDrawn` reference — https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary - Network accessline 355
- `androidx.activity.compose.ReportDrawn` reference — https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary - Network accessline 356
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 356
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 356
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 356
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 356
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 356
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 356
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 356
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 357
- skydoves, "Improving Android App Performance with Baseline Profiles" (Stream blog) — https://getstream.io/blog/android-baseline-profile/ - Network accessline 357
- skydoves, "Improving Android App Performance with Baseline Profiles" (Stream blog) — https://getstream.io/blog/android-baseline-profile/ - Network accessline 357
- skydoves, "Improving Android App Performance with Baseline Profiles" (Stream blog) — https://getstream.io/blog/android-baseline-profile/ - Network accessline 357
- skydoves, "Improving Android App Performance with Baseline Profiles" (Stream blog) — https://getstream.io/blog/android-baseline-profile/ - Network accessline 357
- skydoves, "Improving Android App Performance with Baseline Profiles" (Stream blog) — https://getstream.io/blog/android-baseline-profile/ - Network accessline 357
- skydoves, "Improving Android App Performance with Baseline Profiles" (Stream blog) — https://getstream.io/blog/android-baseline-profile/ - Network accessline 357
- skydoves, "Improving Android App Performance with Baseline Profiles" (Stream blog) — https://getstream.io/blog/android-baseline-profile/ - Network accessline 357
- skydoves, "Improving Android App Performance with Baseline Profiles" (Stream blog) — https://getstream.io/blog/android-baseline-profile/ - Network accessline 358
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 358
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 358
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 358
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 358
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 358
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 358
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 358
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance
measurement/generating-baseline-profiles/references/macrobenchmark-harness.md
measurement/testing-compose-in-release-mode/SKILL.md
- Network accessline 257
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 257
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 257
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 257
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 257
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 257
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 257
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 258
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 258
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 258
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 258
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 258
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 258
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 258
- Android Developers — Why test perf in release (Ben Trengrove): https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 259
- Android Developers — Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 259
- Android Developers — Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 259
- Android Developers — Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 259
- Android Developers — Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 259
- Android Developers — Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 259
- Android Developers — Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 259
- Android Developers — Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 260
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 260
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 260
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 260
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 260
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 260
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 260
- Android Developers — Baseline Profiles with Compose: https://developer.android.com/develop/ui/compose/performance/baseline-profiles - Network accessline 261
- Android Developers — Measure a Baseline Profile with Macrobenchmark: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 261
- Android Developers — Measure a Baseline Profile with Macrobenchmark: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 261
- Android Developers — Measure a Baseline Profile with Macrobenchmark: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 261
- Android Developers — Measure a Baseline Profile with Macrobenchmark: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 261
- Android Developers — Measure a Baseline Profile with Macrobenchmark: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 261
- Android Developers — Measure a Baseline Profile with Macrobenchmark: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 261
- Android Developers — Measure a Baseline Profile with Macrobenchmark: https://developer.android.com/topic/performance/baselineprofiles/measure-baselineprofile - Network accessline 262
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 262
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 262
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 262
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 262
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 262
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 262
- Android Developers — Configure and troubleshoot R8 keep rules (2025): https://android-developers.googleblog.com/2025/11/configure-and-troubleshoot-r8-keep-rules.html - Network accessline 263
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 263
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 263
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 263
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 263
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 263
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 263
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 264
- skydoves — compose-stability-analyzer (`@TraceRecomposition`): https://github.com/skydoves/compose-stability-analyzer - Network accessline 264
- skydoves — compose-stability-analyzer (`@TraceRecomposition`): https://github.com/skydoves/compose-stability-analyzer - Network accessline 264
- skydoves — compose-stability-analyzer (`@TraceRecomposition`): https://github.com/skydoves/compose-stability-analyzer - Network accessline 264
- skydoves — compose-stability-analyzer (`@TraceRecomposition`): https://github.com/skydoves/compose-stability-analyzer - Network accessline 264
- skydoves — compose-stability-analyzer (`@TraceRecomposition`): https://github.com/skydoves/compose-stability-analyzer - Network accessline 264
- skydoves — compose-stability-analyzer (`@TraceRecomposition`): https://github.com/skydoves/compose-stability-analyzer - Network accessline 264
- skydoves — compose-stability-analyzer (`@TraceRecomposition`): https://github.com/skydoves/compose-stability-analyzer - Network accessline 265
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 265
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 265
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 265
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 265
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 265
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 265
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9
measurement/tracing-recompositions-at-runtime/SKILL.md
- Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 295
- `skydoves/compose-stability-analyzer` (Gradle plugin + runtime + IDE plugin) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 296
- skydoves, "Optimize App Performance by Mastering Stability in Jetpack Compose" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 297
- skydoves, "6 Jetpack Compose Guidelines to Optimize App Performance" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 298
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 299
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 300
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 301
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance
modifiers/migrating-to-modifier-node/SKILL.md
- Network accessline 309
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 309
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 309
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 310
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 310
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 310
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 311
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 311
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 311
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 312
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 312
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 312
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 313
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 313
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 313
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 314
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 314
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 314
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 315
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 315
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 315
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 316
- skydoves — Jetpack Compose Mechanism (slides): https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 316
- skydoves — Jetpack Compose Mechanism (slides): https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 316
- skydoves — Jetpack Compose Mechanism (slides): https://speakerdeck.com/skydoves/jetpack-compose-mechanism
modifiers/ordering-modifier-chains/SKILL.md
- Network accessline 222
- Android Developers — Modifiers: https://developer.android.com/develop/ui/compose/modifiers - Network accessline 222
- Android Developers — Modifiers: https://developer.android.com/develop/ui/compose/modifiers - Network accessline 222
- Android Developers — Modifiers: https://developer.android.com/develop/ui/compose/modifiers - Network accessline 223
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 223
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 223
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 224
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 224
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 224
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 225
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 225
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 225
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 226
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 226
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 226
- Android Developers — Performance overview: https://developer.android.com/develop/ui/compose/performance - Network accessline 227
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 227
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 227
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 228
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 228
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 228
- Chris Banes — Compose performance tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 229
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 229
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 229
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 230
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 230
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance - Network accessline 230
- skydoves — compose-performance hub: https://github.com/skydoves/compose-performance
recomposition/avoiding-subcomposition-pitfalls/SKILL.md
- Network accessline 41
- A **release** build with R8 for any final measurement. `../../measurement/testing-compose-in-release-mode/SKILL.md` covers why debug builds lie. - Layout Inspector or Perfetto trace tooling. `../../measurement/tracing-recompositions-at-ru - Network accessline 41
- A **release** build with R8 for any final measurement. `../../measurement/testing-compose-in-release-mode/SKILL.md` covers why debug builds lie. - Layout Inspector or Perfetto trace tooling. `../../measurement/tracing-recompositions-at-ru - Network accessline 43
- A modern Compose UI version that exposes the `SubcomposeSlotReusePolicy(maxSlotsToRetainForReuse: Int)` factory and pausable subcomposition on the lazy-list path. Both ship in the current `androidx.compose.ui:ui` / `androidx.compose.found - Network accessline 43
- A modern Compose UI version that exposes the `SubcomposeSlotReusePolicy(maxSlotsToRetainForReuse: Int)` factory and pausable subcomposition on the lazy-list path. Both ship in the current `androidx.compose.ui:ui` / `androidx.compose.found - Network accessline 275
- Android Developers — Custom layouts: https://developer.android.com/develop/ui/compose/layouts/custom - Network accessline 275
- Android Developers — Custom layouts: https://developer.android.com/develop/ui/compose/layouts/custom - Network accessline 276
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 276
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 277
- Android Developers — `SubcomposeLayout` reference: https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/package-summary#SubcomposeLayout(androidx.compose.ui.Modifier,kotlin.Function2) - Network accessline 277
- Android Developers — `SubcomposeLayout` reference: https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/package-summary#SubcomposeLayout(androidx.compose.ui.Modifier,kotlin.Function2) - Network accessline 278
- Compose UI source — `SubcomposeLayout.kt`: https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/SubcomposeLayout.kt - Network accessline 278
- Compose UI source — `SubcomposeLayout.kt`: https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/SubcomposeLayout.kt - Network accessline 279
- Compose foundation source — `BoxWithConstraints.kt`: https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/BoxWithConstrai - Network accessline 279
- Compose foundation source — `BoxWithConstraints.kt`: https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/BoxWithConstrai - Network accessline 280
- Material3 source — `Scaffold.kt` (uses `SubcomposeLayout` for the chrome layout): https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Sca - Network accessline 280
- Material3 source — `Scaffold.kt` (uses `SubcomposeLayout` for the chrome layout): https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Sca - Network accessline 281
- Chris Banes — "Composable metrics" (subcompose cost in Perfetto traces): https://chrisbanes.me/posts/composable-metrics/ - Network accessline 281
- Chris Banes — "Composable metrics" (subcompose cost in Perfetto traces): https://chrisbanes.me/posts/composable-metrics/ - Network accessline 282
- skydoves — Jetpack Compose Mechanism (composition vs subcomposition): https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 282
- skydoves — Jetpack Compose Mechanism (composition vs subcomposition): https://speakerdeck.com/skydoves/jetpack-compose-mechanism
recomposition/choosing-derivedstateof/SKILL.md
- Network accessline 186
- Android Developers — Side-effects: derivedStateOf: https://developer.android.com/develop/ui/compose/side-effects#derivedstateof - Network accessline 186
- Android Developers — Side-effects: derivedStateOf: https://developer.android.com/develop/ui/compose/side-effects#derivedstateof - Network accessline 186
- Android Developers — Side-effects: derivedStateOf: https://developer.android.com/develop/ui/compose/side-effects#derivedstateof - Network accessline 186
- Android Developers — Side-effects: derivedStateOf: https://developer.android.com/develop/ui/compose/side-effects#derivedstateof - Network accessline 186
- Android Developers — Side-effects: derivedStateOf: https://developer.android.com/develop/ui/compose/side-effects#derivedstateof - Network accessline 186
- Android Developers — Side-effects: derivedStateOf: https://developer.android.com/develop/ui/compose/side-effects#derivedstateof - Network accessline 186
- Android Developers — Side-effects: derivedStateOf: https://developer.android.com/develop/ui/compose/side-effects#derivedstateof - Network accessline 187
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 187
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 187
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 187
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 187
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 187
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 187
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 188
- Ben Trengrove — When should I use derivedStateOf?: https://medium.com/androiddevelopers/jetpack-compose-when-should-i-use-derivedstateof-63ce7954c11b - Network accessline 188
- Ben Trengrove — When should I use derivedStateOf?: https://medium.com/androiddevelopers/jetpack-compose-when-should-i-use-derivedstateof-63ce7954c11b - Network accessline 188
- Ben Trengrove — When should I use derivedStateOf?: https://medium.com/androiddevelopers/jetpack-compose-when-should-i-use-derivedstateof-63ce7954c11b - Network accessline 188
- Ben Trengrove — When should I use derivedStateOf?: https://medium.com/androiddevelopers/jetpack-compose-when-should-i-use-derivedstateof-63ce7954c11b - Network accessline 188
- Ben Trengrove — When should I use derivedStateOf?: https://medium.com/androiddevelopers/jetpack-compose-when-should-i-use-derivedstateof-63ce7954c11b - Network accessline 188
- Ben Trengrove — When should I use derivedStateOf?: https://medium.com/androiddevelopers/jetpack-compose-when-should-i-use-derivedstateof-63ce7954c11b - Network accessline 188
- Ben Trengrove — When should I use derivedStateOf?: https://medium.com/androiddevelopers/jetpack-compose-when-should-i-use-derivedstateof-63ce7954c11b - Network accessline 189
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 189
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 189
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 189
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 189
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 189
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 189
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 190
- Zach Klipp — How derivedStateOf works (a deep d-er-ive): https://blog.zachklipp.com/how-derivedstateof-works-a-deep-d-er-ive/ - Network accessline 190
- Zach Klipp — How derivedStateOf works (a deep d-er-ive): https://blog.zachklipp.com/how-derivedstateof-works-a-deep-d-er-ive/ - Network accessline 190
- Zach Klipp — How derivedStateOf works (a deep d-er-ive): https://blog.zachklipp.com/how-derivedstateof-works-a-deep-d-er-ive/ - Network accessline 190
- Zach Klipp — How derivedStateOf works (a deep d-er-ive): https://blog.zachklipp.com/how-derivedstateof-works-a-deep-d-er-ive/ - Network accessline 190
- Zach Klipp — How derivedStateOf works (a deep d-er-ive): https://blog.zachklipp.com/how-derivedstateof-works-a-deep-d-er-ive/ - Network accessline 190
- Zach Klipp — How derivedStateOf works (a deep d-er-ive): https://blog.zachklipp.com/how-derivedstateof-works-a-deep-d-er-ive/ - Network accessline 190
- Zach Klipp — How derivedStateOf works (a deep d-er-ive): https://blog.zachklipp.com/how-derivedstateof-works-a-deep-d-er-ive/ - Network accessline 191
- Manuel Vivo — Consuming flows safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 191
- Manuel Vivo — Consuming flows safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 191
- Manuel Vivo — Consuming flows safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 191
- Manuel Vivo — Consuming flows safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 191
- Manuel Vivo — Consuming flows safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 191
- Manuel Vivo — Consuming flows safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 191
- Manuel Vivo — Consuming flows safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 192
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 192
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 192
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 192
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 192
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 192
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 192
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 193
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 193
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 193
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 193
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 193
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 193
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 193
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9
recomposition/debugging-recompositions/SKILL.md
- Network accessline 206
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 206
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 206
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 206
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 206
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 206
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 206
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 206
- Ben Trengrove, "Jetpack Compose: Debugging recomposition" — https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 207
- Layout Inspector — https://developer.android.com/studio/debug/layout-inspector - Network accessline 207
- Layout Inspector — https://developer.android.com/studio/debug/layout-inspector - Network accessline 207
- Layout Inspector — https://developer.android.com/studio/debug/layout-inspector - Network accessline 207
- Layout Inspector — https://developer.android.com/studio/debug/layout-inspector - Network accessline 207
- Layout Inspector — https://developer.android.com/studio/debug/layout-inspector - Network accessline 207
- Layout Inspector — https://developer.android.com/studio/debug/layout-inspector - Network accessline 207
- Layout Inspector — https://developer.android.com/studio/debug/layout-inspector - Network accessline 207
- Layout Inspector — https://developer.android.com/studio/debug/layout-inspector - Network accessline 208
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 208
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 208
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 208
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 208
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 208
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 208
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 208
- Compose performance overview — https://developer.android.com/develop/ui/compose/performance - Network accessline 209
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 209
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 209
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 209
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 209
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 209
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 209
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 209
- Compose stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 210
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 210
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 210
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 210
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 210
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 210
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 210
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 210
- Ben Trengrove, "Why you should always test Compose performance in release" — https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 211
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 211
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 211
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 211
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 211
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 211
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 211
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 211
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 212
- skydoves/compose-stability-analyzer (runtime `@TraceRecomposition`) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 212
- skydoves/compose-stability-analyzer (runtime `@TraceRecomposition`) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 212
- skydoves/compose-stability-analyzer (runtime `@TraceRecomposition`) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 212
- skydoves/compose-stability-analyzer (runtime `@TraceRecomposition`) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 212
- skydoves/compose-stability-analyzer (runtime `@TraceRecomposition`) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 212
- skydoves/compose-stability-analyzer (runtime `@TraceRecomposition`) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 212
- skydoves/compose-stability-analyzer (runtime `@TraceRecomposition`) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 212
- skydoves/compose-stability-analyzer (runtime `@TraceRecomposition`) — https://github.com/skydoves/compose-stability-analyzer - Network accessline 213
- skydoves, "6 Jetpack Compose Guidelines" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 213
- skydoves, "6 Jetpack Compose Guidelines" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 213
- skydoves, "6 Jetpack Compose Guidelines" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 213
- skydoves, "6 Jetpack Compose Guidelines" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 213
- skydoves, "6 Jetpack Compose Guidelines" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 213
- skydoves, "6 Jetpack Compose Guidelines" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 213
- skydoves, "6 Jetpack Compose Guidelines" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 213
- skydoves, "6 Jetpack Compose Guidelines" — https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9
recomposition/deferring-state-reads/SKILL.md
- Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 245
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 246
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 247
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 248
- Android Developers — Custom modifiers (Modifier.Node): https://developer.android.com/develop/ui/compose/custom-modifiers - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 249
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 250
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 251
- Chris Banes — Compose perf tag: https://chrisbanes.me/tags/jetpack-compose-performance/ - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 252
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 253
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism
recomposition/deferring-state-reads/references/three-phases.md
- Network accessline 132
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 132
- Android Developers — Phases of Jetpack Compose: https://developer.android.com/develop/ui/compose/phases - Network accessline 133
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 133
- Android Developers — Performance: phases: https://developer.android.com/develop/ui/compose/performance/phases - Network accessline 134
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 134
- Android Developers — Graphics modifiers: https://developer.android.com/develop/ui/compose/graphics/draw/modifiers - Network accessline 135
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 135
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 136
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 136
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 137
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism - Network accessline 137
- skydoves — Jetpack Compose Mechanism: https://speakerdeck.com/skydoves/jetpack-compose-mechanism
recomposition/using-strong-skipping-correctly/SKILL.md
- Network accessline 326
- Strong Skipping (Android Developers) — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 326
- Strong Skipping (Android Developers) — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 326
- Strong Skipping (Android Developers) — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 326
- Strong Skipping (Android Developers) — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 327
- Ben Trengrove, "Jetpack Compose Strong Skipping Mode explained" — https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 327
- Ben Trengrove, "Jetpack Compose Strong Skipping Mode explained" — https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 327
- Ben Trengrove, "Jetpack Compose Strong Skipping Mode explained" — https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 327
- Ben Trengrove, "Jetpack Compose Strong Skipping Mode explained" — https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 328
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 328
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 328
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 328
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 329
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 329
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 329
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 329
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 330
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 330
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 330
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 330
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 331
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 331
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 331
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 331
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 332
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 332
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 332
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 332
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 333
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 333
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 333
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 333
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer
recomposition/using-strong-skipping-correctly/references/escape-hatches.md
- Network accessline 260
- Compose Compiler runtime annotations — https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary - Network accessline 261
- Strong Skipping Mode — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 262
- Ben Trengrove, "Jetpack Compose Strong Skipping Mode explained" — https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 263
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 264
- Compose Compiler source (annotations.kt) — https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composable.kt
side-effects/collecting-flows-safely/SKILL.md
- Network accessline 207
- Manuel Vivo — Consuming flows safely in Jetpack Compose: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 207
- Manuel Vivo — Consuming flows safely in Jetpack Compose: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 207
- Manuel Vivo — Consuming flows safely in Jetpack Compose: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 207
- Manuel Vivo — Consuming flows safely in Jetpack Compose: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 207
- Manuel Vivo — Consuming flows safely in Jetpack Compose: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 208
- Android Developers — Lifecycle-aware coroutines (`repeatOnLifecycle`): https://developer.android.com/topic/libraries/architecture/coroutines - Network accessline 208
- Android Developers — Lifecycle-aware coroutines (`repeatOnLifecycle`): https://developer.android.com/topic/libraries/architecture/coroutines - Network accessline 208
- Android Developers — Lifecycle-aware coroutines (`repeatOnLifecycle`): https://developer.android.com/topic/libraries/architecture/coroutines - Network accessline 208
- Android Developers — Lifecycle-aware coroutines (`repeatOnLifecycle`): https://developer.android.com/topic/libraries/architecture/coroutines - Network accessline 208
- Android Developers — Lifecycle-aware coroutines (`repeatOnLifecycle`): https://developer.android.com/topic/libraries/architecture/coroutines - Network accessline 209
- `androidx.lifecycle:lifecycle-runtime-compose` release notes: https://developer.android.com/jetpack/androidx/releases/lifecycle - Network accessline 209
- `androidx.lifecycle:lifecycle-runtime-compose` release notes: https://developer.android.com/jetpack/androidx/releases/lifecycle - Network accessline 209
- `androidx.lifecycle:lifecycle-runtime-compose` release notes: https://developer.android.com/jetpack/androidx/releases/lifecycle - Network accessline 209
- `androidx.lifecycle:lifecycle-runtime-compose` release notes: https://developer.android.com/jetpack/androidx/releases/lifecycle - Network accessline 209
- `androidx.lifecycle:lifecycle-runtime-compose` release notes: https://developer.android.com/jetpack/androidx/releases/lifecycle - Network accessline 210
- Android Developers — Compose side effects (`snapshotFlow`, `LaunchedEffect`): https://developer.android.com/develop/ui/compose/side-effects - Network accessline 210
- Android Developers — Compose side effects (`snapshotFlow`, `LaunchedEffect`): https://developer.android.com/develop/ui/compose/side-effects - Network accessline 210
- Android Developers — Compose side effects (`snapshotFlow`, `LaunchedEffect`): https://developer.android.com/develop/ui/compose/side-effects - Network accessline 210
- Android Developers — Compose side effects (`snapshotFlow`, `LaunchedEffect`): https://developer.android.com/develop/ui/compose/side-effects - Network accessline 210
- Android Developers — Compose side effects (`snapshotFlow`, `LaunchedEffect`): https://developer.android.com/develop/ui/compose/side-effects - Network accessline 211
- Skydoves — 6 Jetpack Compose Guidelines (Flow-as-parameter antipattern): https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 211
- Skydoves — 6 Jetpack Compose Guidelines (Flow-as-parameter antipattern): https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 211
- Skydoves — 6 Jetpack Compose Guidelines (Flow-as-parameter antipattern): https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 211
- Skydoves — 6 Jetpack Compose Guidelines (Flow-as-parameter antipattern): https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 211
- Skydoves — 6 Jetpack Compose Guidelines (Flow-as-parameter antipattern): https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 212
- Ben Trengrove — Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 212
- Ben Trengrove — Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 212
- Ben Trengrove — Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 212
- Ben Trengrove — Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 212
- Ben Trengrove — Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71
side-effects/using-efficient-effects/SKILL.md
- Network accessline 39
- Familiarity with Compose's composition lifecycle: enter, recompose, leave. Effects run after composition commits. - Compose UI 1.4+. - For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/s - Network accessline 39
- Familiarity with Compose's composition lifecycle: enter, recompose, leave. Effects run after composition commits. - Compose UI 1.4+. - For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/s - Network accessline 39
- Familiarity with Compose's composition lifecycle: enter, recompose, leave. Effects run after composition commits. - Compose UI 1.4+. - For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/s - Network accessline 40
- Compose UI 1.4+. - For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/skydoves/compose-effects). - For `ViewModelStoreScope`, also depend on `com.github.skydoves:compose-effects-viewmodel - Network accessline 40
- Compose UI 1.4+. - For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/skydoves/compose-effects). - For `ViewModelStoreScope`, also depend on `com.github.skydoves:compose-effects-viewmodel - Network accessline 40
- Compose UI 1.4+. - For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/skydoves/compose-effects). - For `ViewModelStoreScope`, also depend on `com.github.skydoves:compose-effects-viewmodel - Network accessline 41
- For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/skydoves/compose-effects). - Network accessline 41
- For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/skydoves/compose-effects). - Network accessline 41
- For `RememberedEffect`, add `com.github.skydoves:compose-effects` (latest GA — see https://github.com/skydoves/compose-effects). - Network accessline 228
- Android Developers — Side effects in Compose: https://developer.android.com/develop/ui/compose/side-effects - Network accessline 228
- Android Developers — Side effects in Compose: https://developer.android.com/develop/ui/compose/side-effects - Network accessline 228
- Android Developers — Side effects in Compose: https://developer.android.com/develop/ui/compose/side-effects - Network accessline 229
- Android Developers — Lifecycle of composables: https://developer.android.com/develop/ui/compose/lifecycle - Network accessline 229
- Android Developers — Lifecycle of composables: https://developer.android.com/develop/ui/compose/lifecycle - Network accessline 229
- Android Developers — Lifecycle of composables: https://developer.android.com/develop/ui/compose/lifecycle - Network accessline 230
- Skydoves — compose-effects (`RememberedEffect`, `ViewModelStoreScope`): https://github.com/skydoves/compose-effects - Network accessline 230
- Skydoves — compose-effects (`RememberedEffect`, `ViewModelStoreScope`): https://github.com/skydoves/compose-effects - Network accessline 230
- Skydoves — compose-effects (`RememberedEffect`, `ViewModelStoreScope`): https://github.com/skydoves/compose-effects - Network accessline 231
- Skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 231
- Skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 231
- Skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 232
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 232
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37 - Network accessline 232
- Ben Trengrove — Debugging recomposition: https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37
stability/diagnosing-compose-stability/SKILL.md
- Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 199
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 200
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 201
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 202
- Ben Trengrove — Jetpack Compose Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 203
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/ - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 204
- Why test perf in release: https://medium.com/androiddevelopers/why-should-you-always-test-compose-performance-in-release-4168dd0f2c71 - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 205
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer - Network accessline 206
- skydoves — compose-stability-analyzer: https://github.com/skydoves/compose-stability-analyzer
stability/diagnosing-compose-stability/references/reading-classes-txt.md
- Network accessline 129
- `reading-composables-txt.md` for the per-composable annotations that point you here. - Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 130
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 131
- skydoves/compose-stability-inference (the 12-phase algorithm and bitmask catalog): https://github.com/skydoves/compose-stability-inference
stability/diagnosing-compose-stability/references/reading-composables-txt.md
- Network accessline 140
- `reading-classes-txt.md` for tracing an `unstable` parameter back to its root-cause field. - Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 141
- Android Developers — Diagnose stability: https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 142
- Ben Trengrove — Strong Skipping explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 143
- Chris Banes — Composable Metrics: https://chrisbanes.me/posts/composable-metrics/
stability/enforcing-stability-in-ci/SKILL.md
- Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 312
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 313
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 314
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 315
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 316
- Ben Trengrove, "New ways of optimizing stability in Jetpack Compose" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 317
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 318
- Compose Compiler release notes — https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 319
- ComposeGuard (alternative for KMP) — https://github.com/j-roskopf/ComposeGuard - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 320
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference
stability/stabilizing-compose-types/SKILL.md
- Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 327
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 328
- Android Developers — Stability overview: https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 329
- Android Developers — Strong Skipping: https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 330
- Ben Trengrove — Stability Explained: https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 331
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 332
- Ben Trengrove — Strong Skipping Mode Explained: https://medium.com/androiddevelopers/jetpack-compose-strong-skipping-mode-explained-cbdb2aa4b900 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 333
- Manuel Vivo — Consuming Flows Safely: https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3 - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 334
- skydoves — Optimize App Performance by Mastering Stability: https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 335
- skydoves — 6 Jetpack Compose Guidelines: https://medium.com/proandroiddev/6-jetpack-compose-guidelines-to-optimize-your-app-performance-be18533721f9 - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 336
- skydoves — compose-stable-marker: https://github.com/skydoves/compose-stable-marker - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable - Network accessline 337
- kotlinx.collections.immutable: https://github.com/Kotlin/kotlinx.collections.immutable
stability/stabilizing-compose-types/references/stability-config-syntax.md
- Network accessline 143
- Android Developers — Fix stability: https://developer.android.com/develop/ui/compose/performance/stability/fix - Network accessline 144
- Compose Compiler release notes: https://developer.android.com/jetpack/androidx/releases/compose-compiler - Network accessline 145
- Ben Trengrove — New Ways of Optimizing Stability: https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 146
- skydoves — compose-stability-inference (12-phase algorithm and bitmask catalog): https://github.com/skydoves/compose-stability-inference - Network accessline 147
- skydoves — compose-stability-analyzer (CI plugin): https://github.com/skydoves/compose-stability-analyzer
stability/understanding-stability-inference/SKILL.md
- Network accessline 216
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 216
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 216
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 216
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 216
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 216
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 217
- Stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 217
- Stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 217
- Stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 217
- Stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 217
- Stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 217
- Stability — diagnose — https://developer.android.com/develop/ui/compose/performance/stability/diagnose - Network accessline 218
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 218
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 218
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 218
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 218
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 218
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 219
- Ben Trengrove, "Jetpack Compose Stability Explained" — https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 219
- Ben Trengrove, "Jetpack Compose Stability Explained" — https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 219
- Ben Trengrove, "Jetpack Compose Stability Explained" — https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 219
- Ben Trengrove, "Jetpack Compose Stability Explained" — https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 219
- Ben Trengrove, "Jetpack Compose Stability Explained" — https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 219
- Ben Trengrove, "Jetpack Compose Stability Explained" — https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8 - Network accessline 220
- Ben Trengrove, "New ways of optimizing stability" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 220
- Ben Trengrove, "New ways of optimizing stability" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 220
- Ben Trengrove, "New ways of optimizing stability" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 220
- Ben Trengrove, "New ways of optimizing stability" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 220
- Ben Trengrove, "New ways of optimizing stability" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 220
- Ben Trengrove, "New ways of optimizing stability" — https://medium.com/androiddevelopers/new-ways-of-optimizing-stability-in-jetpack-compose-038106c283cc - Network accessline 221
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 221
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 221
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 221
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 221
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 221
- Chris Banes, "Composable metrics" — https://chrisbanes.me/posts/composable-metrics/ - Network accessline 222
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 222
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 222
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 222
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 222
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 222
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 223
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 223
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 223
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 223
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 223
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 223
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference - Network accessline 224
- skydoves/compose-stable-marker — https://github.com/skydoves/compose-stable-marker - Network accessline 224
- skydoves/compose-stable-marker — https://github.com/skydoves/compose-stable-marker - Network accessline 224
- skydoves/compose-stable-marker — https://github.com/skydoves/compose-stable-marker - Network accessline 224
- skydoves/compose-stable-marker — https://github.com/skydoves/compose-stable-marker - Network accessline 224
- skydoves/compose-stable-marker — https://github.com/skydoves/compose-stable-marker - Network accessline 224
- skydoves/compose-stable-marker — https://github.com/skydoves/compose-stable-marker
stability/understanding-stability-inference/references/bitmask-encoding.md
- Network accessline 144
- `twelve-phase-algorithm.md` — pseudocode for all 12 phases that produce these bitmasks. - `../SKILL.md` — the parent skill; explains when to consult these references. - skydoves/compose-stability-inference — https://github.com/skydoves/co - Network accessline 146
- skydoves/compose-stability-inference — https://github.com/skydoves/compose-stability-inference (source-level walk-through of the algorithm and bitmask).
stability/using-stability-analyzer-ide-plugin/SKILL.md
- Network accessline 55
git clone https://github.com/skydoves/compose-stability-analyzer - Network accessline 55
git clone https://github.com/skydoves/compose-stability-analyzer - Network accessline 55
git clone https://github.com/skydoves/compose-stability-analyzer - Network accessline 258
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 258
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 258
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 259
- The `compose-stability-analyzer-idea` module within that repo — https://github.com/skydoves/compose-stability-analyzer/tree/main/compose-stability-analyzer-idea - Network accessline 259
- The `compose-stability-analyzer-idea` module within that repo — https://github.com/skydoves/compose-stability-analyzer/tree/main/compose-stability-analyzer-idea - Network accessline 259
- The `compose-stability-analyzer-idea` module within that repo — https://github.com/skydoves/compose-stability-analyzer/tree/main/compose-stability-analyzer-idea - Network accessline 260
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 260
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 260
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 261
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 261
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 261
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 262
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 262
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 262
- Strong Skipping — https://developer.android.com/develop/ui/compose/performance/stability/strongskipping - Network accessline 263
- IntelliJ Platform K2 Analysis API — https://plugins.jetbrains.com/docs/intellij/analysis-api.html - Network accessline 263
- IntelliJ Platform K2 Analysis API — https://plugins.jetbrains.com/docs/intellij/analysis-api.html - Network accessline 263
- IntelliJ Platform K2 Analysis API — https://plugins.jetbrains.com/docs/intellij/analysis-api.html
stability/visualizing-recomposition-cascades/SKILL.md
- Network accessline 265
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 265
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 265
- skydoves/compose-stability-analyzer — https://github.com/skydoves/compose-stability-analyzer - Network accessline 266
- The `compose-stability-analyzer-idea` module within that repo — https://github.com/skydoves/compose-stability-analyzer/tree/main/compose-stability-analyzer-idea - Network accessline 266
- The `compose-stability-analyzer-idea` module within that repo — https://github.com/skydoves/compose-stability-analyzer/tree/main/compose-stability-analyzer-idea - Network accessline 266
- The `compose-stability-analyzer-idea` module within that repo — https://github.com/skydoves/compose-stability-analyzer/tree/main/compose-stability-analyzer-idea - Network accessline 267
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 267
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 267
- skydoves, "Optimize App Performance by Mastering Stability" — https://medium.com/proandroiddev/optimize-app-performance-by-mastering-stability-in-jetpack-compose-69f40a8c785d - Network accessline 268
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 268
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 268
- Compose stability overview — https://developer.android.com/develop/ui/compose/performance/stability - Network accessline 269
- Layout Inspector recomposition counts (complementary tool) — https://developer.android.com/studio/debug/layout-inspector - Network accessline 269
- Layout Inspector recomposition counts (complementary tool) — https://developer.android.com/studio/debug/layout-inspector - Network accessline 269
- Layout Inspector recomposition counts (complementary tool) — https://developer.android.com/studio/debug/layout-inspector - Network accessline 270
- Android Logcat command-line reference — https://developer.android.com/tools/logcat - Network accessline 270
- Android Logcat command-line reference — https://developer.android.com/tools/logcat - Network accessline 270
- Android Logcat command-line reference — https://developer.android.com/tools/logcat
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 500 facts
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:286Low confidence
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:287Low confidence
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:288Low confidence
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:289Low confidence
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:290Low confidence
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:291Low confidence
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:292Low confidence
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:293Low confidence
- Network access in prose of the SKILL.mdauditing-compose-performance/SKILL.md:294Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:247Low confidence
- Network access in prose of the SKILL.mdconfiguring-r8-for-compose/SKILL.md:247Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:247Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:247Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:248Low confidence
- Network access in prose of the SKILL.mdconfiguring-r8-for-compose/SKILL.md:248Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:248Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:248Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:249Low confidence
- Network access in prose of the SKILL.mdconfiguring-r8-for-compose/SKILL.md:249Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:249Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:249Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:250Low confidence
- Network access in prose of the SKILL.mdconfiguring-r8-for-compose/SKILL.md:250Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:250Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:250Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:251Low confidence
- Network access in prose of the SKILL.mdconfiguring-r8-for-compose/SKILL.md:251Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:251Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:251Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:252Low confidence
- Network access in prose of the SKILL.mdconfiguring-r8-for-compose/SKILL.md:252Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:252Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:252Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:253Low confidence
- Network access in prose of the SKILL.mdconfiguring-r8-for-compose/SKILL.md:253Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:253Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:253Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:254Low confidence
- Network access in prose of the SKILL.mdconfiguring-r8-for-compose/SKILL.md:254Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:254Low confidence
- Network access in prose of the SKILL.mdbuild/configuring-r8-for-compose/SKILL.md:254Low confidence
- Network access in prose of the SKILL.mdhot-reload/iterating-with-ai-and-mcp/SKILL.md:182Low confidence
- Network access in prose of the SKILL.mditerating-with-ai-and-mcp/SKILL.md:182Low confidence
- Network access in prose of the SKILL.mdhot-reload/iterating-with-ai-and-mcp/SKILL.md:182Low confidence
- Network access in prose of the SKILL.mdhot-reload/iterating-with-ai-and-mcp/SKILL.md:182Low confidence
- Network access in prose of the SKILL.mdhot-reload/iterating-with-ai-and-mcp/SKILL.md:183Low confidence
- Network access in prose of the SKILL.mditerating-with-ai-and-mcp/SKILL.md:183Low confidence
- Network access in prose of the SKILL.mdhot-reload/iterating-with-ai-and-mcp/SKILL.md:183Low confidence
- Network access in prose of the SKILL.mdhot-reload/iterating-with-ai-and-mcp/SKILL.md:183Low confidence
- Network access in prose of the SKILL.mdhot-reload/iterating-with-ai-and-mcp/SKILL.md:184Low confidence
and 450 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md audit/auditing-compose-performance/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md audit/auditing-compose-performance/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md audit/auditing-compose-performance/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md audit/auditing-compose-performance/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md audit/auditing-compose-performance/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md audit/auditing-compose-performance/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.