7 个 Claude Code Skills,让你的 Android 开发效率翻倍

cover

你在 Claude Code 里输入”帮我写一个用户列表页面”,它给你生成了一堆代码。

用的是 Material 2。状态管理用了 mutableStateOf 而不是 StateFlow。ViewModel 里直接调了 API 没走 Repository。Modifier 顺序还是错的——先 padding 后 clickable,点击区域比你预期的小了一圈。

不是 Claude 笨。是它不知道你的项目用 Material 3,不知道你的架构是 Clean Architecture + MVVM,不知道你们团队的 Compose 编码规范。

每次都手动告诉它一遍?累。而且下次它照样忘。

这就是 Skills 要解决的问题。把你的 Android 项目规范、架构约定、编码偏好写进 SKILL.md,Claude 每次都会自动加载。从此,它生成的代码就像团队里的老成员写的——符合规范、遵循架构、不用你改。

截至 2026 年 3 月,社区已经涌现出大量 Android 专用的 Claude Code Skills。今天我们挑 7 个最实用的,逐一拆解。

为什么 Android 开发特别需要 Skills

Android 开发有三个痛点,让”裸用” Claude Code 的体验大打折扣:

第一,技术栈更新太快。 Jetpack Compose 从 1.0 到现在的 Material 3 Adaptive,Navigation 从传统方案到 Navigation3,Gradle 从 Groovy 到 Kotlin DSL + Version Catalog……Claude 的训练数据可能只覆盖到 2025 年中。你不告诉它,它可能还在用 Accompanist 的 System UI Controller(已经废弃了)。

第二,架构约束强。 Android 项目的分层、模块化、依赖注入有明确的最佳实践。一个 ViewModel 到底该不该直接调 UseCase?Hilt Module 该放在哪个模块?这些决策不在代码里写着,在团队的架构文档里。Claude 读不到。

第三,Gradle 是个黑洞。 Android 的构建系统复杂到让 AI 也头疼。Version Catalog 的格式、Convention Plugin 的写法、多模块间的依赖关系——稍有不对就编译失败。而且 Gradle 的错误信息对 AI 来说基本等于天书。

Skills 可以一次性把这些知识灌给 Claude。它不再猜你想要什么,而是按你定义的规范来。

Skill 1:claude-android-skill——生产级 Android 全套

GitHub: dpconde/claude-android-skill
覆盖范围: 架构、Compose、Gradle、模块化、测试

这是目前最完整的 Android Skill,结构参考了 Google 的 NowInAndroid 官方示例项目。

目录结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
claude-android-skill/
├── SKILL.md # 主 Skill 定义
├── references/
│ ├── architecture.md # UI/Domain/Data 层模式
│ ├── compose-patterns.md # Compose 最佳实践
│ ├── gradle-setup.md # 构建配置 & Convention Plugin
│ ├── modularization.md # 多模块项目结构
│ └── testing.md # 测试策略
├── assets/templates/
│ ├── libs.versions.toml.template
│ └── settings.gradle.kts.template
└── scripts/
└── generate_feature.py # Feature 模块生成脚本

它定义了 5 条核心架构原则:

  1. Offline-first:本地数据库是唯一数据源,远端只负责同步
  2. 单向数据流:事件往下流,数据往上流
  3. 响应式流:所有数据暴露都用 Kotlin Flow
  4. 按功能模块化:每个 Feature 自包含、有明确边界
  5. 可测试设计:用接口和 Test Double,不用 Mocking 库

安装方式:

1
2
3
# 克隆到 Skills 目录
git clone https://github.com/dpconde/claude-android-skill \
~/.claude/skills/claude-android-skill

安装后,你可以直接说:

  • “帮我创建一个新的 Feature 模块”
  • “按照架构规范重构这个 ViewModel”
  • “检查这个 build.gradle.kts 有没有问题”

Claude 会自动加载对应的 reference 文件,按照你的规范行事。

Skill 2:claude-android-ninja——Navigation3 + Material 3 Adaptive

GitHub: Drjacky/claude-android-ninja
亮点: 覆盖最新的 Navigation3 和 Material 3 Adaptive

如果你在用最新的 Android 技术栈,这个 Skill 比上一个更合适。它覆盖了:

  • Navigation3 架构、状态管理、自适应导航
  • Material 3 Adaptive:NavigationSuiteScaffold、adaptive pane scaffolds
  • Material Symbols 图标(不是旧的 Material Icons)
  • StrictMode 守卫和 Compose 编译器稳定性诊断
  • JaCoCo 代码覆盖率(单元测试 + 仪器化测试)
  • 安全:证书固定、加密、生物识别、Root 检测、Play Integrity

还包含废弃模式迁移指南——帮你从 Accompanist 迁移到原生实现,从 Material 2 迁移到 Material 3。

Skill 3:compose-skill——带源码佐证的 Compose 专家

GitHub: aldefy/compose-skill
亮点: 所有建议都附带 androidx/androidx 源码引用

这是我个人最推荐的 Compose Skill。它的独特之处在于:所有指导都有源码出处。

不是说”你应该用 remember”,而是附带 androidx/compose/runtime/remember.kt 的具体代码段,解释为什么这样做。

当你说”我的 LazyColumn 滚动卡顿,帮我排查”,它会:

  1. 检查是否有重组性能问题
  2. 引用 LazyListState 的源码解释滚动机制
  3. 给出具体的优化方案(key 参数、derivedStateOf、稳定类标注)

没有幻觉 API。没有猜测行为。 因为所有建议都锚定到了真实源码。

安装后,Claude 会在你提到 Compose、@Composable、remember、LazyColumn、NavHost 等关键词时自动触发。

Skill 4:xml-to-compose——XML 布局一键转 Compose

来源: ProAndroidDev 社区
亮点: 系统化的 XML 到 Compose 映射规则

如果你的项目正在从 XML 迁移到 Compose,这个 Skill 能省你大量时间。

它定义了完整的映射规则:

XML Compose
LinearLayout (vertical) Column
LinearLayout (horizontal) Row
FrameLayout Box
match_parent fillMaxWidth() / fillMaxHeight()
layout_margin Spacer 或父级 padding
layout_weight Modifier.weight()
View.GONE 条件渲染(不渲染即不存在)
View.INVISIBLE Modifier.alpha(0f)

还处理了一些 Claude 容易搞混的细节:

  • Modifier 顺序:先 clickablepadding(如果你想要更大的点击区域)
  • Material 版本:强制使用 Material 3 组件
  • 无障碍属性:自动添加 contentDescription

一个真实案例:给它一个包含 ImageView + TextView 的 LinearLayout,它会转成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Row(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
verticalAlignment = Alignment.CenterVertically
) {
Image(
painter = painterResource(id = R.drawable.avatar),
contentDescription = "User avatar",
modifier = Modifier.size(48.dp)
)
Spacer(modifier = Modifier.width(12.dp))
Text(
text = "Username",
modifier = Modifier.weight(1f)
)
}

注意:layout_marginStart="12dp" 变成了 Spacer,而不是在 Text 上加 padding——这是 Compose 的惯用写法。

Skill 5:kotlin-specialist——Kotlin 全栈专家

来源: Jeffallan/claude-skills
覆盖: Coroutines、Flow、KMP、Ktor、DSL

如果你不只做 Android,还写 Kotlin Multiplatform 或后端(Ktor),这个 Skill 覆盖了整个 Kotlin 生态:

  • Coroutines:structured concurrency、异常处理、SupervisorJob
  • Flow API:StateFlow vs SharedFlow、冷流热流、背压处理
  • KMP:expect/actual 声明、共享模块设计
  • Ktor:服务端路由、客户端配置、序列化
  • DSL 设计:类型安全的构建器模式
  • 测试:JUnit 5、MockK、Turbine(Flow 测试)

工具链定义包含:Kotlin 1.9+、Arrow.kt、kotlinx.serialization、Detekt、ktlint。

Skill 6:自定义 Gradle 审计 Skill

社区里最常见的自定义 Skill 之一。每个团队的 Gradle 配置不同,所以这个最好自己写:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
---
name: gradle-audit
description: |
审计 Android 项目的 Gradle 配置。
当用户提到 Gradle、构建、依赖、编译时触发。
allowed-tools: Read, Grep, Glob, Bash(./gradlew *)
---

# Gradle 审计清单

检查以下项目:

## Version Catalog
- libs.versions.toml 是否存在
- 所有依赖是否通过 Version Catalog 引用(禁止硬编码版本号)
- Compose BOM 版本是否为最新稳定版

## Convention Plugins
- 是否使用 Convention Plugin 统一模块配置
- compileSdk、minSdk、targetSdk 是否在一处定义

## 依赖冲突
- 运行 `./gradlew dependencies --scan` 检查冲突
- 是否有废弃的依赖(Accompanist SystemUIController 等)
- 是否有同一库的多版本共存

## 构建性能
- 是否开启 Gradle Build Cache
- 是否开启并行编译
- 是否有不必要的 kapt(应迁移到 KSP)

输出格式:按严重程度(❌ 必须修复 / ⚠️ 建议优化 / ✅ 正常)列出。

使用 /gradle-audit,Claude 就会逐项检查你的 Gradle 配置。

Skill 7:Android 安全审计 Skill

另一个强烈建议自建的 Skill:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
---
name: android-security
description: 审查 Android 项目的安全问题。
allowed-tools: Read, Grep, Glob
context: fork
---

# Android 安全审计

在隔离环境中检查以下安全项:

1. **硬编码密钥**:搜索 API Key、Secret、Token 的硬编码
2. **网络安全**:检查 network_security_config.xml 配置
3. **WebView 安全**:检查 JavaScript 注入风险
4. **数据存储**:SharedPreferences 是否存储了敏感数据
5. **日志泄露**:生产代码中是否有 Log.d/Log.v
6. **导出组件**:AndroidManifest 中 exported=true 的组件是否安全
7. **ProGuard/R8**:混淆规则是否完整

只读审计,不修改任何代码。

context: fork 确保安全审计在隔离的子 Agent 中运行,只能读不能写。

实战工作流:Skills 组合使用

一个典型的 Android 开发工作流:

1
2
3
4
5
6
7
1. /gradle-audit          → 检查构建配置是否健康
2. 创建新功能模块 → claude-android-skill 自动触发
3. 写 Compose UI → compose-skill 自动触发
4. 迁移旧 XML 页面 → xml-to-compose 自动触发
5. 写 ViewModel + UseCase → kotlin-specialist 自动触发
6. /android-security → 安全审计
7. /review → 内置代码审查

关键点:大部分 Skill 是自动触发的。 你不需要记住哪个 Skill 做什么。Claude 检测到你在做 Compose 开发,就自动加载 Compose Skill;检测到你在改 Gradle,就自动加载 Gradle 相关知识。

写自己 Skill 的 3 条原则

如果现有的 Skill 不完全符合你的需求(大概率不会完全符合),自己写一个也很简单。三条原则:

第一,references 目录放详细文档,SKILL.md 放简要指引。 Claude 会按需加载 references 里的文件,不会每次都全部读入。这样既全面又不浪费 Token。

第二,description 要精确。 模糊的描述(”Android 开发”)会导致误触发。具体到场景(”当编辑 .kt 文件、build.gradle.kts 或 Compose UI 时触发”)。

第三,包含代码示例。 Claude 模仿具体示例比理解抽象规则更准确。与其写”使用单向数据流”,不如给一段 UiState + Event + ViewModel 的完整代码。

写在最后

回到开头的问题:为什么 Claude 生成的 Android 代码总需要大改?

不是它不够聪明,是它缺少上下文。它不知道你的项目用什么架构、什么版本、什么规范。

Skills 就是把上下文一次性写清楚,然后永远不再重复。

一个配好 Skills 的 Claude Code,在 Android 开发中的表现完全不同——生成的代码直接能用,符合 Material 3,遵循 Clean Architecture,Modifier 顺序正确,连 contentDescription 都帮你写好了。

花一个小时配 Skill,省下每天一个小时的代码修改。这笔账,怎么算都值。


你在 Android 开发中用 Claude Code 吗?有没有自己写过 SKILL.md?你觉得 Android 开发中最需要 AI 帮忙的环节是什么——写 UI、写测试、还是折腾 Gradle?评论区聊聊你的经验。