Kotlin without !!, GlobalScope or secrets in the APK — no negotiation.
A language floor for the Android client and KMP: honest nullability, structured coroutines, errors as values and a reproducible build. The app floor (IAM, offline, stores) belongs to schematize-mobile, which takes precedence.
$ schematize install kotlinNon-negotiable floors
Never switched off "to go faster". Full list in the skill.
!! is banned
In production, !! is a chosen NPE: use ?., ?: or requireNotNull with a reason, and treat platform types from Java as nullable.
Structured coroutines
GlobalScope and runBlocking in apps are banned; Dispatchers live in the repository, not in the caller.
Cancellation is not an error
CancellationException must not be swallowed; runCatching swallows it by default and so does catch (Throwable).
sealed and when without else
With else, the day someone adds a case the compiler goes quiet; an empty catch (e: Exception) is banned.
Android without leaks
Context or Activity in a static field leaks, no I/O on the main thread, and collect with repeatOnLifecycle.
Client security and reproducible build
Secrets never in the APK, SharedPreferences is plain XML and android:exported is explicit; version catalog, locking and a wrapper with checksum.
Commands
Installed in .claude/commands/. Run /kotlin-help anytime.
/kotlin-ccContext compact: writes the handoff (context + checklist) to the archive and runs /compact./kotlin-claudeCreates or merges the always-on schematize-kotlin CLAUDE.md at the repo root, without overwriting other skills' blocks./kotlin-handoffWrites the context handoff to the archive without compacting: session end or task switch./kotlin-helpLists every command./kotlin-loadForce-loads the whole schematize-kotlin normative body and applies it for the session./kotlin-reviewReviews .kt/.kts and the manifest against the floor: runs the gate and reads what the machine cannot.For AI agents
Install with no human in the loop. Metadata in llms.txt.
- Run: git clone https://github.com/schematizeme/skill-kotlin.git && ./skill-kotlin/install.sh
- Or download https://github.com/schematizeme/skill-kotlin/releases/latest/download/skill-kotlin.zip and unzip into .claude/skills/.
- Copy assets/CLAUDE.md to the repo root (always-on rule).
- Confirm with /kotlin-help.
चर्चा
लोड हो रहा है…