What problem does it solve? Stub .so files make every link succeed even when a symbol does not exist on the TV, so wrong symbols and wrong struct offsets only surface at runtime as garbage values or SIGSEGVs on a device with no debugger. This Skill enforces a prove-it-first workflow that validates every symbol and offset against the device's own binaries before any binding code is written. ## Core Features & Use Cases - Symbol presence probing: Run tools/abi-probe.sh has <lib> <sym> to confirm a function exists on the device, with demangling for the C++ StarfishMediaAPIs/ACB seam. - Struct offset extraction: Read real field offsets from FFmpeg's embedded AVOption tables via tools/abi-probe.sh opts, with manual derivation rules for FF_API_* blocks and 32-bit ARM int64 alignment padding. - Stub and runtime safety: Add empty-body stub symbols with the correct SONAME, plus a runtime ABI self-check that disables the feature on offset mismatch instead of corrupting memory. - Use Case: When adding an HEVC encoder call and the link fails with "undefined reference to av_*", probe libavcodec.so.57 on the TV, derive AVCodecContext offsets from its AVOption table, add the stub, and verify on-device via the event log. ## Quick Start Ask the agent to bind a new FFmpeg function for the TV and have it prove the symbol and struct offsets against the device binaries before writing any code.