What problem does it solve? Writing reliable tests for Android and Kotlin Multiplatform code is hard: developers struggle to choose between unit, Robolectric, and instrumented tests, misuse mocks instead of fakes, and hit flaky coroutine or Compose UI tests. This Skill provides concrete patterns and anti-patterns for test-driven development in Android/KMP projects. ## Core Features & Use Cases - Three-Tier Test Selection: Choose between JVM unit tests, Robolectric integration tests, and instrumented tests based on what behavior is being proven. - Coroutine & Flow Testing: Use runTest, Turbine, MainDispatcherRule, and dispatcher injection to test suspend functions and StateFlow without hangs or races. - Compose UI & Screenshot Testing: Apply semantics-first node finders, callback-based assertions, and Roborazzi screenshot tests with deterministic state. - Use Case: When refactoring a LoginViewModel in a KMP app, follow the Given-When-Then template with a hand-written FakeAuthRepository and runTest to verify UI state transitions before writing production code. ## Quick Start Ask the AI to write a failing unit test for your Android ViewModel using fakes and runTest, following test-driven development.