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状态(如滚动位置、对话框),避免状态丢失或意外重建。
热重载后滚动条跳回顶部
对话框状态丢失
LazyColumn重新获取数据
Tab选择重置
询问HotSwan层级升级原因
npx skills add skydoves/compose-performance-skills --skill preserving-state-across-reloads -g -y
指导开发者从零配置 Compose HotSwan,实现设备端亚秒级热重载。涵盖 IDE 插件安装、Gradle 编译器插件集成及首次保存即更新验证。
提及 HotSwan 或 Compose 热重载
询问如何应用 Gradle 编译器插件
新项目接入 HotSwan 配置
工具窗口状态卡在 WATCHING 前
npx skills add skydoves/compose-performance-skills --skill setting-up-compose-hotswan -g -y
解析 Kotlin Compose HotSwan 热重载边界,区分可即时重载与需全量重建的变更类型,帮助开发者优化迭代流程并排查重建问题。
询问为何触发全量重建或热重载失败
审查可能破坏热重载的重构代码
学习 HotSwan 支持范围以规划编辑顺序
npx skills add skydoves/compose-performance-skills --skill understanding-hot-reload-limits -g -y
用于配置 Jetpack Compose 懒加载预取策略,包括设置缓存窗口和暂停式组合,解决高滚动速度下的掉帧问题。
高滚动速度导致掉帧
提及 LazyLayoutCacheWindow 或预取窗口
需要优化嵌套懒加载布局性能
npx skills add skydoves/compose-performance-skills --skill configuring-lazy-prefetch -g -y
用于修复Jetpack Compose中LazyLayout的滚动卡顿、状态丢失及动画失效问题。指导开发者通过配置稳定Key、contentType及优化Modifier提升性能。
LazyColumn/Row滚动卡顿或掉帧
列表项在增删改时丢失滚动位置或焦点
混合类型Feed渲染迟缓
animateItem()未生效
npx skills add skydoves/compose-performance-skills --skill optimizing-lazy-layouts -g -y
用于生成和测量Jetpack Compose基线配置文件的技能,涵盖冷启动及首屏滚动的性能优化与验证。
用户提到 baseline profile、macrobenchmark、TTFD 或启动慢
需要为发布版本建立性能基线或验证性能改进
npx skills add skydoves/compose-performance-skills --skill generating-baseline-profiles -g -y
指导在 Android Jetpack Compose 性能测试中使用 Release 模式构建,以获取真实生产环境数据。解决 Debug 版本因解释执行和 Live Literals 导致的性能偏差问题,涵盖 Macrobenchmark、Profiler 等工具的正确配置与使用。
开发者报告来自 Debug 构建的性能指标(如启动慢、掉帧)
准备提交性能基准测试数据或性能回归报告
设计 CI 性能门禁流程
分析 Compose Compiler 报告前
npx skills add skydoves/compose-performance-skills --skill testing-compose-in-release-mode -g -y
通过 @TraceRecomposition 在运行时追踪 Jetpack Compose 重组差异并输出日志,支持发布版构建中的性能分析与稳定性验证。
需要分析发布模式下的重组性能
使用 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 工厂模式
涉及动画、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等导致的额外测量和重复组合问题,提供检测、替换廉价原语及优化性能的方案。
报告首帧卡顿或滚动掉帧
提及SubcomposeLayout或BoxWithConstraints性能问题
出现多次measure pass或布局重新计算
npx skills add skydoves/compose-performance-skills --skill avoiding-subcomposition-pitfalls -g -y
指导在 Jetpack Compose 中正确使用 derivedStateOf,依据输入输出频率对比判断是否适用。涵盖包裹 remember、避免初始值捕获陷阱及 snapshotFlow 替代方案,优化重组性能。
询问是否应使用 derivedStateOf
滚动位置驱动布尔值或阈值检查
高频输入转低频输出的状态派生
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(state.value)等值形式修饰符
npx skills add skydoves/compose-performance-skills --skill deferring-state-reads -g -y
针对 Kotlin 2.0.20+ Jetpack Compose 强跳过模式,指导开发者理解自动记忆 Lambda、验证跳过行为及处理例外情况。
询问是否仍需 @Stable
Composable 异常重新组合
Lambda 分配与性能疑问
迁移至 Kotlin 2.0.20+
遇到 @DontMemoize 等注解
npx skills add skydoves/compose-performance-skills --skill using-strong-skipping-correctly -g -y
指导将 Compose UI 中的 collectAsState 迁移至 lifecycle-aware 的 collectAsStateWithLifecycle,优化 Flow 收集以解决后台耗电和无效重组问题,并处理 Flow 作为参数的反模式。
使用 collectAsState 导致后台电池消耗或 CPU 浪费
询问 collectAsState 与 collectAsStateWithLifecycle 的区别
Composable 接收 Flow 参数
需要处理高频 Flow 发射以避免 UI 过度重组
npx skills add skydoves/compose-performance-skills --skill collecting-flows-safely -g -y
提供 Jetpack Compose 中 LaunchedEffect、DisposableEffect 等副作用 API 的选择决策树,帮助开发者根据场景选择最合适的 API,避免协程浪费、监听器泄漏及回调过期等问题。
询问如何选择 Compose 效果 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
查询特定类型是否稳定
npx skills add skydoves/compose-performance-skills --skill diagnosing-compose-stability -g -y
配置 CI 门禁以拦截 Compose 稳定性回归,通过 Gradle 插件生成基线并在 PR 中对比,确保构建失败时阻止不稳定代码合并。
团队希望在 CI 中强制实施稳定性 SLO
怀疑 PR 引入了导致卡顿的不稳定参数
迁移到强跳过模式需防止回归
用户提及 stabilityCheck、stabilityDump 或 ComposeGuard
npx skills add skydoves/compose-performance-skills --skill enforcing-stability-in-ci -g -y
修复 Jetpack Compose 不稳定类型。提供三层策略:重构为不可变、添加注解或配置外部类型,以解决编译器报告的参数不稳定问题。
编译器报告参数不稳定
询问如何稳定数据类或集合参数
提及 @Immutable 或 stabilityConfiguration
npx skills add skydoves/compose-performance-skills --skill stabilizing-compose-types -g -y
解释 Compose 编译器稳定性推断结果,基于12阶段算法分析类型分类原因,处理泛型、跨模块及运行时稳定等复杂场景。
询问类型稳定性分类原因
报告出现意外的 runtime stable 或 unknown
涉及泛型、继承或循环引用
讨论 $stable 字段或 @StabilityInferred
npx skills add skydoves/compose-performance-skills --skill understanding-stability-inference -g -y
指导安装和配置 JetBrains IDE 插件以提供 Jetpack Compose 实时稳定性反馈,涵盖 gutter 图标、内联提示及快速修复操作。
询问编辑器中的 Compose 稳定性图标或警告
需要实时编辑时的稳定性检查
请求安装或配置 Stability Analyzer 插件
npx skills add skydoves/compose-performance-skills --skill using-stability-analyzer-ide-plugin -g -y
分析 Compose 重组级联与热图,提供静态调用图影响范围及运行时重组计数,辅助性能排查与重构评估。
询问改变某组件的影响范围
查询滚动或动画期间的重组次数
提及 Cascade 或 Heatmap 标签页
需要重组爆炸半径分析
npx skills add skydoves/compose-performance-skills --skill visualizing-recomposition-cascades -g -y


