What problem does it solve? Shipping a Rust UniFFI crate to Android and iOS fails when generated Kotlin/Swift bindings and the compiled native library drift apart, producing load-time checksum mismatches, RustBuffer deserialization errors, or missing native libraries on devices. This Skill provides the commands, triage tables, and release-proof procedures to keep bindings and library at the same revision. ## Core Features & Use Cases - Binding regeneration gate: Build an in-crate uniffi-bindgen binary pinned to the runtime version, wrap generation in a checked-in script with --check and --write modes, and block merges on drift in CI. - FFI change classification: Classify exported API changes as additive or breaking using a table that accounts for checksum-blind record field and enum variant changes, and coordinate breaking changes across consumers. - Platform packaging and release proof: Produce per-ABI Android .so files under jniLibs, stage the generated header and module.modulemap into XCFramework slices, and prove a release candidate on the final APK, AAB, AAR, or XCFramework. - Use Case: After bumping uniffi from 0.31 to 0.32.1, regenerate bindings with the in-crate generator, review the generated diff, rebuild both native artifacts, and run a generated-binding call on each shipping ABI family and an iOS simulator before release. ## Quick Start Ask the agent to set up the UniFFI binding regeneration script with a CI check gate for your FFI crate and classify your pending exported API change as additive or breaking.