What problem does it solve? Writing a brand-new native core (renderer, codec, engine) for a Kotlin Multiplatform library requires up-front decisions about directory layout, CMake configuration, and public header design that are expensive to change later. This Skill structures that native core correctly from day one so it can be built once for Android, iOS, and Desktop and bridged to Kotlin without rework. ## Core Features & Use Cases - Native Project Scaffolding: Defines a single native/ directory with one CMakeLists.txt reused across Android NDK, iOS/Kotlin-Native cinterop, and JVM/Desktop JNI targets. - Public C-ABI Header Design: Produces a stable extern "C" header using opaque handles, paired create/destroy functions, and plain C types so both JNI and Kotlin/Native cinterop can consume it. - Native-Side Testing: Sets up gtest/ctest suites that run in their own CI job, independent of the Kotlin test tasks. - Use Case: You are writing a custom Vulkan renderer for a KMP library from scratch. Use this Skill to lay out the directory, author the public header, configure CMake with per-platform link branches, then hand the stabilized header off to kmp-jni-pro for the Kotlin bridge. ## Quick Start Scaffold a new C++ native core with a public C-ABI header and CMake build for my KMP library's custom Vulkan renderer.