Agent Skills › chrisbanes/skills › compose-performance

compose-performance

GitHub

针对 Jetpack Compose 性能问题的诊断与优化指南,涵盖重组成本、跳过机制及状态读取分析。

skills/compose-performance/SKILL.md chrisbanes/skills

Trigger Scenarios

Compose 重组性能排查 编译器稳定性报告分析 帧率相关的 State 读取优化

Install

npx skills add chrisbanes/skills --skill compose-performance -g -y
More Options

Use without installing

npx skills use chrisbanes/skills@compose-performance

指定 Agent (Claude Code)

npx skills add chrisbanes/skills --skill compose-performance -a claude-code -g -y

安装 repo 全部 skill

npx skills add chrisbanes/skills --all -g -y

预览 repo 内 skill

npx skills add chrisbanes/skills --list

SKILL.md

Frontmatter
{
    "name": "compose-performance",
    "description": "Use when investigating Jetpack Compose recomposition cost, compiler stability reports, skippability, unstable parameters, frame-rate State reads, cross-phase snapshot back-writing, or @ReadOnlyComposable contracts."
}

Compose performance

Core principle

Measure one user-visible transition, identify the runtime axis that causes the work, then apply the smallest correction at the phase or boundary where that axis begins.

Procedure

  1. Reproduce one concrete transition and capture the observable evidence: recomposition counts, compiler reports, profiler data, or a clear trace.
  2. Classify the primary axis: parameter stability and skipping, State read phase, or snapshot state written back into an earlier phase.
  3. Check for a false lead: a real data change, a correctness defect, or an unchanged lazy item that is expected to recompose.
  4. Read the corresponding focused reference before proposing a change.
  5. For review work, pair every finding with the smallest evidence-supported repair. For a false stability promise, explicitly say to replace mutable non-snapshot properties with immutable data or snapshot-observable state, verify that contract, and only then decide whether an annotation remains needed. For a phase problem, name the layout or draw consumer where the changing read or calculation should move. A cross-phase write proves invalidation or an extra pass; do not claim oscillation or an infinite loop unless evidence shows values repeatedly changing. Do not stop at diagnosis. When only source code is available, separate the proven feedback path from its unmeasured runtime cost. Give a conditional repair direction based on the intended measurement boundary; do not prescribe a callback swap, equality guard, or content-layout rewrite as a performance fix without evidence that it changes the observed problem. For an Int held in mutableStateOf with the default structural equality policy, an unchanged value already avoids invalidation.
  6. Change one axis at a time and re-measure the same transition.
  7. Finish when the evidence improves at the observed boundary without hiding state changes, caching stale values, or moving work to a less correct owner.

Topic router

Signal Read
Cause is unknown, or several axes may interact Diagnosis
classes.txt, composables.txt, strong skipping, unstable parameters, or collection stability Stability
Scroll, animation, gesture, layout, or draw State read at frame rate; measured state fed back into composition Deferred reads
A composable only reads composition locals or accessor-style values Composition contracts
State ownership or effect lifecycle is the root cause Compose state and effects

Version History

  • 2026.9.25 Current 2026-09-27 20:22

    改进了 GPT-6 技能评估和针对性指导。

  • 2026.8.27 2026-08-28 05:51

    恢复技能评估行为,捕获遥测数据并对比效率指标。

  • 2026.8.24 2026-08-27 17:15

    减少技能指令的冗余度,精简内容描述。

  • 2026.8.16 2026-08-19 19:31

    新增 RED/GREEN 智能体场景示例,增强对不稳定参数、动画绘制及误报情况的处理指导;细化审查工作流中证据支持与修复建议的要求。

  • 2026.8.5 2026-08-16 02:44

Same Skill Collection

skills/android-benchmark-comparison/SKILL.md
skills/compose-animations/SKILL.md
skills/compose-component-design/SKILL.md
skills/compose-focus-navigation/SKILL.md
skills/compose-modifier-and-layout-style/SKILL.md
skills/compose-recomposition-performance/SKILL.md
skills/compose-side-effects/SKILL.md
skills/compose-slot-api-pattern/SKILL.md
skills/compose-stability-diagnostics/SKILL.md
skills/compose-state-and-effects/SKILL.md
skills/compose-state-authoring/SKILL.md
skills/compose-state-deferred-reads/SKILL.md
skills/compose-state-hoisting/SKILL.md
skills/compose-state-holder-ui-split/SKILL.md
skills/compose-ui-testing-patterns/SKILL.md
skills/gradle-run/SKILL.md
skills/grounded-writing/SKILL.md
skills/implement-issue/SKILL.md
skills/kotlin-api-design/SKILL.md
skills/kotlin-concurrency-and-flow/SKILL.md
skills/kotlin-control-flow/SKILL.md
skills/kotlin-coroutines-structured-concurrency/SKILL.md
skills/kotlin-flow-state-event-modeling/SKILL.md
skills/kotlin-functions/SKILL.md
skills/kotlin-multiplatform-expect-actual/SKILL.md
skills/kotlin-types-value-class/SKILL.md
skills/release-kotlin-library/SKILL.md
skills/run-github-project/SKILL.md
skills/shepherd/SKILL.md
skills/to-plan/SKILL.md
skills/using-chrisbanes-skills/SKILL.md
skills/implement-with-subagents/SKILL.md

Metadata

Files
0
Version
2026.9.25
Hash
2e885a96
Indexed
2026-08-16 02:44

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-30 19:28
浙ICP备14020137号-1