Kotlin放大招!官方 Skills 直接喂出「专家级」代码


前言

Kotlin 官方刚发布的新东西,开始给 AI Agent 写"操作手册"了kotlin-agent-skills


目录

  • 定义:kotlin-agent-skills是什么
  • 作用:有什么用?与手写 Prompt 、普通文档的区别
  • 详细分析:4 个 Skill 逐一拆解
  • 具体使用:怎么装、怎么用
  • 建议:是否值得使用?

📌定义:它是什么?

kotlin-agent-skills 是 Kotlin 官方维护的一组 AI Agent 可执行技能包

这套 Skill 遵循一个叫 Agent Skills 的开放标准(agentskills.io)。这个标准最初由 Anthropic 发起并开源,核心设计是:

阶段 作用
发现(Discovery) Agent 启动时只加载 Skill 的名称和描述,判断相关性
激活(Activation) 任务匹配时才加载完整 SKILL.md 指令
执行(Execution) Agent 按指令操作,可执行捆绑的脚本

Kotlin 官方选择拥抱这个标准,而不是自己搞一套,说明这个标准已经成为行业共识了


🌐 有什么用?

这套skill 是面向Agent 使用的,而不是给人用的。每个 Skill 会明确告诉 Agent:

  • 什么时候触发;
  • 先看哪些文件;
  • 怎么判断项目状态;
  • 应该改哪些地方;
  • 改完跑什么验证。

即:把 Kotlin 官方团队多年积累的迁移经验和工程规范,打包成 Agent 能直接"照着做"的知识包。

不是模型变聪明了,是你给它的上下文变精准了

跟普通文档、手写 Prompt 的区别

很多人会问:我直接给 Agent 贴官方文档链接,或者写个详细 Prompt,有什么区别?

维度 手写 Prompt 贴文档链接 Agent Skill
上下文精度 取决于你写得多好 文档太长,Agent 抓不住重点 针对性指令,精确到步骤
可复用性 每次手敲 每次贴链接 装一次,永久生效
验证闭环 没有 没有 内置验证命令
团队一致性 每人写法不同 理解不一致 统一规范
维护成本 散落在聊天记录 文档更新了 Prompt 不同步 跟随仓库版本更新

差距在三个字:可执行。Prompt 是"建议",Skill 是"操作手册":

  • Prompt 说"请遵循最佳实践"
  • Skill 说"第一步打开 build.gradle.kts,找到 plugins {} 块,把版本号改成 X.Y.Z,然后执行 ./gradlew assemble 验证"。

Agent 对明确规则的执行稳定性,远好于对抽象原则的理解


详细分析

目前官方仓库里有 4 个 Skill,分两类:

类别 Skill 解决什么问题
backend kotlin-backend-jpa-entity-mapping JPA 实体映射的 Kotlin 写法
tooling kotlin-tooling-java-to-kotlin Java 转 Kotlin 转换
tooling kotlin-tooling-agp9-migration 迁移到 AGP 9
tooling kotlin-tooling-cocoapods-spm-migration CocoaPods → SwiftPM

下面将逐个拆解每个Skill的作用 & 使用


Skill ①:kotlin-tooling-java-to-kotlin

你可能会说:IDE 不是自带 Convert Java File to Kotlin 吗?

问题在于,IDE 的自动转换只做语法级翻译。转完之后一堆问题,比如:

  • nullability 标注不精确;
  • static 成员没改成 companion object 或顶层函数;
  • 集合可变性没区分 List / MutableList
  • 异常语义丢失
  • ...

这个 Skill 做的事就是:让 Agent 不只是将Java "翻译"成Kotlin,而是"重写成地道的 Kotlin"

AI Agent + 这个 Skill = IDE 自动转换Kotlin + 高级人工审查,一步到位。


Skill ②:kotlin-tooling-agp9-migration

AGP 9 是 Android Gradle Plugin 的大版本升级。对 Kotlin Multiplatform 项目来说,迁移涉及一系列联动修改:

  • 插件版本号更新;
  • Gradle wrapper 版本升级;
  • DSL 写法变化(android {} 块内 API 调整);
  • 构建行为变化(编译目标、依赖解析)。

这些改动分散在 build.gradle.ktssettings.gradle.ktsgradle.propertieslibs.versions.toml 等多个文件里。

没有 Skill 的 Agent 很容易漏改一处导致编译失败。有了 Skill,Agent 知道"改完跑 ./gradlew assembleDebug 验证"

迁移类任务天然适合 Skill 化:步骤明确、验证条件清晰、出错成本高


Skill ③:kotlin-tooling-cocoapods-spm-migration

做 KMP(Kotlin Multiplatform)项目的同学都知道,iOS 侧集成一直是个头疼的点。

CocoaPods 集成正在被 SwiftPM 取代。但迁移时 Agent 需要:

  • 识别 KMP 模块结构;
  • 找到 Podspec 文件;
  • 理解 Xcode 集成方式;
  • 生成正确的 SPM Package.swift。

这个 Skill 让 Agent 具备了"理解 KMP 项目 iOS 集成拓扑"的能力


Skill ④:kotlin-backend-jpa-entity-mapping

Kotlin 写 JPA 实体,坑多得离谱:

  • data classequals()/hashCode() 跟 JPA 代理对象冲突;
  • 属性默认 val(不可变),但 JPA 需要可变;
  • 类默认 final,但 JPA 代理需要继承;
  • 无参构造器缺失(需要 no-arg 插件)
  • ...

这个 Skill 本质上是把 Spring + Kotlin + JPA 的最佳实践固化成了 Agent 可执行的规则


具体使用

那么,到底该如何安装这个Skill 和 怎么用呢

🔧 支持的 AI Agent

AI Agent 支持情况
Junie(JetBrains)
Claude Code
OpenAI Codex
Google Gemini
GitHub Copilot

只要兼容 Agent Skills 标准的工具都能用。


💻 安装方式

方式一:Skills CLI(推荐) 一条命令,全部 4 个 Skill 装好。

bash 复制代码
npx skills add Kotlin/kotlin-agent-skills

方式二:手动复制 将Skill放到对应Agent的skills文件夹里

bash 复制代码
# 只装某个特定 Skill
cp -r skills/kotlin-tooling-agp9-migration .claude/skills/

装完之后不需要额外配置。Agent 在执行相关任务时会自动发现并激活对应 Skill。

一条命令装好,零配置生效 ------ 这是 Skill 体系设计上最友好的地方

💻 具体使用

后续当你真正触发上面说的4个Skill景时,Skill就会自动加载 & 自动应用,即:

  • JPA 实体映射的 Kotlin 写法
  • Java 转 Kotlin 转换
  • 迁移到 AGP 9
  • CocoaPods → SwiftPM

总结

是否值得使用?

现阶段仓库只有 4 个 Skill,覆盖面还很小。如果你的项目刚好命中这 4 个场景(Java→Kotlin、AGP 9 迁移、CocoaPods→SPM、JPA 映射),现在就装上,零成本立即受益

如果没命中,先观望,但建议收藏仓库 Watch Releases

Skill是以后开发方向

原因很简单:

  • Skill 就是给上下文最规范、最高效的方式。
  • 存量工程的复杂度高:需要理解项目结构、历史决策、团队规范;
  • 这些东西靠模型通用能力搞不定,必须给具体上下文

而在之前,Google官方也出了 Android和Flutter的官方SKill

Kotlin 官方下场做 Skill,不是实验,是表态:Agent + Kotlin 工程化这条路,官方会持续投入


📎 参考资料

相关推荐
之歆1 小时前
Day04_ES6完全指南:从入门到精通的现代化JavaScript开发
前端·javascript·es6
Coffeeee1 小时前
一个kotlin的Smart cast导致的编译问题
android·前端·kotlin
CodeSheep1 小时前
胡彦斌都开始苦修Vibe Coding,还上架App Store,都卷到编程来了吗?
前端·后端·程序员
薄荷椰果抹茶1 小时前
前端技术之---打字机效果与流式输出
前端
Mintopia1 小时前
Tanstack为什么会火
前端
DongWook1 小时前
关于Harness Engineering的一次实践
前端·后端
风骏时光牛马1 小时前
Kotlin开发高频疑难问题汇总梳理
前端
暗冰ཏོ1 小时前
ECharts 前端图表开发全攻略:参数配置、项目实战与高级可视化资源整理
前端·vue.js·echarts·visual studio code
plainGeekDev1 小时前
XML 布局 → Compose 声明式 UI
android·java·kotlin