当前位置: 首页 > news >正文

compose_skill 和 android skills,对 Android 项目提升巨大的专家 AI Skills

最近发现了一个非常不错的 Compose AI Skills 项目 compose_skill ,这个 Skills 可以针对你的 compose 项目生成一份评分的报告,例如下面就是我的 Compose 项目在这个 Skills 下得到的评分:

  • 性能:4/10

  • 状态管理:5/10

  • 副作用:6/10

  • Composable API 质量:5/10

技能检查后的整体评价是:项目已经是比较完整的 Compose 多模块应用,结构合理,但是列表性能、状态收集方式、可复用组件的 API 设计,还有 ViewModel/模型穿透 UI 的方式,都存在系统性的问题,最关键的是这些问题不是零星个别点,而是在多个 feature 里重复出现了,所以只有 46/100

compose_skill整体可信度还是可以的,它不是只是通过提示词和 rules 做评审,而是会通过内置的 Gradle 初始化脚本,直接生成并解析 Compose 编译器的报告(Reports)和指标(Metrics),主要评判维度有:

  • 性能 (35%):检查 Compose 里的耗时操作、Lazy 列表的 Key、稳定性(Stability)、强跳过模式(Strong Skipping)

  • 状态管理:审计状态提升(Hoisting)、单一事实来源、生命周期感知的状态收集

  • Side Effects:检查 Effect API 的正确使用、Key 的选择、回调捕获

  • API 质量:审查 Modifier 规范、参数顺序、Slot API 设计

然后技能会生成一个名为COMPOSE-AUDIT-REPORT.md的报告,报告不只有分数(0-100),而是每一项扣分都会附带代码位置官方文档引用 (References),例如我的检查里:

**State management: Android screens collect flows without lifecycle awareness** ​ - Why it matters: `collectAsState()` keeps collecting even when the screen is stopped, which wastes work and can keep screen state hot longer than intended. - Evidence: `app/src/main/java/com/shuyu/gsygithubappcompose/MainActivity.kt:49`, `feature/search/src/main/java/com/shuyu/gsygithubappcompose/feature/search/SearchScreen.kt:34`, `feature/detail/src/main/java/com/shuyu/gsygithubappcompose/feature/detail/RepoDetailScreen.kt:106`, `feature/profile/src/main/java/com/shuyu/gsygithubappcompose/feature/profile/ProfileScreen.kt:28` - Fix direction: add `lifecycle-runtime-compose` and switch Android UI collectors to `collectAsStateWithLifecycle()`. - References: <https://developer.android.com/develop/ui/compose/state>

最重要是,它还能从审计结果利筛选出影响力最大的修复点,同时预测修复后对skippable%(可跳过率)指标的提升效果

而相比起那些只通过提示词和规格的技能, 这个技能之所以能够做到深度的专家级审计,主要是因为:

  • Gradle : 项目自带了scripts/compose-reports.init.gradle,在技能使用时 AI 会通过--init-script运行项目的 Gradle 任务,将编译器报告的配置动态注入到构建流程中,在不改动代码的情况下拿到部分数据

  • 静态源码分析: 它定义了一套详尽的 Ripgrep (rg) 搜索策略,涵盖了从derivedStateOf滥用、remember缺失 Key 到Scaffold忽略内边距等数十种常见问题

  • 评分机制: 不是主观评价,在性能评分里如果skippable%低于 50%,或者不稳定类的数量超过阈值,性能得分会强制“封顶”(例如最高只能给 4 分),无论其他地方写得再好也不行

  • 知识图谱与官方文档锚定: 该项目维护了一份canonical-sources.md,将所有的审计规则直接关联到 Android 官方文档和 AndroidX 源码中的 API 指南

所以相比起单纯的 AI 评价,它会更专业和全面,而相比起一般的 Linter,它结合了编译器的真实数据 + AI,不仅能告诉你“这个类可能不稳定”,还能通过编译器报告指出是哪个属性导致了不稳定

当然,它对视觉能力审计会比较弱,作者也维护了另一个叫material-3的技能,这个技能会针对Material 3 的合规性、配色或排版进行评分。

这个技能可以看成是一个高级工程师的经验(如何看编译器报告、如何找状态提升问题、如何优化侧效应)固化成了 AI 可执行的脚本和规则,然后再通过 AI 进行量化判断,可以说是无私的奉献了:

你可以用它作为每次提交代码后的自动审查工具,或者在接手一个混乱的旧项目时,用它来快速定位性能瓶颈和架构风险

总之,如果你正在用 Compose ,这个技能技必须不能错过。

我糟糕项目的报告可见:https://github.com/CarGuo/GSYGithubAppCompose/blob/master/COMPOSE-AUDIT-REPORT.md

最后,android 官方也发布了对应的 skills,目前主要是用于帮助 AI 升级和适配的技能,比如:

  • 将 Android 项目升级到Android Gradle Plugin (AGP) 9,涉及 DSL 迁移、内置 Kotlin 迁移、KSP 适配等复杂步骤

  • 提供了将旧版XML 视图迁移到 Jetpack Compose的结构化工作流,定义了一套包含 10 个步骤的方法论,确保 UI 的视觉一致性和功能完整性

  • 其他还涵盖了Navigation 3导航系统、R8 分析器性能优化以及全屏显示 (Edge-to-Edge)适配等场景

这份技能主要通过各种结构化的技术文档来告诉 AI 应该怎么处理升级和适配,需要遵循什么规则,每个技能都包含详细的前置要求 、具体步骤、操作准则 和验证方法,所以它不仅告诉 AI “做什么”,还明确规定了“不能做什么”,比如:

在 AGP 升级中禁止编写 Python 脚本。

技能文档中大量引用了references/目录下的技术参考资料,例如在 XML 迁移技能中,它会引用专门的“分析项目布局”和“设置 Compose 依赖”的子文档。

所以这里最重要的就是,官方已经在强烈暗示你:「migrate-xml-views-to-jetpack-compose」,毕竟 AI 场景下,XML 确实也是更不上了

总的来说,android skills是偏通用性质的升级和适配场景,内容也都是文档和资料,而compose_skill则是专家级别的经验检测,能快速帮你找到需要优化的问题和建议。

我已经开始好奇了,你的项目能得几分~

链接

https://github.com/hamen/compose_skill

https://github.com/android/skills

http://www.jsqmd.com/news/652375/

相关文章:

  • 2026年化妆学校择校参考:零基础入门与技能提升指南 - 品牌测评鉴赏家
  • Infoseek舆情监测系统技术解析:基于AI的企业品牌数字化防护架构
  • LEETCODE HOT 100 二分查找 C‘s Log
  • 2026秋冬化妆培训榜|5家顶流机构深度测评,选课秘籍 - 品牌测评鉴赏家
  • **蓝绿部署实战:用 Go 实现无中断服务更新的优雅方案**在现代微服务架构中,**如何实现
  • Canvas小游戏避坑指南:手写圆形、矩形碰撞检测,告别第三方库
  • 2026年化妆造型行业观察:新手入行前,如何看懂一家培训机构的“底色”? - 品牌测评鉴赏家
  • 别再死记硬背4536251了!用Cubase/FL Studio实战拆解流行歌的和弦套路
  • 学历升级必看!靠谱本科提升机构大盘点 - 品牌测评鉴赏家
  • 把 Running IDE Actions 真正用进 ADT 日常开发
  • 图卷积神经网络3-空域卷积:从GNN到PGC,核心思想与演进脉络解析
  • DiT(Diffusion Transformer)形象讲解(建议先看懂前几篇文章)
  • Python3 数字(Number)
  • JAVA-SSM学习9 MyBatisPlus-DML编程控制
  • 跨越“舒适区”:一个Android开发者的纯血鸿蒙转型全记录——从学习阵痛、技术对比到商业回报的真实访谈
  • 10《CAN总线ID分配规则与节点优先级机制详解》
  • LeetCode HOT100 - 合并 K 个升序链表
  • 直播推流避坑指南:为什么你的抖音直播总卡顿?可能是选错了流类型
  • 技术视角深度解析:Infoseek数字公关AI中台架构与实现
  • 解密水体光谱特征:为什么清澈水体在遥感图像上呈现黑色?
  • 别再死记硬背了!用TRIZ功能分析,5步搞定产品设计中的‘过度’与‘不足’
  • 2026年全球网络安全七大趋势(生存法则)
  • 保姆级避坑指南:在ROS Kinetic上从源码编译TurtleBot3仿真包(含Gazebo环境变量报错解决)
  • Vue2 + Element UI 实战:手把手教你封装一个高复用的 SearchForm 搜索组件
  • XCharts 深度解析:Unity 数据可视化图表插件实战指南
  • 力扣热门100题之跳跃游戏
  • 超越Grad-CAM:用大核卷积论文技巧可视化你的CNN感受野(含Colab链接)
  • 面试官视角:操作系统八股文背后的设计哲学与工程权衡(附高频考点拆解)
  • 监管沙盒已批!2026奇点大会公布的AI理财顾问持牌路径全解析,附银保监2025-11号文实操对照表
  • 别再傻傻分不清了!从光线投射到路径追踪,一张图看懂光线追踪的进化史