skip-lite-transpilation
Installation
SKILL.md
Skip Lite Transpilation Rules
CRITICAL: swift build does NOT validate Kotlin transpilation. You MUST run swift test to catch transpilation errors.
This skill is for Skip Lite (transpiled). If the module's Skip/skip.yml contains mode: 'native', you're in Skip Fuse, not Lite — most of the rules here (integer overflow, Double == Int, Foundation.sqrt, etc.) do not apply. See skip-fuse for the Fuse workflow. The rules below still apply to any #if SKIP block inside a Fuse module (those blocks are transpiled to Kotlin even in Fuse mode).
Impact: CRITICAL — Silent Data Corruption
Integer Overflow
Swift Int is 64-bit. Kotlin Int is 32-bit (max ~2.1 billion). Intermediate arithmetic silently overflows in Kotlin.
// BAD: silently wrong on Android
let product = a * b // if a * b > 2,147,483,647
// GOOD: use Int64 for large values
let product = Int64(a) * Int64(b)