Kotlin 官方开源了 kotlin-agent-skills,里面放的是给 AI 编程 Agent 使用的 Skill。
Agent 处理 Kotlin、Android、KMP 迁移任务时,可以先读取这些 Skill,再按官方整理的步骤检查代码、修改配置和验证结果。
仓库地址:
https://github.com/Kotlin/kotlin-agent-skills
给 Agent 的 Kotlin 手册
这个仓库的定位很直接:把 Kotlin 生态里一些高频、容易写错、又需要上下文判断的工程任务,整理成 Agent 能执行的说明书。
普通文档面向开发者阅读,Skill 面向 Agent 执行。它会告诉 Agent:什么时候触发、先看哪些文件、怎么判断项目状态、应该改哪些地方、改完跑什么验证。
一个 Skill 通常是一个目录,核心入口是 SKILL.md:
skills/
├── kotlin-backend-jpa-entity-mapping/
│ └── SKILL.md
├── kotlin-tooling-agp9-migration/
│ └── SKILL.md
├── kotlin-tooling-cocoapods-spm-migration/
│ └── SKILL.md
└── kotlin-tooling-java-to-kotlin/
└── SKILL.md
Kotlin 团队把迁移经验做成 Agent 可复用的工程资产。开发者不需要每次都把背景、限制、命令和验证步骤重新塞进提示词里。
当前 4 个技能
当前仓库里有 4 个 Skill。
kotlin-backend-jpa-entity-mapping 面向 Kotlin 后端里的 JPA 实体映射。Kotlin 的 data class、不可变属性、默认 final 类、无参构造、延迟加载代理,都容易和 JPA 的运行时模型冲突。这个 Skill 会让 Agent 在改实体类时先检查这些约束,避免把 Java 风格实体机械改成 Kotlin。
kotlin-tooling-agp9-migration 面向 Android Gradle Plugin 9 迁移。AGP 9 涉及插件版本、Gradle 版本、Android Studio 版本、DSL 写法和构建行为变化。Agent 做这类迁移时,不能只改一个版本号,还要读 settings.gradle、根 build.gradle、版本目录和模块配置,再跑对应的 Gradle 验证。
kotlin-tooling-cocoapods-spm-migration 面向 Kotlin Multiplatform 项目从 CocoaPods 迁移到 Swift Package Manager。这个场景主要影响 iOS 集成方式,Agent 需要识别 KMP 模块、Podspec、Xcode 集成和发布产物,迁移后还要保证 Swift 侧能继续引用 Kotlin framework。
kotlin-tooling-java-to-kotlin 面向 Java 到 Kotlin 转换。Java 转 Kotlin 后,最容易出问题的是 nullability、static 成员、SAM、集合可变性、异常语义和测试覆盖。这个 Skill 会把这些检查项前置,让 Agent 转换后继续做人工通常会做的清理。
团队可以怎么用
这个仓库可以直接给支持 Skill 的 Agent 使用,也可以当作团队内部 Skill 的参考模板。
如果团队经常做 Android 构建升级、KMP 接入、Java 转 Kotlin、Room 或 JPA 实体改造,可以把自己的规则补成类似结构:
# android-compose-migration
Use when migrating XML screens to Jetpack Compose.
1. Find the XML layout and owning Fragment/Activity.
2. Keep existing analytics event names unchanged.
3. Preserve accessibility labels and test tags.
4. Move state to the existing ViewModel.
5. Run module compile and affected UI tests.
关键是写具体。不要只写“遵循最佳实践”,要写文件位置、验证命令、不能改的接口、需要保留的埋点和输出格式。Agent 对明确规则的执行稳定性,通常比对抽象原则好很多。
最后
kotlin-agent-skills 现在还很小,只有 4 个技能,但方向很清楚:Kotlin 官方开始把迁移和工程经验整理成 Agent 可执行的知识包。
对开发者来说,它能减少 Agent 在复杂 Kotlin 工程任务里的猜测。后续如果 Kotlin、KMP、Compose、Gradle 相关 Skill 继续增加,这类仓库会成为 AI 编程工具的重要上下文来源。