Agent skill

usb-stack

USB device and host stack implementation expertise

Stars 514
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/a5c-ai/babysitter/tree/main/library/specializations/embedded-systems/skills/usb-stack

SKILL.md

USB Stack Skill

Overview

This skill provides USB device and host stack implementation expertise for embedded systems, covering descriptor generation, device class implementation, and protocol debugging.

Capabilities

USB Descriptor Generation

  • Device descriptor configuration
  • Configuration descriptors
  • Interface descriptors
  • Endpoint descriptors
  • String descriptors
  • BOS descriptors (USB 3.x)

Device Class Implementation

  • CDC (Communications Device Class)
  • HID (Human Interface Device)
  • MSC (Mass Storage Class)
  • DFU (Device Firmware Upgrade)
  • Audio class
  • Video class
  • Custom class implementation

USB Stack Configuration

  • TinyUSB configuration
  • STM32 USB stack setup
  • NXP USB stack integration
  • Zephyr USB subsystem
  • Endpoint buffer management

Enumeration and Debugging

  • Enumeration sequence debugging
  • Protocol analysis
  • USB analyzer integration
  • Descriptor validation
  • Compliance testing

Advanced Features

  • Composite device configuration
  • USB power delivery
  • High-speed/full-speed selection
  • Isochronous transfers
  • Interrupt transfers
  • Bulk transfers

DFU Implementation

  • DFU bootloader design
  • Runtime DFU mode
  • Detach and download
  • Upload capability
  • Manifest phase handling

Target Processes

  • device-driver-development.js - USB driver implementation
  • bootloader-implementation.js - USB DFU bootloader
  • hw-sw-interface-specification.js - USB interface specification

Dependencies

  • TinyUSB or vendor USB stack
  • USB protocol analyzers
  • usb-tools (lsusb, usbmon)

Usage Context

This skill is invoked when tasks require:

  • USB device implementation
  • Device class development
  • USB bootloader creation
  • Protocol debugging
  • Descriptor optimization

Device Class Examples

CDC Virtual COM Port

c
tusb_desc_interface_t cdc_interface = {
    .bLength            = sizeof(tusb_desc_interface_t),
    .bDescriptorType    = TUSB_DESC_INTERFACE,
    .bInterfaceNumber   = 0,
    .bAlternateSetting  = 0,
    .bNumEndpoints      = 2,
    .bInterfaceClass    = TUSB_CLASS_CDC,
    .bInterfaceSubClass = CDC_COMM_SUBCLASS_ACM,
    .bInterfaceProtocol = CDC_COMM_PROTOCOL_NONE,
    .iInterface         = 0
};

HID Report Descriptor

c
uint8_t const hid_report_desc[] = {
    HID_USAGE_PAGE(HID_USAGE_PAGE_DESKTOP),
    HID_USAGE(HID_USAGE_DESKTOP_MOUSE),
    HID_COLLECTION(HID_COLLECTION_APPLICATION),
        HID_USAGE(HID_USAGE_DESKTOP_POINTER),
        HID_COLLECTION(HID_COLLECTION_PHYSICAL),
            // ... buttons and axes
        HID_COLLECTION_END,
    HID_COLLECTION_END
};

Configuration

yaml
usb:
  vid: 0x1234
  pid: 0x5678
  device_class: cdc | hid | msc | dfu | composite
  speed: full | high
  endpoints:
    - ep1_in: bulk, 64
    - ep1_out: bulk, 64

Expand your agent's capabilities with these related and highly-rated skills.

a5c-ai/babysitter

gsd-tools

Central utility skill for GSD operations. Provides config parsing, slug generation, timestamps, path operations, and orchestrates calls to other specialized skills. Acts as the unified entry point that the original gsd-tools.cjs provided via its lib/ modules (commands, config, core, init).

514 31
Explore
a5c-ai/babysitter

model-profile-resolution

Resolve model profile (quality/balanced/budget) at orchestration start and map agents to specific models. Enables cost/quality tradeoffs by selecting appropriate AI models for each agent role.

514 31
Explore
a5c-ai/babysitter

verification-suite

Plan structure validation, phase completeness checks, reference integrity verification, and artifact existence confirmation. Provides the structured verification layer ensuring GSD artifacts are well-formed and complete.

514 31
Explore
a5c-ai/babysitter

state-management

STATE.md reading, writing, and field-level updates. Provides cross-session state persistence via .planning/STATE.md with structured fields for current task, completed phases, blockers, decisions, and quick tasks.

514 31
Explore
a5c-ai/babysitter

git-integration

Git commit patterns, formats, and conventions for GSD methodology. Provides atomic commits per task, structured commit messages, planning file commits, branch management, and milestone tag operations.

514 31
Explore
a5c-ai/babysitter

frontmatter-parsing

YAML frontmatter parsing and manipulation for .planning/ documents. Provides read, write, update, query, and validation operations on frontmatter blocks in GSD markdown artifacts.

514 31
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results