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的MCP工作流
npx skills add skydoves/compose-performance-skills --skill iterating-with-ai-and-mcp -g -y
指导开发者在Jetpack Compose HotSwan热重载中保持UI状态,通过理解三级重载机制选择合适状态持有者,避免滚动位置、对话框等状态丢失。
热重载后滚动位置重置或跳转
对话框或Tab状态丢失
询问HotSwan重载层级及原因
计划重构需确认状态保留范围
npx skills add skydoves/compose-performance-skills --skill preserving-state-across-reloads -g -y
指导开发者在Android项目中从零配置Compose HotSwan,包括安装IDE插件、配置Gradle编译器插件及验证热重载功能。
用户询问HotSwan或Compose热重载配置
需要设置Gradle编译器插件以实现即时UI更新
npx skills add skydoves/compose-performance-skills --skill setting-up-compose-hotswan -g -y
解析 Android Compose HotSwan 热重载限制,说明 ART 类结构不可变导致全量重建的原因。涵盖支持与触发重建的变更列表,指导开发者保持快速路径或排查构建问题。
询问为何触发全量重建
HotSwan 热重载失效排查
PR 审查中涉及重构的风险评估
学习 HotSwan 边界
npx skills add skydoves/compose-performance-skills --skill understanding-hot-reload-limits -g -y
用于配置 Jetpack Compose 懒加载预取策略,通过 LazyLayoutCacheWindow 和可暂停组合优化高滚动速度下的帧率,解决掉帧问题。
高滚动速度下出现掉帧
需要调整预取窗口范围
处理嵌套懒布局的预取
提及 LazyLayoutCacheWindow 或 pausable composition
npx skills add skydoves/compose-performance-skills --skill configuring-lazy-prefetch -g -y
修复 Jetpack Compose Lazy 布局的滚动卡顿、状态丢失及动画失效问题。通过优化稳定键值、contentType 和 animateItem,提升列表性能与稳定性。
LazyColumn/Row 滚动卡顿或掉帧
列表项在增删改时丢失滚动状态
animateItem() 动画不生效
混合类型 Feed 渲染迟缓
编译器报告 Item Composable 不稳定
npx skills add skydoves/compose-performance-skills --skill optimizing-lazy-layouts -g -y
用于生成和测量Jetpack Compose基线配置文件,优化冷启动与首屏流畅度。涵盖配置BaselineProfileRule、生成prof文件及使用Macrobenchmark验证性能提升,适用于发布前性能基准测试。
用户提到 baseline profile, macrobenchmark, slow cold startup, first-scroll jank
需要验证 AOT 编译对启动速度和帧率的影响
准备发布版本并进行性能度量
npx skills add skydoves/compose-performance-skills --skill generating-baseline-profiles -g -y
指导在 Android Jetpack Compose 性能测试中使用 Release 模式构建,以获取真实的生产环境数据。涵盖 R8、Live Literals 及编译器报告的正确配置,解决 Debug 模式下的性能误判问题。
开发者报告来自 Debug 构建的性能指标(如启动时间、重组次数)
准备提交性能回归报告或 PR 中的基准测试数据
设计 CI 性能门禁
质疑 Play Store 与本地 Benchmark 数据的差异
npx skills add skydoves/compose-performance-skills --skill testing-compose-in-release-mode -g -y
通过@TraceRecomposition在运行时追踪Jetpack Compose重组差异并输出日志,用于发布模式下的性能诊断与稳定性确认。
用户提及 @TraceRecomposition
需要追踪重组差异或热图
在发布版本中确认重组修复
npx skills add skydoves/compose-performance-skills --skill tracing-recompositions-at-runtime -g -y
指导将Jetpack Compose中低效的Modifier.composed迁移至高性能的Modifier.Node,涵盖节点生命周期、专用接口实现及数据类Diffing机制。
代码审查发现Modifier.composed
需从零创建自定义修饰符
涉及动画或CompositionLocal读取
搜索到Modifier.composed关键词
npx skills add skydoves/compose-performance-skills --skill migrating-to-modifier-node -g -y
诊断并修复 Jetpack Compose Modifier 链顺序错误,解决背景绘制、点击区域、裁剪及测量异常等问题。指导按包裹模型正确排序 Modifier,避免常见 UI Bug。
开发者询问为什么点击区域超出可见按钮或背景绘制位置错误
代码审查中发现 Modifier 链顺序不当(如 padding 与 background 顺序)
npx skills add skydoves/compose-performance-skills --skill ordering-modifier-chains -g -y
针对 Jetpack Compose 中 SubcomposeLayout、BoxWithConstraints 和 Scaffold 导致的额外测量循环、首帧卡顿及性能下降问题,提供检测、替换廉价原语及优化组合策略的指导。
报告额外的测量传递或首帧缓慢
在 LazyColumn 内使用 BoxWithConstraints 导致滚动卡顿
Scaffold 或 BoxWithConstraints 嵌套导致性能退化
提及 'extra measure pass' 或 'subcompose' 等关键词
npx skills add skydoves/compose-performance-skills --skill avoiding-subcomposition-pitfalls -g -y
指导在Jetpack Compose中何时使用derivedStateOf优化重组,涵盖高频输入转低频输出场景、remember包装规范及捕获非状态变量等常见陷阱。
询问是否应使用derivedStateOf
滚动位置驱动布尔值逻辑
重组计数未下降或值不更新问题
npx skills add skydoves/compose-performance-skills --skill choosing-derivedstateof -g -y
用于诊断 Jetpack Compose 中组件异常重组的原因。通过 Layout Inspector 计数、参数变更原因及运行时追踪,定位导致重组的组件和参数,辅助确认修复效果。
开发者询问为何组件未跳过重组
需要查看特定组件的重组计数
解释 Layout Inspector 中的变更原因状态
验证稳定性或强跳过修复是否生效
npx skills add skydoves/compose-performance-skills --skill debugging-recompositions -g -y
指导将Jetpack Compose中高频变化的状态读取从Composition阶段延迟至Layout或Draw阶段,通过Lambda修饰器避免不必要的重组,解决滚动和动画卡顿问题。
开发提到每帧工作、滚动卡顿、动画卡顿或掉帧
整个子树在滚动时重组
在Modifier中直接读取高频状态值如alpha或offset
npx skills add skydoves/compose-performance-skills --skill deferring-state-reads -g -y
针对 Kotlin 2.0.20+ 强跳过模式,指导 Composable 可跳过性验证、Lambda 自动记忆审计及逃逸注解使用。
询问是否仍需 @Stable
Composable 异常重新组合
迁移至 Kotlin 2.0.20+
询问 Lambda 分配问题
npx skills add skydoves/compose-performance-skills --skill using-strong-skipping-correctly -g -y
解决Compose中Flow收集导致的后台耗电和UI无效更新问题。指导将collectAsState替换为collectAsStateWithLifecycle以绑定生命周期,处理chatty流,并修复Flow作为可组合函数参数的反模式。
提及 collectAsState 或 collectAsStateWithLifecycle
报告应用后台时电池消耗异常或CPU占用高
Composable 接收 Flow<T> 参数
需要 lifecycle-aware 的 Flow 收集
npx skills add skydoves/compose-performance-skills --skill collecting-flows-safely -g -y
指导在 Jetpack Compose 中选择最合适的 Effect API(如 LaunchedEffect、DisposableEffect 等),避免协程浪费、回调过期及内存泄漏,并提供决策树与使用场景说明。
询问选择哪个 Effect API
LaunchedEffect 意外重启或回调过期
需要非协程的 setup/teardown
LazyColumn 行级 ViewModel 隔离
npx skills add skydoves/compose-performance-skills --skill using-efficient-effects -g -y
诊断 Jetpack Compose 稳定性问题。通过启用并分析 Release 构建的编译器报告(classes.txt等),识别不稳定的参数和非可跳过的组件,解决重组过多导致的卡顿和掉帧问题。
询问为何发生重组
报告界面卡顿或掉帧
提到 Compose Compiler Reports 或 classes.txt
怀疑参数不稳定
npx skills add skydoves/compose-performance-skills --skill diagnosing-compose-stability -g -y
在CI中集成Compose稳定性分析插件,通过提交基线并对比PR变更,当UI稳定性回归时自动阻断构建,防止性能问题流入生产环境。
团队希望在CI中强制执行稳定性SLO
用户提到stabilityCheck、baseline drift或ComposeGuard
需要将大型应用迁移至强跳过模式并监控回归
npx skills add skydoves/compose-performance-skills --skill enforcing-stability-in-ci -g -y
修复 Jetpack Compose 中不稳定的类型,按三层策略:重构为不可变、添加注解或配置外部类型。
编译器报告参数不稳定
询问如何稳定 User 类或 List 参数
提及 @Immutable 或 stabilityConfigurationFiles
npx skills add skydoves/compose-performance-skills --skill stabilizing-compose-types -g -y
解析 Jetpack Compose 编译器稳定性推断机制,基于12阶段算法解释类型为何被标记为稳定、运行时稳定或不可用。适用于分析泛型、跨模块及复杂继承结构下的稳定性判定原因。
询问特定类或参数为何被分类为稳定、运行时稳定或不可用
分析包含泛型、循环引用或跨模块类的稳定性报告
排查 $stable 字段或 @StabilityInferred 注解相关的意外结果
npx skills add skydoves/compose-performance-skills --skill understanding-stability-inference -g -y
指导在IDE中安装和配置Compose稳定性分析插件,提供实时代码审查反馈。适用于编辑时查看稳定性指示、解决非可跳过警告及理解参数稳定性问题。
用户询问编辑器中的稳定性 gutter 图标或内联提示
需要实时获取 Compose 稳定性反馈而非等待构建完成
排查 UnstableComposable 弱警告或非可跳过原因
本地 PR 审查时查看内联稳定性信号
npx skills add skydoves/compose-performance-skills --skill using-stability-analyzer-ide-plugin -g -y
用于在IDE中可视化Jetpack Compose的重组级联和实时热力图,辅助分析状态变更的影响范围及性能热点。
询问组件变更的重组影响范围
查询滚动或动画期间的重组次数
提及Cascade或Heatmap标签页
请求分析重组级联或切换热力图
npx skills add skydoves/compose-performance-skills --skill visualizing-recomposition-cascades -g -y


