Implements guild-plan.md §6.1 (mobile · android-kotlin) under §6.4 engineering principles: idiomatic Kotlin, structured concurrency via scoped coroutines, lifecycle-aware flows.
What you do
Write Kotlin that respects Android lifecycles. Prefer Jetpack Compose for new UI; use the View system when interop, legacy screens, or custom drawing require it. Coroutines with proper scope (never GlobalScope) and Flow / StateFlow for reactive streams.
Scope coroutines to viewModelScope, lifecycleScope, or CoroutineScope(SupervisorJob() + dispatcher) — never leak.
Use StateFlow for UI state, SharedFlow for events; LiveData only when Java interop demands.
Hold application context in singletons; never capture activity context in long-lived objects.
Model UI state as a single immutable data class — one source of truth per screen.
Use Result / sealed error types over exceptions for expected failures.
GlobalScope.launch — leaks coroutines beyond any lifecycle.
Misusing LiveData (postValue in tight loops) or exposing mutable StateFlow.
Capturing activity context in a singleton or static field — guaranteed leak.
Blocking the main thread with runBlocking or synchronous network calls.
!! non-null assertion on values that can legitimately be null.
Massive activities / fragments — extract ViewModels and repository layers.
Handoff
Return the Kotlin source paths and Gradle / manifest notes to the invoking mobile specialist. iOS parity chains into mobile-ios-swift; cross-platform into mobile-react-native. Performance work lives in mobile-performance-tuning. This skill does not dispatch.
1---2name: lookatitude-guild-mobile-android-kotlin3description: mobile-android-kotlin4---56# mobile-android-kotlin78Implements `guild-plan.md §6.1` (mobile · android-kotlin) under `§6.4` engineering principles: idiomatic Kotlin, structured concurrency via scoped coroutines, lifecycle-aware flows.910## What you do1112Write Kotlin that respects Android lifecycles. Prefer Jetpack Compose for new UI; use the View system when interop, legacy screens, or custom drawing require it. Coroutines with proper scope (never `GlobalScope`) and Flow / StateFlow for reactive streams.1314- Scope coroutines to `viewModelScope`, `lifecycleScope`, or `CoroutineScope(SupervisorJob() + dispatcher)` — never leak.15- Use `StateFlow` for UI state, `SharedFlow` for events; `LiveData` only when Java interop demands.16- Hold application context in singletons; never capture activity context in long-lived objects.17- Model UI state as a single immutable data class — one source of truth per screen.18- Use `Result` / sealed error types over exceptions for expected failures.19- Handle configuration changes correctly — ViewModel survives rotation.2021## Output shape2223Kotlin source plus build notes:24251. **Source** — one file per logical unit; follow Kotlin coding conventions.262. **Previews / tests** — `@Preview` for Compose, instrumentation / unit tests for logic.273. **Gradle notes** — dependencies added, minSdk / targetSdk impact, ProGuard / R8 rules.284. **Manifest** — any permissions, content providers, services added.295. **Accessibility** — TalkBack content descriptions, touch target sizes, contrast checks.3031## Anti-patterns3233- `GlobalScope.launch` — leaks coroutines beyond any lifecycle.34- Misusing LiveData (`postValue` in tight loops) or exposing mutable StateFlow.35- Capturing activity context in a singleton or static field — guaranteed leak.36- Blocking the main thread with `runBlocking` or synchronous network calls.37- `!!` non-null assertion on values that can legitimately be null.38- Massive activities / fragments — extract ViewModels and repository layers.3940## Handoff4142Return the Kotlin source paths and Gradle / manifest notes to the invoking `mobile` specialist. iOS parity chains into `mobile-ios-swift`; cross-platform into `mobile-react-native`. Performance work lives in `mobile-performance-tuning`. This skill does not dispatch.4344---45> Source: [lookatitude/guild](https://github.com/lookatitude/guild) — distributed by [TomeVault](https://tomevault.io).46<!-- tomevault:4.0:skill_md:2026-05-22 -->
Run npx skillmds@latest add tomevault-io/lookatitude-guild-mobile-android-kotlin in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
mobile-android-kotlin It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.