What problem does it solve? Connecting an external USB microscope or endoscope to an Android app fails in non-obvious ways: the platform camera framework may not expose the device, the community libuvc engine crashes on targetSdk 34 during permission registration, and the peripheral occupies the phone's only USB port, breaking cabled ADB. This Skill operationalizes a spec-driven integration that decides the correct access path on measured device evidence instead of assumptions. ## Core Features & Use Cases - Evidence-based access path decision: Captures USB descriptors, runs a Camera2 LENS_FACING_EXTERNAL probe on the target device, and only falls back to the pinned libuvc:3.2.7 engine (or a recorded libausbc wrapper fallback) when the platform does not expose the camera. - TargetSdk-correct USB permission flow: Builds the grant request with an explicit, mutable PendingIntent and an explicitly exported receiver, never calling USBMonitor.register(), and hands the CAMERA permission decision to android-permissions-derive. - In-memory still capture and hardware controls: Captures JPEGs via a one-shot frame callback with YuvImage (no storage permission), wires body shutter buttons through UVC status callbacks, and provides labelled digital zoom. - Read-only audit operation: Checks an existing UVC integration against a 28-item conformance checklist with severities and fix steps. - Use Case: A user reports their USB microscope shows a black screen in their Kotlin app; the Skill diagnoses stream vs rendering faults via the libUVCCamera log tag over network ADB and fixes the guarded open sequence. ## Quick Start Ask the assistant to integrate a USB microscope into the existing Android app, confirming a physical OTG-capable device is reachable over ADB first.