Skills · Claude Code · Agent Skills

Kotlin 不用 !!、不用 GlobalScope、APK 里不放密钥,没有商量余地。

面向 Android 客户端与 KMP 的语言层底线:诚实的空安全、结构化协程、以值表示错误以及可复现的构建。应用层底线(IAM、离线、应用商店)属于 schematize-mobile,并以其为准。

v0.4.0Disciplina · Kotlin/Androidgithub.com/schematizeme/skill-kotlin

维护者 Lucas Andrade

schematize-kotlin · v0.4.0bash
$ schematize install kotlin
GitHub →下载技能 (.zip)/kotlin-help · github.com/schematizeme/schematize-cli

不可妥协的底线

绝不为了“更快”而关闭。完整清单见该技能本身。

禁止 !!

生产代码中的 !! 是自己选择的 NPE:使用 ?.、?: 或带理由的 requireNotNull,并把来自 Java 的平台类型视为可空。

结构化协程

应用中禁止 GlobalScope 与 runBlocking;Dispatchers 放在仓库层,而不是调用方。

取消不是错误

不能吞掉 CancellationException;runCatching 默认会吞掉它,catch (Throwable) 也一样。

sealed 与不带 else 的 when

带 else 时,有人新增分支那天编译器会保持沉默;空的 catch (e: Exception) 被禁止。

不泄漏的 Android

静态字段中的 Context 或 Activity 会泄漏,主线程不做 I/O,collect 配合 repeatOnLifecycle。

客户端安全与可复现构建

密钥绝不放进 APK,SharedPreferences 是明文 XML,android:exported 必须显式声明;使用版本目录、依赖锁定和带校验和的 wrapper。

命令

安装在 .claude/commands/。随时运行 /kotlin-help。

/kotlin-cc上下文压缩:将交接文档(上下文+清单)写入 archive,并运行 /compact。
/kotlin-claude在仓库根目录创建或合并 schematize-kotlin 的常驻 CLAUDE.md,不覆盖其他技能的区块。
/kotlin-handoff不压缩,将上下文交接文档写入 archive:用于会话结束或切换任务。
/kotlin-help列出该技能的所有命令。
/kotlin-load强制加载 schematize-kotlin 的全部规范内容,并在本次会话中应用。
/kotlin-review对照底线审查 .kt/.kts 与清单文件:运行 gate,并阅读机器读不出的部分。

面向 AI 代理

无需人工介入即可安装。元数据见 llms.txt。

  • 运行:git clone https://github.com/schematizeme/skill-kotlin.git && ./skill-kotlin/install.sh
  • 或下载 https://github.com/schematizeme/skill-kotlin/releases/latest/download/skill-kotlin.zip 并解压到 .claude/skills/。
  • 将 assets/CLAUDE.md 复制到仓库根目录(常驻规则)。
  • 用 /kotlin-help 确认。

不想安装?

阅读完整规范并直接复制到你的项目——或安装该技能,让智能体自动执行。