What problem does it solve? Setting up logging in Kotlin Multiplatform projects often leads to scattered logger construction, backend lock-in, and feature modules coupled directly to logging libraries. This Skill provides a consistent pattern for wrapping kotlin-logging or Kermit behind a stable facade, wiring it through Koin, and bridging warnings and errors to crash reporters. ## Core Features & Use Cases - Backend-agnostic wrapper contract: Define a small LoggerFacade and LoggerFactory interface in commonMain so feature modules never depend on kotlin-logging or Kermit directly. - Gradle and version catalog setup: Add kotlin-logging or Kermit to libs.versions.toml and wire it through a build-logic convention plugin so features receive logging transitively. - Koin logger factory injection: Inject a LoggerFactory once in the core module so every ViewModel and layer gets a tagged logger without constructing it directly. - Crash reporting bridge: Route warn and error messages as breadcrumbs to Firebase Crashlytics or Sentry through a BreadcrumbSink kept in infrastructure. - Use Case: When adding logging to a KMP app with auth, product, and order features, use this Skill to create the wrapper in :core:common, wire the factory in Koin, and keep test output quiet with a no-op logger in commonTest. ## Quick Start Ask the agent to set up KMP logging with a kotlin-logging wrapper, Koin factory injection, and a Crashlytics breadcrumb bridge in the core module.