1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | styles-android-skills |
| 作者/维护者 | Google LLC |
| 来源链接 | https://github.com/android/skills/tree/main/jetpack-compose/theming/styles |
| 许可证 | Apache License 2.0(数据来自 GitHub API) |
| GitHub Stars | 所属合集仓库 android/skills 整体 7,325(数据来自 GitHub API;该数字属整个合集,不代表本技能自身热度) |
| Forks | 476(同上,属合集整体数字) |
| 最新版本 | SKILL.md 标注 last-updated 2026-09-03 |
| 安装方式 | Android CLI 一条命令,或手动复制目录到 Agent 技能目录 |
2. 功能介绍与亮点
- 指导把 Jetpack Compose 自定义组件从零散的硬编码 Modifier 参数(
backgroundColor、shape、textStyle等)迁移到官方新推出的 Styles API(androidx.compose.foundation.style.Style),统一到集中管理的ComponentStyles.kt样式表中。 - 按 4 步组织迁移流程:分析现有主题结构 → 建立
ComponentStyles样式集合 → 逐组件迁移(含“迁移前/迁移后”完整 Kotlin 代码对照) → 构建与截图测试验证视觉无回归;每步都给出可直接执行的检查动作。 - 提供
MutableStyleState交互状态跟踪、Modifier.styleable()应用方式、以及“何时用 Style、何时仍用 Modifier”的架构取舍参考文档,覆盖从静态样式到交互态过渡动画的完整场景。 - 明确划定能力边界:仅支持自定义 UI 组件与自定义主题的迁移,不支持 Material Design 组件的样式迁移,避免使用者对适用范围产生误解。
- SKILL.md 正文本身对能力边界做了醒目提示:该 API 目前处于 EXPERIMENTAL 阶段,要求项目升级到 Compose Foundation 1.12.0-alpha01(或 BOM 2026.04.01)以上并显式开启 Experimental API opt-in,属于面向“愿意提前尝鲜官方新范式”团队的技能,而非面向生产稳定版项目的通用建议。
3. 适用场景
所属固定分类:前端与设计——该技能处理的是 Compose UI 层的可视化样式定义与主题令牌管理,产出物是组件外观与交互态样式,属界面表现层而非后端逻辑或纯工程工具链;与库内 --neighbors "Jetpack Compose 主题 样式 设计系统" 命中最多的同类分类一致(86 条命中中 32 条落前端与设计,为最大类),且与同仓库姊妹技能 migrate-xml-views-to-jetpack-compose-android-skills、navigation-3-android-skills 判定一致。
适用人群:已用 Jetpack Compose 自建设计系统、且愿意提前采用官方 Experimental 新 API 的 Android 开发团队——尤其是维护大量自定义组件(按钮、卡片、输入框等)、希望把散落各处的样式参数收敛为统一样式表以降低重复代码与视觉不一致风险的团队;要求项目 compileSdk 37+ 并接受 alpha 依赖版本,暂不适合追求生产稳定性、不愿引入 Experimental API 的项目。
4. 跨 Agent 兼容性
- Claude Code:⚠️ 需适配。技能目录为标准 SKILL.md + YAML frontmatter + references 结构,遵循开放 Agent Skills 规范,可手动复制到
.claude/skills/使用;但官方 Android CLI 安装器默认只为 Gemini 与 Antigravity 生成技能目录,不会自动识别 Claude Code。 - Codex:⚠️ 需适配,理由同上——内容与具体 Agent 无关(纯 Markdown + Kotlin 代码示例),但需手动放置或显式指定安装目标。
- OpenClaw:❓ 未验证。
- Hermes Agent:❓ 未验证。
判断依据:核对 android/skills 仓库 README「Install Android skills」章节,官方安装命令 android skills add <skill> --project=. 明确写明“若未指定 --agent 且未检测到现有 Agent 目录,默认为 Gemini 与 Antigravity 安装”,未将 Claude Code / Codex 列入默认安装目标。
5. 推荐理由
Jetpack Compose 官方刚推出 Styles API 这套新的声明式样式范式,用来替代长期被诟病的“Modifier 参数爆炸”问题;本技能把官方迁移路径、组件改造前后对照代码、交互态处理与视觉回归验证方法整理成一份可直接照做的操作手册,能帮助已有自定义设计系统的团队少走弯路地尝鲜这套新 API,同时清楚标注了 Experimental 限制与能力边界,不会误导使用者当作生产稳定方案。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | Google LLC 官方出品(Android 平台所有者本身);所属合集仓库整体 7,325★ 不代表本技能自身热度,技能本身暂无独立于合集之外的第三方评价,但底层 Compose Styles API 已有独立第三方开发者撰写技术文章与配套演示项目(如 GitHub 上的 compose-style-lab 演示仓库、Medium 与独立技术博客上的多篇解读文章),说明该技术方向存在真实社区关注 |
| 可用性 | 7 | 迁移步骤清晰、含完整“迁移前/迁移后”代码对照与截图测试验证方法,2026-09-03 近期有更新维护;但技能正文明确标注该 API 为 EXPERIMENTAL 阶段,要求项目升级到 alpha 版本依赖并手动开启 Experimental opt-in,且仅覆盖自定义组件、不支持 Material Design 组件迁移,属有明确前置条件与能力边界的场景化技能,非“复制即用” |
| 安全性 | 9 | 纯文档/代码指南类技能,不执行任何 shell 命令、不联网外发数据、不索取任何凭据;License 明确、官方维护,正文全程围绕代码迁移步骤,无可疑指令或夹带推广内容 |
安全检查清单:
① Shell 命令:无,技能不执行任何 shell 命令,仅指导修改 Gradle 编译选项与编写 Kotlin 代码。 ② 联网外发:无,技能本身不联网,也不涉及应用运行时的外部数据传输。 ③ API key/凭据:无需任何 API key 或凭据。 ④ 可疑指令:未发现夹带推广或与技能功能无关的指令。 ⑤ 作者信誉:Google LLC 官方维护,无造假迹象。 ⑥ License:Apache License 2.0,明确。 ⑦ 维护时间:2026-09-03 更新,活跃维护。
7. 跟同类 Skills 相比的优势
| 对比对象 | 定位 | 差异 |
|---|---|---|
| migrate-xml-views-to-jetpack-compose-android-skills(同仓库) | 指导把传统 XML View 体系整体迁移到 Jetpack Compose | 解决“从 View 到 Compose”的框架级迁移问题;本技能面向已经在用 Compose 的项目,解决的是“Compose 内部样式参数怎么从零散 Modifier 收敛为统一 Style 定义”这个更细粒度的组件级重构问题,两者可先后接续使用 |
| navigation-event-android-skills(同仓库) | Compose 返回手势拦截与过渡动画实现指南 | 解决交互行为层(返回手势)的实现问题;本技能解决视觉呈现层(组件外观与主题令牌)的组织问题,服务的是 Compose UI 的不同切面,非竞争关系 |
| theme-factory-anthropics-skills | 通用(非 Android 专属)设计主题生成工具,侧重从描述生成一套配色与视觉风格 | 面向“从零生成一套主题风格”的场景,技术栈与平台无关;本技能专注 Android Compose 生态内、已有设计系统项目“如何把现有样式迁移到官方新 API”这一具体工程问题,两者服务阶段不同(生成新主题 vs 重构存量代码) |
差异化在于:专注 Compose 官方最新 Styles API 这一具体范式迁移,提供其他 Android 导航/框架迁移类技能未覆盖的组件级样式重构方法与交互态处理细节。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;其依赖的底层 Compose Styles API 本身已有独立开发者撰写的技术解读文章与配套演示项目(如开发者 aldefy 在 GitHub 发布的 compose-style-lab,包含 8 个交互式实验用于探索该 API),但这些讨论针对的是官方 API 本身,不构成对本技能(SKILL.md 迁移指南)的独立评价。
9. 安装使用方式
方式一:Android CLI(官方,需先安装 Android CLI)
android skills add styles --project=.
未指定 --agent 时默认为 Gemini 与 Antigravity 自动安装;面向 Claude Code / Codex 需显式使用 --agent 参数,或使用下方手动方式。
方式二:手动安装(适用于 Claude Code / Codex)
从 https://github.com/android/skills/tree/main/jetpack-compose/theming/styles 下载 SKILL.md 与 references/ 目录,整体复制到项目对应 Agent 的技能目录(如 .claude/skills/styles/)。
安装后注意事项:向 Agent 描述“把自定义组件迁移到 Compose Styles API/统一主题样式写法”等相关任务,Agent 会自动检索并使用该技能;无需重启,生效范围仅限当前项目/会话;使用前需将项目 compileSdk 升级到 37 及以上,并将 androidx.compose.foundation:foundation 升级到 1.12.0-alpha01 及以上(或对应 Compose BOM 2026.04.01+),并在 build.gradle.kts 中显式开启 ExperimentalFoundationStyleApi opt-in(技能会指导添加)。
10. 注意事项
- 该 API 当前处于 EXPERIMENTAL 阶段,需要项目接受 alpha 版本依赖,暂不适合追求生产稳定性、不愿承担 API 后续变更风险的项目。
- 仅支持自定义 UI 组件与自定义主题的迁移,不支持 Material Design 组件本身的样式迁移。
- OpenClaw、Hermes Agent 兼容性未经专门验证,建议先小范围试点。
- 技能建议在有 Android 模拟器条件下用截图测试做迁移前后视觉对比验证;若无模拟器环境,正文也给出了跳过该步骤直接进行代码迁移的替代路径,但视觉回归风险需自行留意。