hardware-re-usb-hid

Reverse engineer USB HID peripherals by decoding protocols via Linux hidraw interfaces.

5|Updated Feb 2, 2026
One-click install
npx skills add https://github.com/dmaynor/dmaynor-skills-marketplace --skill hardware-re-usb-hid
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hardware-re-usb-hid
Source: https://github.com/dmaynor/dmaynor-skills-marketplace/tree/main/plugins/hardware-re-usb-hid/skills/hardware-re-usb-hid
Command: npx skills add https://github.com/dmaynor/dmaynor-skills-marketplace --skill hardware-re-usb-hid

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill enables the reverse engineering of unknown USB HID peripherals, allowing you to understand and replicate their communication protocols for custom control or integration.

Core Features & Use Cases

  • Protocol Analysis: Methodically dissect USB HID device communication from enumeration to packet decoding.
  • HID Report Descriptors: Parse and understand HID report descriptors to map device functionalities.
  • Vendor-Specific Devices: Tackle devices with undocumented or vendor-specific HID protocols.
  • Use Case: You have a custom USB keyboard with unique media keys. This Skill can help you capture and decode the HID reports sent by the keyboard, allowing you to create a custom driver or script to control those keys.

Quick Start

Use the hardware-re-usb-hid skill to begin reverse engineering the USB HID device connected to /dev/hidraw0.

Frequently Asked Questions about hardware-re-usb-hid

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reverse engineer a USB HID device on Linux?

Reverse engineer a USB HID device on Linux by using this Skill to enumerate and capture communication via hidraw interfaces, then decode HID report descriptors and vendor-specific packet structures for custom driver integration.

What is a HID report descriptor and how do I decode it?

A HID report descriptor defines the data packet structure for USB peripherals. Use this Skill to parse and decode these descriptors, mapping device functionalities and analyzing vendor-specific HID protocols.

Can I capture vendor-specific USB HID commands using Python and Bash?

Yes, you can capture vendor-specific USB HID commands using Python and Bash. This Skill leverages these tools alongside Read, Write, Grep, and Glob to analyze packet structures from devices connected via Linux hidraw interfaces.

Does this USB protocol analysis approach work with custom keyboards and embedded peripherals?

Yes, this USB protocol analysis approach works with custom keyboards and embedded peripherals. It methodically dissects their communication, allowing you to replicate protocols and create custom scripts for unique media keys or undocumented commands.

What tools do I need to analyze undocumented USB HID protocols?

To analyze undocumented USB HID protocols, you need Bash, Python, Read, Write, Grep, and Glob. These tools facilitate the capture and decoding of HID reports and vendor-specific commands via Linux hidraw interfaces.

Why are my custom USB keyboard media keys sending unrecognized HID reports?

Your custom USB keyboard media keys are sending unrecognized HID reports because they likely use vendor-specific protocols. Use this Skill to capture and decode the packet structures from /dev/hidraw0 to map their functionalities.