What problem does it solve? Setting up a type-safe, multiplatform HTTP client in Kotlin Multiplatform projects involves many error-prone decisions: engine selection per platform, plugin ordering, timeout configuration, authentication, and mapping network exceptions to domain errors. This Skill provides a complete, opinionated guide for configuring Ktor Client correctly in a Clean Architecture project. ## Core Features & Use Cases - HttpClient Configuration: Defines a single shared HttpClient in commonMain with Logging, ContentNegotiation (kotlinx.serialization), HttpTimeout, HttpRequestRetry, and optional Auth plugins in the correct order. - Platform Engine Injection: Declares platform-specific engines (OkHttp for Android/Desktop, Darwin for iOS) via Koin platform modules, keeping commonMain engine-agnostic. - Error Mapping: Captures Ktor exceptions (ClientRequestException, ServerResponseException, timeouts, IOException) inside the RemoteDataSource or Repository and translates them into typed DomainError values. - Use Case: When adding a new REST API integration to a KMP app, use this Skill to scaffold the HttpClient factory, wire the engine through Koin, implement the RemoteDataSource, and cover success, 4xx/5xx, and timeout cases with MockEngine tests. ## Quick Start Ask the assistant to configure a Ktor HTTP client with a RemoteDataSource for your Kotlin Multiplatform project following the ktor-client skill conventions.