What problem does it solve? Understanding the undocumented protocol of a proprietary USB device requires tedious manual comparison of packet captures. This Skill orchestrates a structured seven-step workflow that turns raw Cynthion/Packetry captures into a command-structure hypothesis, a runnable replay script, a Facedancer device clone, and a protocol reference document. ## Core Features & Use Cases - Byte-level capture diffing: Compare two labeled captures with diff_transactions.py to classify each byte offset as constant, monotonic counter, varying, or missing per endpoint. - Command inference: Run infer_commands.py across multiple labeled captures to identify opcodes, counters, and constants, producing a JSON protocol hypothesis. - Code generation: Generate a libusb1 replay script, a Facedancer 3.x device-emulation clone (Linux only), and a Markdown protocol document from the hypothesis. - Use Case: You have a proprietary USB gadget and want to build an emulator. Capture idle and button-press sessions, diff them, infer the opcode layout, then generate a Facedancer clone script that mimics the device's descriptors and endpoints. ## Quick Start Ask the agent to reverse engineer the protocol of your USB device using the Cynthion captures you have recorded, starting with at least two labeled sessions.