What problem does it solve? Deciding what to mock, which test doubles to use, and how to structure tests across Domain, Application, Infrastructure, and Presentation layers in a Kotlin Multiplatform project is error-prone and inconsistent. This Skill applies the project's TESTING.md rules to each layer so every class gets the right kind of test with the right doubles. ## Core Features & Use Cases - Layer-specific test strategy: Domain gets pure unit tests without mocks, Application mocks Ports with Mokkery, Infrastructure uses Ktor MockEngine or in-memory Room, and Presentation tests ViewModels via StateFlow observation. - Enforced conventions: Given/When/Then pattern, kotlin.test assertions, runTest for suspend/Flow code, and test directory structure mirroring main. - Koin graph verification: checkModules()/verify() tests for the Composition layer before merging. - Use Case: When adding a new GetUserUseCase, generate a Mokkery-based unit test covering the success path and each typed Result.Failure variant, placed in the mirrored test path. ## Quick Start Ask the assistant to write the tests for a specific class or feature, indicating which architecture layer it belongs to.