What problem does it solve? Crossing language boundaries in Rust is error-prone: memory layout mismatches, panics escaping across FFI, null pointer dereferences, and ownership leaks cause crashes and undefined behavior. This Skill provides the patterns and tooling knowledge to build safe Rust ↔ C/Python/WASM interop. ## Core Features & Use Cases - PyO3 0.23 Python Bindings: Build Python modules with #[pyclass], #[pyfunction], and #[pymodule], packaged via maturin into installable wheels. - C Interop Toolchain: Generate C headers from Rust with cbindgen and Rust bindings from C headers with bindgen, using extern "C", #[repr(C)], and cdylib/staticlib crate types. - Memory & Panic Safety: Apply CString/CStr conversion rules, cross-language ownership contracts, opaque handle patterns, and catch_unwind panic boundaries. - Use Case: You have a performance-critical geometry library in Rust and want to call it from Python. Use this Skill to wrap it with PyO3, handle errors as Python exceptions, and ship it as a pip-installable wheel. ## Quick Start Use the rust-ffi-interop skill to create a PyO3 module exposing my Rust vector math functions to Python with proper error handling.