Agent Skills
› skydoves/compose-performance-skills
skydoves/compose-performance-skills
GitHubJetpack Compose性能审计编排技能,通过测量、诊断、修复、验证四阶段流程,协调25个专项技能进行端到端性能审查并生成报告。
安装全部 Skills
npx skills add skydoves/compose-performance-skills --all -g -y
集合内 Skills (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热重载中保持状态,通过理解三级重载机制(目标重组、组合重置、Activity重建),选择保留状态的编辑方式并提升临时UI状态,避免滚动位置丢失等问题。
热重载后滚动位置重置或对话框状态丢失
解释HotSwan重载为何升级至第2或第3级
计划重构Compose组件前评估影响范围
npx skills add skydoves/compose-performance-skills --skill preserving-state-across-reloads -g -y
指导开发者在 Android Studio 中从零配置 Compose HotSwan,包括安装 IDE 插件、配置 Gradle 编译器插件及 DSL,并在真机或模拟器上验证秒级热重载功能。
提及 HotSwan 或 Compose 热重载
询问如何应用 Gradle 编译器插件
项目首次接入 HotSwan
IDE 插件已安装但工具窗口状态异常
npx skills add skydoves/compose-performance-skills --skill setting-up-compose-hotswan -g -y
指导开发者理解 Android Compose HotSwan 热重载的限制,区分可热重载与需全量重建的变更边界。用于解答热重载失败原因、优化重构以避免触发重建,确保迭代效率。
询问为何触发全量重建
排查热重载未生效问题
评估重构对热重载的影响
学习 HotSwan 支持范围
npx skills add skydoves/compose-performance-skills --skill understanding-hot-reload-limits -g -y
针对Jetpack Compose懒加载布局的性能调优技能,指导配置预取窗口和可暂停组合以解决高滚动速度下的掉帧问题,涵盖API版本要求、嵌套场景处理及性能验证。
开发者提到预取窗口、LazyLayoutCacheWindow或可暂停组合
在高滚动速度下出现掉帧且项目可跳过
需要保留短暂滑过项目的组合状态
外层懒布局包含内层懒布局的嵌套场景
npx skills add skydoves/compose-performance-skills --skill configuring-lazy-prefetch -g -y
修复Jetpack Compose中Lazy布局的滚动卡顿、状态丢失及动画失效问题。通过配置稳定key、contentType及animateItem,优化混合列表性能与稳定性。
LazyColumn/Row滚动卡顿或掉帧
列表项在增删改时丢失滚动状态
animateItem()动画不生效
混合类型列表渲染迟缓
npx skills add skydoves/compose-performance-skills --skill optimizing-lazy-layouts -g -y
用于生成和测量 Jetpack Compose 基线配置文件,通过 AOT 编译优化冷启动和首屏滑动性能。涵盖配置 Macrobenchmark、编写测试规则及验证性能指标。
用户提到 baseline profile, macrobenchmark, slow cold startup, first-scroll jank
需要为发布版本准备性能基准测量
npx skills add skydoves/compose-performance-skills --skill generating-baseline-profiles -g -y
指导在 Android Jetpack Compose 性能测试中使用 Release 模式构建,以获取真实性能数据。涵盖配置 R8、禁用 Live Literals 及使用 Macrobenchmark 等工具进行基准测试,适用于排查卡顿、启动慢及性能回归问题。
报告启动慢或掉帧
审查性能 Bug
设置 CI 性能门禁
分析来自 Debug 构建的性能指标
npx skills add skydoves/compose-performance-skills --skill testing-compose-in-release-mode -g -y
在Jetpack Compose中使用@TraceRecomposition追踪运行时重组差异,支持发布模式下的性能诊断与稳定性验证。
需要追踪发布模式下Compose组件的重组行为
使用@TraceRecomposition或compose-stability-analyzer进行性能分析
确认重组修复在类生产环境中的效果
npx skills add skydoves/compose-performance-skills --skill tracing-recompositions-at-runtime -g -y
指导将 Jetpack Compose 自定义修饰符从 Modifier.composed 迁移至高性能的 Modifier.Node,涵盖生命周期管理、专用接口实现及手动失效控制。
代码中出现 Modifier.composed
需要从零创建自定义修饰符
代码审查发现 Modifier.composed
涉及 CoroutineScope 或 CompositionLocal
npx skills add skydoves/compose-performance-skills --skill migrating-to-modifier-node -g -y
用于诊断和修复 Jetpack Compose 中 Modifier 链顺序错误导致的 UI 问题,如背景绘制区域、点击范围及裁剪异常。指导开发者理解修饰符嵌套逻辑并正确排序。
询问为什么点击区域超出可见按钮或背景绘制位置错误
审查代码中 Modifier 链的顺序是否合理
讨论是否应缓存 Modifier 链以提升性能
npx skills add skydoves/compose-performance-skills --skill ordering-modifier-chains -g -y
解决Jetpack Compose中因SubcomposeLayout、BoxWithConstraints或Scaffold滥用导致的额外测量、首帧卡顿及滚动性能问题,指导如何替换廉价原语或优化子组合。
报告额外测量传递或首帧慢
提及BoxWithConstraints或SubcomposeLayout性能回退
LazyColumn内嵌套导致滚动卡顿
npx skills add skydoves/compose-performance-skills --skill avoiding-subcomposition-pitfalls -g -y
指导在 Jetpack Compose 中判断何时使用 derivedStateOf 优化性能。涵盖高频输入转低频输出的场景、必须包裹 remember 的规则、捕获非状态变量的陷阱及 snapshotFlow 替代方案,帮助避免不必要的重组开销。
询问是否应使用 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阶段,避免每帧重组导致的卡顿。
动画或滚动导致整棵子树频繁重组
报告每帧工作、滚动/动画卡顿或掉帧
在修饰符中直接读取热状态值
npx skills add skydoves/compose-performance-skills --skill deferring-state-reads -g -y
针对Kotlin 2.0.20+ Jetpack Compose的强跳过模式,指导开发者理解自动remember机制、Lambda捕获行为及跳过策略。涵盖验证模式激活、审计Lambda捕获点,以及使用@DontMemoize等注解处理无法自动记忆的场景,解决不必要的重组问题。
询问是否仍需要@Stable或组件是否跳过
迁移至Kotlin 2.0.20+后重组异常
遇到@DontMemoize或@NonSkippableComposable注解
分析Lambda分配与自动记忆行为
npx skills add skydoves/compose-performance-skills --skill using-strong-skipping-correctly -g -y
指导将Compose中的collectAsState迁移至collectAsStateWithLifecycle,优化Flow收集以节省电量,解决后台CPU消耗及UI频繁刷新问题。
用户提及 collectAsState 或 collectAsStateWithLifecycle
报告应用后台电池消耗过快或屏幕在后台仍工作
询问 Flow 参数反模式、conflate 或 snapshotFlow
npx skills add skydoves/compose-performance-skills --skill collecting-flows-safely -g -y
提供 Jetpack Compose 中 Effect API(LaunchedEffect、DisposableEffect 等)的选择决策树,解决回调过期、内存泄漏及性能优化问题。
选择正确的 Compose Effect API
调试 LaunchedEffect 意外重启或回调过期
处理非协程订阅者的生命周期管理
LazyColumn 中为每行创建独立 ViewModel
npx skills add skydoves/compose-performance-skills --skill using-efficient-effects -g -y
用于诊断 Jetpack Compose 稳定性问题。通过启用并解读 Compose Compiler Reports(如 classes.txt),识别导致过度重组的不稳定参数和非跳过组件,辅助解决卡顿和帧丢失问题。
询问为何发生重组
报告界面卡顿或掉帧
提及 Compose Compiler Reports 或 classes.txt
怀疑参数不稳定
查找不可跳过的组件
npx skills add skydoves/compose-performance-skills --skill diagnosing-compose-stability -g -y
通过集成 Compose 稳定性分析插件,在 CI 中建立门禁机制。自动生成并比对稳定性基线,当检测到 UI 渲染性能回归时阻断构建,防止不稳定代码合并,保障应用帧率与用户体验。
团队希望在 CI 中强制执行稳定性 SLO
用户提及 stabilityCheck、stabilityDump 或 ComposeGuard
迁移到强跳过模式需要回归测试保护
PR 引入了导致掉帧的不稳定参数
npx skills add skydoves/compose-performance-skills --skill enforcing-stability-in-ci -g -y
修复 Jetpack Compose 类型不稳定问题,提供基于源码所有权和类型的三层优化策略,包括重构为不可变、添加注解及使用配置文件,以提升重组性能。
编译器报告显示参数不稳定
询问如何稳定数据类或第三方类型
提及 @Immutable 或 @Stable 等注解
日志显示因参数重新分配导致重组
npx skills add skydoves/compose-performance-skills --skill stabilizing-compose-types -g -y
解析 Compose 编译器稳定性推断算法,解释类型被标记为稳定、运行时或未知的深层原因,适用于排查泛型、跨模块及复杂继承场景下的稳定性判定问题。
询问为何某类被判定为特定稳定性等级
分析包含泛型或跨模块类的稳定性报告
npx skills add skydoves/compose-performance-skills --skill understanding-stability-inference -g -y
用于在IDE中实时分析Jetpack Compose稳定性,提供行内颜色标记、参数提示及修复建议,缩短反馈循环。
用户询问IDE中的稳定性图标或行内提示
需要实时查看Composable稳定性反馈
询问UnstableComposable警告原因
npx skills add skydoves/compose-performance-skills --skill using-stability-analyzer-ide-plugin -g -y
分析 Android Compose 重组级联和热图,通过静态调用图和实时日志可视化状态变更影响范围。
询问组件变更的重组影响范围
查询滚动或动画中的重组频率
提及 Cascade 或 Heatmap 功能
npx skills add skydoves/compose-performance-skills --skill visualizing-recomposition-cascades -g -y


