Kotlin
Build robust Android and multiplatform apps with Kotlin idioms, coroutines, and null safety.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 2 · 1k · 8 current installs · 8 all-time installs
byIván@ivangdavila
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (Kotlin learning/reference) match the manifest and files. The only declared runtime requirement is the 'kotlin' binary, which is reasonable for a Kotlin-focused skill that may compile or run examples.
Instruction Scope
SKILL.md and the included .md files are documentation and coding guidance; they do not instruct the agent to read unrelated files, access external endpoints, or exfiltrate data. No vague instructions granting broad discretion are present.
Install Mechanism
No install specification or downloaded code is present — the skill is instruction-only, so nothing will be written to disk by the install process.
Credentials
The skill requests no environment variables, secrets, or config paths. The absence of credentials is proportionate to an educational/reference skill.
Persistence & Privilege
Flags show no persistent/always-true behavior and model invocation is standard. The skill does not request to modify other skills or system-wide settings.
Assessment
This skill is a documentation-only Kotlin reference and appears internally consistent and low-risk. It does declare the 'kotlin' binary as a requirement — if you allow the agent to run tools, it could invoke that local binary to compile or run examples, so ensure you only enable the skill in environments where running user-provided code is acceptable. If you want extra caution: review the included .md files (they are plain text docs), and run the agent in a sandboxed environment or with restricted tool access before granting broader permissions.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.1
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
🟠 Clawdis
OSLinux · macOS · Windows
Binskotlin
SKILL.md
Quick Reference
| Topic | File |
|---|---|
| Null safety operators and patterns | nullsafety.md |
| Coroutines, flows, structured concurrency | coroutines.md |
| Collections, sequences, data classes | collections.md |
| Scope functions, extensions, sealed classes | idioms.md |
| Java interop and common Kotlin mistakes | interop.md |
| Android lifecycle, Compose state | android.md |
| Delegation, inline, reified, multiplatform | advanced.md |
Critical Rules
Null Safety
!!asserts non-null — crashes on null, use only when you've already checked- Platform types from Java are risky — add null checks or use
@Nullable/@NonNullannotations - Elvis with
return/throwfor early exit —val name = user?.name ?: return
Coroutines
viewModelScopeauto-cancels on ViewModel clear — don't useGlobalScopein Android- Structured concurrency: child coroutine failure cancels parent — use
supervisorScopeto isolate StateFlowneeds initial value and never completes —SharedFlowfor one-shot events- Inject dispatchers for testability — don't hardcode
Dispatchers.IO
Collections & Data Classes
first()throws on empty — usefirstOrNull()for safe access- Only constructor properties in
equals/hashCode— body properties ignored mutableStateListOffor Compose — wrappingmutableListOfin state won't track changes
Scope Functions & Extensions
- Don't nest scope functions — readability drops fast, extract to named functions
- Extensions are resolved statically — not polymorphic, receiver type matters at compile time
Android/Compose
repeatOnLifecycle(STARTED)for flow collection —launchWhenStartedis deprecatedremembersurvives recomposition only — userememberSaveablefor config changescollectAsStateWithLifecycleis the gold standard — lifecycle-aware + Compose state
Java Interop
==is structural equality in Kotlin —===for reference, opposite of Java- SAM conversion only for Java interfaces — Kotlin interfaces need explicit
fun interface @JvmStatic,@JvmOverloads,@JvmFieldfor Java-friendly APIs
Files
8 totalSelect a file
Select a file to preview.
Comments
Loading comments…
