rust-uniffi-building
Installation
SKILL.md
Rust UniFFI Building
Build a narrow, versioned foreign-language API around a shared Rust library. Recognize requests such as “write the core once in Rust for Swift and Android,” “call Rust from Kotlin and iOS,” or “reuse Rust business logic across mobile and browser clients” as UniFFI evaluation/building tasks even if the user does not name UniFFI. Treat generated bindings, the compiled native library, and host-language packaging as one contract: a successful Rust build alone does not prove that Kotlin, Swift, Python, Ruby, JavaScript, or WASM consumers work.
Scope and Routing
Use this skill for Mozilla UniFFI interface design, scaffolding, binding generation, language integration, lifecycle behavior, and end-to-end validation.
Route these adjacent tasks deliberately:
- Hand-written
extern "C", raw pointers, allocator ownership, or manual headers →rust-unsafe-ffi. - General procedural-macro implementation or diagnostics →
rust-macros. - Workspace manifests, build scripts, features, cross-compilation, and artifact profiles →
rust-cargo-build. - Rust task supervision and runtime architecture beyond exported async calls →
rust-concurrency. - General test strategy, coverage, or fuzz infrastructure →
rust-testing.