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) ,例如我的检查里:

less 复制代码
**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 ,这个技能技必须不能错过。

我糟糕项目的报告可见:github.com/CarGuo/GSYG...

最后,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 则是专家级别的经验检测,能快速帮你找到需要优化的问题和建议。

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

链接

github.com/hamen/compo...

github.com/android/ski...

相关推荐
mmsx1 分钟前
Android 测绘数值基础:测量单位系统与七四参数、高程拟合
android
Hilaku7 分钟前
为什么我劝应届生不要去创业公司写前端?
前端·javascript·程序员
郑州光合科技余经理10 分钟前
出海外卖平台:支付对接为什么要和下单收款分开
android·java·开发语言·前端·后端·php·ai编程
夜雪一千11 分钟前
MySQL 如何提高查询速度:从索引、SQL、表结构到实战调优
android·sql·mysql
FungLeo23 分钟前
成为全栈·Flutter App 篇·移动端错误与限流:429、重试和写请求边界
flutter·限流·dart·dio·错误处理·成为全栈
data analyse 45624 分钟前
前端自建访问统计,访客标识怎么设计才稳?Cookie、本地存储与设备指纹的取舍
前端·数据分析
终端安全笔记29 分钟前
配置锁状态那一栏查的是什么:报告里几项各自指向什么风险
android·前端·安全·ios
恋猫de小郭38 分钟前
Kotlin Toolchain 0.13,JetBrains 推荐 KMP 都切换到到全新工具链
android·前端·flutter
m0_7381858244 分钟前
Flutter 鸿蒙化实战:rive 适配 OpenHarmony,Rive 动画
flutter·华为·harmonyos·鸿蒙
我是人✓1 小时前
Java面向对象核心特性深度解析
java·前端·算法