Agent Skills
› skydoves/compose-performance-skills
skydoves/compose-performance-skills
GitHubJetpack Compose性能审计编排技能,通过测量、诊断、修复、验证四阶段循环,协调25个专项技能进行端到端性能分析,生成包含基准与优化数据的审计报告。
Install All Skills
npx skills add skydoves/compose-performance-skills --all -g -y
Skills in Collection (25)
Jetpack Compose性能审计编排技能,通过测量、诊断、修复、验证四阶段循环,协调25个专项技能进行端到端性能分析,生成包含基准与优化数据的审计报告。
应用整体卡顿或滚动不平滑
启动性能冲刺或预发布审查
无具体症状需排查起点
需要结构化性能审计报告
npx skills add skydoves/compose-performance-skills --skill auditing-compose-performance -g -y
指导AI智能体通过MCP协议驱动Compose HotSwan进行Kotlin代码编辑、热重载、截图验证及迭代,实现UI开发的自动化闭环。
AI驱动UI迭代
需要AI视觉验证修改效果
配置Claude Code或Cursor工作流
npx skills add skydoves/compose-performance-skills --skill iterating-with-ai-and-mcp -g -y
解决Jetpack Compose HotSwan热重载时状态丢失问题,分析三层重载机制,指导保留滚动、对话框等UI状态,避免迭代循环中的意外重置。
热重载后滚动位置重置或丢失对话框状态
询问HotSwan重载层级及状态保持策略
计划重构需评估对重载层级的影响
npx skills add skydoves/compose-performance-skills --skill preserving-state-across-reloads -g -y
指导开发者从零配置 JetBrains IDE 插件与 Gradle 编译器,实现 Compose 应用秒级热重载。涵盖插件安装、DSL 配置及真机/模拟器验证流程。
用户提及 HotSwan 或 Compose 热重载
询问如何应用 Gradle 编译器插件
项目接入 HotSwan 配置
工具窗口状态卡在 WATCHING 前
npx skills add skydoves/compose-performance-skills --skill setting-up-compose-hotswan -g -y
解析 Kotlin Compose HotSwan 热重载边界,识别导致全量重建的 ART 限制(如签名变更、内联函数等),指导开发者优化编辑顺序以维持快速迭代。
询问热重载失败或全量重建原因
审查可能触发重建的重构代码
规划保持热重载会话的编辑策略
npx skills add skydoves/compose-performance-skills --skill understanding-hot-reload-limits -g -y
用于配置 Jetpack Compose 懒加载预取策略,通过 LazyLayoutCacheWindow 和可暂停组合优化滚动性能。适用于高滑动速度掉帧、内容繁重或嵌套布局场景,旨在平衡内存与渲染效率。
开发者提到滚动掉帧或预取窗口
需要配置 LazyLayoutCacheWindow 或 NestedPrefetchScope
npx skills add skydoves/compose-performance-skills --skill configuring-lazy-prefetch -g -y
优化Jetpack Compose懒加载布局性能,解决滚动卡顿、状态丢失及动画失效。通过配置稳定Key、contentType及animateItem,减少无效重组与分配。
LazyColumn/Row滚动卡顿或掉帧
列表项在增删改时丢失滚动或焦点状态
混合类型Feed渲染迟缓
animateItem()未生效
npx skills add skydoves/compose-performance-skills --skill optimizing-lazy-layouts -g -y
用于生成和测量 Jetpack Compose 基线配置文件,优化冷启动与首屏流畅度。涵盖配置 Macrobenchmark、编写测试规则及验证 AOT 编译效果。
用户提及 'baseline profile' 或 'macrobenchmark'
需要解决冷启动慢或首屏卡顿问题
准备发布版本前的性能基准测试
npx skills add skydoves/compose-performance-skills --skill generating-baseline-profiles -g -y
指导在 Android 项目中通过 Release 变体(启用 R8)进行 Jetpack Compose 性能测试,确保数据反映生产环境。适用于排查启动慢、卡顿及审查性能指标。
报告启动慢或掉帧等性能问题
审查性能回归或基准测试结果
设置 CI 性能门禁
npx skills add skydoves/compose-performance-skills --skill testing-compose-in-release-mode -g -y
用于在Jetpack Compose中通过@TraceRecomposition追踪运行时重组差异,支持发布模式下的性能诊断与稳定性验证。
需要追踪发布模式下Composable重组详情
提及@TraceRecomposition或compose-stability-analyzer
需确认重组修复效果
Layout Inspector数据不可靠时
npx skills add skydoves/compose-performance-skills --skill tracing-recompositions-at-runtime -g -y
指导开发者将 Jetpack Compose 中性能较低的 Modifier.composed 迁移至高性能的 Modifier.Node,涵盖自定义节点生命周期、接口实现及手动失效控制。
代码中存在 Modifier.composed { } 需重构
从零开始编写自定义 Compose Modifier
Code Review 发现 composed 工厂函数
需要处理动画循环或 CompositionLocal 读取
npx skills add skydoves/compose-performance-skills --skill migrating-to-modifier-node -g -y
诊断并修复 Jetpack Compose Modifier 链排序错误,解决背景绘制、点击区域及裁剪异常等 UI Bug。指导开发者按正确顺序组合修饰符,并澄清性能优化的常见误区。
询问点击区域或背景绘制位置错误
审查包含 Modifier 链的代码差异
讨论是否需要缓存 Modifier 链
npx skills add skydoves/compose-performance-skills --skill ordering-modifier-chains -g -y
解决Jetpack Compose中SubcomposeLayout、BoxWithConstraints等引发的重复测量与首帧卡顿问题,指导替换廉价组件或优化使用策略。
报告额外测量传递或首帧慢
提到BoxWithConstraints或SubcomposeLayout性能回退
LazyColumn内嵌套导致滚动卡顿
npx skills add skydoves/compose-performance-skills --skill avoiding-subcomposition-pitfalls -g -y
指导在 Jetpack Compose 中何时使用 derivedStateOf 过滤高频输入至低频输出,避免纯开销。涵盖使用规则、remember 包装必要性及捕获非状态变量的陷阱修复。
询问是否应包裹 derivedStateOf
滚动位置驱动布尔值或阈值检查
高频输入转低频输出场景
derivedStateOf 未降低重组计数
询问计算字符串拼接是否适用
npx skills add skydoves/compose-performance-skills --skill choosing-derivedstateof -g -y
诊断 Jetpack Compose 重组问题,通过 Layout Inspector 和 TraceRecomposition 定位触发重组的组件及参数,辅助确认修复效果。
询问重组原因或计数
解释 Inspector 中的参数变化状态
验证重组修复是否生效
npx skills add skydoves/compose-performance-skills --skill debugging-recompositions -g -y
指导将 Jetpack Compose 中高频变化的状态读取从 Composition 阶段推迟到 Layout 或 Draw 阶段,通过 Lambda 修饰符优化性能,解决滚动和动画卡顿问题。
开发者提到每帧工作、滚动卡顿、动画卡顿或掉帧
整个子树在滚动时重新组合
在 Modifier 中直接读取高频状态值
npx skills add skydoves/compose-performance-skills --skill deferring-state-reads -g -y
指导在 Kotlin 2.0.20+ 强跳过模式下正确理解 Compose 可跳过性、Lambda 自动记忆及逃逸机制,用于解决意外重组和迁移问题。
询问是否仍需 @Stable 或组件是否可跳过
组件在父级更新时仍发生重组
Lambda 分配与性能疑问
从旧版本迁移至 Kotlin 2.0.20+
npx skills add skydoves/compose-performance-skills --skill using-strong-skipping-correctly -g -y
指导将 Compose UI 中的 collectAsState 迁移至 lifecycle-aware 的 collectAsStateWithLifecycle,优化 Flow 收集以解决后台耗电和无效重组问题,并处理 Flow 参数反模式。
提到 collectAsState 或 collectAsStateWithLifecycle
报告应用后台电池耗电异常
询问 Lifecycle.State.STARTED 语义
涉及 snapshotFlow 或 conflate/distinctUntilChanged
npx skills add skydoves/compose-performance-skills --skill collecting-flows-safely -g -y
提供 Jetpack Compose 中 LaunchedEffect、DisposableEffect 等副作用 API 的选择决策树,帮助开发者根据场景(如协程需求、清理逻辑)选择最优方案,避免资源泄漏或性能浪费。
询问 Compose 副作用 API 选择
LaunchedEffect 意外重启问题
回调状态过时 (stale callback)
需要非协程的注册/注销逻辑
LazyColumn 每行独立 ViewModel
npx skills add skydoves/compose-performance-skills --skill using-efficient-effects -g -y
通过启用并解读Jetpack Compose编译器报告,诊断重组性能问题,识别不稳定参数和非跳过组件。适用于卡顿、重绘过多等场景,定位根本原因。
询问为何发生重组
报告界面卡顿或掉帧
提及Compose Compiler Reports或classes.txt
排查不稳定参数
npx skills add skydoves/compose-performance-skills --skill diagnosing-compose-stability -g -y
通过 Gradle 插件在 CI 中建立稳定性门禁,当 Compose 稳定性回归时阻断构建。支持生成基线、对比差异并配置 GitHub Actions 实现自动化拦截,确保 UI 性能稳定。
需要设置稳定性 SLO 并在 CI 中强制执行
怀疑 PR 引入了导致卡顿的不稳定参数
迁移到强跳过模式时需要回归防护网
用户提到 stabilityCheck, baseline drift, ComposeGuard 或阻止稳定性回归
npx skills add skydoves/compose-performance-skills --skill enforcing-stability-in-ci -g -y
用于修复 Jetpack Compose 中不稳定的类型。遵循三层策略:重构为不可变、使用注解或配置外部类型,解决参数不稳定导致的过度重组问题。
编译器报告指出参数不稳定
开发者询问如何稳定 User 类或 List 参数
提及 @Immutable, @Stable 或 kotlinx.collections.immutable
npx skills add skydoves/compose-performance-skills --skill stabilizing-compose-types -g -y
解释 Compose 编译器稳定性推断结果,基于12阶段算法分析类型为何被判定为稳定、运行时稳定或不可预测。适用于排查泛型、跨模块或循环引用导致的意外分类问题。
询问特定类或参数为何被归类为不稳定
报告出现意外的运行时稳定或未知状态
涉及泛型、继承、循环或跨模块类的稳定性疑问
npx skills add skydoves/compose-performance-skills --skill understanding-stability-inference -g -y
用于安装和配置 Compose Stability Analyzer IDE 插件,提供编辑器内实时稳定性反馈。涵盖插件安装、Gutter 颜色解读、参数提示及快速修复,帮助开发者在编码阶段即时发现并解决 Composable 不稳定问题。
用户询问编辑器中的稳定性图标或内联提示
需要查看 Composable 的实时稳定性状态
解释 UnstableComposable 警告原因
请求安装或配置 Compose Stability Analyzer 插件
npx skills add skydoves/compose-performance-skills --skill using-stability-analyzer-ide-plugin -g -y
用于在IDE中可视化Jetpack Compose重组级联和实时热力图,分析状态变更的爆炸半径及组件重组频率。
询问改变某Composable的影响范围
查询滚动或动画期间的重组次数
提及Cascade或Heatmap标签页
执行重组级联分析或切换热力图
npx skills add skydoves/compose-performance-skills --skill visualizing-recomposition-cascades -g -y


