Orchestrates Android development tasks including project creation, deployment, SDK management, and environment diagnostics using the…
Jetpack Compose mechanics: what belongs in an effect rather than the composable body, how state is hoisted and remembered, and what makes…
Android architecture and platform decisions: where state lives, what survives process death, what work leaves the main thread, and what…
Use to flush out intermittent crashes and ANRs ("it crashes sometimes," "fails on slow devices," "happens after rotation a few times") by…
Persistence and offline behaviour: where a value lives, what survives, transactions, migrations, and what happens when the network does…
The object graph: what lives how long, what may depend on what, and when a wiring mistake is discovered.
Bring up an Android app in a headless emulator on Linux/WSL and drive it for automated integration testing, the Android analog of…
Images that arrive at runtime, fetched or picked or decoded: caching, sizing, cancellation, and what a picker actually hands back.
Java on Android without the language features Kotlin has: threading, equality, resource handling, and interoperating with Kotlin.
Use when building Android UIs with Jetpack Compose, managing state with remember/mutableStateOf, or implementing declarative UI patterns.
Use when implementing async operations with Kotlin coroutines, Flow, StateFlow, or managing concurrency in Android apps.
The shape of the layer graph: which layers exist, which way dependencies point, and what each one may touch.
Talking to a server: client configuration, what comes back, what happens when it does not, and how a request is authorised.
Use this skill when capturing or analyzing Android Perfetto traces for app startup, UI jank, freezes, memory, CPU scheduling, binder IPC…
Runtime permissions: whether to ask at all, how to ask, and what the app does with every answer including the silent ones.
Material Design 3 and Android platform guidelines.
Keeping a secret on a device you do not control: key storage, backup, intents, and client-side checks that are signals rather than controls.
What makes a test able to fail for the right reason: the shape of the seam, the scheduler it runs on, and what an assertion is allowed to…
Use Android/Kotlin code as the source of truth and implement the equivalent feature in iOS/Swift.
The View system: layouts, adapters, RecyclerView, ViewBinding, and the seam where a ComposeView sits inside a View hierarchy.
Generates Angular code and provides architectural guidance.