$npx -y skills add easyzoom/aix-skills --skill embedded-library-entryUse when integrating, porting, configuring, or debugging third-party MCU embedded C libraries in bare-metal or RTOS projects
| 1 | # Embedded Library Entry |
| 2 | |
| 3 | ## Overview |
| 4 | |
| 5 | Use this skill as the entry point for MCU library integration work. Classify the library type, target platform, runtime model, resource limits, and required porting layer before routing to a specific library skill. |
| 6 | |
| 7 | ## When To Use |
| 8 | |
| 9 | Use this skill when: |
| 10 | |
| 11 | - The user wants to add, port, configure, or debug an embedded C library. |
| 12 | - The task involves MCU storage, logging, crash diagnosis, shell commands, filesystems, protocol stacks, UI, parsers, buttons, timers, queues, or state machines. |
| 13 | - The target may be bare metal, RTOS-based, or resource-constrained. |
| 14 | |
| 15 | Do not use this skill when the problem is only board bring-up, flashing, serial logs, or architecture faults. Use the embedded debug skills first. |
| 16 | |
| 17 | ## First Questions |
| 18 | |
| 19 | Ask only what is needed to route: |
| 20 | |
| 21 | - Library name and version or source repository. |
| 22 | - Target MCU/SoC, compiler, and build system. |
| 23 | - Runtime model: bare metal, FreeRTOS, RT-Thread, Zephyr, Linux, or unknown. |
| 24 | - Memory/storage resources: RAM, flash, block device, filesystem, heap, stack, and whether dynamic allocation is allowed. |
| 25 | - Existing porting layer: file I/O, flash driver, UART, timebase, mutex, malloc, display, network, or shell transport. |
| 26 | - Current task: first integration, compile error, link error, runtime failure, performance issue, or data corruption. |
| 27 | |
| 28 | ## Routing Guide |
| 29 | |
| 30 | **Storage & Filesystem** |
| 31 | |
| 32 | | Library or task | Prefer | |
| 33 | | --- | --- | |
| 34 | | littlefs filesystem or block device | `littlefs-integration` | |
| 35 | | FatFs disk I/O, FAT/exFAT | `fatfs-integration` | |
| 36 | | FlashDB KV/time-series database | `flashdb-integration` | |
| 37 | |
| 38 | **Logging & Diagnosis** |
| 39 | |
| 40 | | Library or task | Prefer | |
| 41 | | --- | --- | |
| 42 | | EasyLogger output, filters, async logs | `easylogger-integration` | |
| 43 | | CmBacktrace Cortex-M crash backtrace | `cmbacktrace-integration` | |
| 44 | | SEGGER RTT logs, control block, J-Link I/O | `segger-rtt-integration` | |
| 45 | |
| 46 | **Shell & CLI** |
| 47 | |
| 48 | | Library or task | Prefer | |
| 49 | | --- | --- | |
| 50 | | letter-shell command shell | `letter-shell-integration` | |
| 51 | | nr_micro_shell tiny CLI | `nr-micro-shell-integration` | |
| 52 | | zoom-shell embedded console | `zoom-shell-integration` | |
| 53 | |
| 54 | **Networking & Protocols** |
| 55 | |
| 56 | | Library or task | Prefer | |
| 57 | | --- | --- | |
| 58 | | lwIP netif, DHCP, TCP, UDP | `lwip-integration` | |
| 59 | | FreeRTOS+TCP network driver, sockets | `freertos-plus-tcp-integration` | |
| 60 | | MQTT client, keepalive, QoS, TLS | `mqtt-embedded-integration` | |
| 61 | | FreeModbus RTU, ASCII, TCP | `freemodbus-integration` | |
| 62 | | OpenThread radio, mesh, commissioning | `openthread-integration` | |
| 63 | | CAN bus library, MCP2515, bit timing | `canbus-integration` | |
| 64 | | CANopen OD, NMT, SDO, PDO, heartbeat | `canopen-integration` | |
| 65 | | BLE GATT services, characteristics, MTU | `ble-gatt-integration` | |
| 66 | |
| 67 | **UI & Display** |
| 68 | |
| 69 | | Library or task | Prefer | |
| 70 | | --- | --- | |
| 71 | | LVGL display, input, tick, draw buffers | `lvgl-integration` | |
| 72 | | U8g2 monochrome display, fonts | `u8g2-integration` | |
| 73 | | E-paper EPD, busy timing, refresh modes | `epd-integration` | |
| 74 | | TJpgDec embedded JPEG decoding | `tjpgd-integration` | |
| 75 | |
| 76 | **Security & Crypto** |
| 77 | |
| 78 | | Library or task | Prefer | |
| 79 | | --- | --- | |
| 80 | | mbedTLS entropy, certificates, TLS handshake | `mbedtls-integration` | |
| 81 | | micro-ecc ECDH, ECDSA, keys, signatures | `micro-ecc-integration` | |
| 82 | | TinyCrypt AES, SHA, HMAC, ECC | `tinycrypt-integration` | |
| 83 | |
| 84 | **Data & Serialization** |
| 85 | |
| 86 | | Library or task | Prefer | |
| 87 | | --- | --- | |
| 88 | | cJSON, jsmn, inih parsers | `embedded-data-parsing-libs` | |
| 89 | | nanopb Protocol Buffers | `nanopb-integration` | |
| 90 | | CRC, checksum, integrity checks | `crc-checksum-integration` | |
| 91 | |
| 92 | **USB & Transfer** |
| 93 | |
| 94 | | Library or task | Prefer | |
| 95 | | --- | --- | |
| 96 | | TinyUSB device, host, CDC, MSC, HID | `tinyusb-integration` | |
| 97 | | XMODEM/YMODEM serial transfer, bootloader | `ymodem-xmodem-integration` | |
| 98 | |
| 99 | **Boot & OTA** |
| 100 | |
| 101 | | Library or task | Prefer | |
| 102 | | --- | --- | |
| 103 | | MCUboot secure boot, slots, signing | `mcuboot-integration` | |
| 104 | | OTA package, transport, rollback | `ota-update-integration` | |
| 105 | |
| 106 | **Compression** |
| 107 | |
| 108 | | Library or task | Prefer | |
| 109 | | --- | --- | |
| 110 | | miniz DEFLATE, zlib, ZIP | `miniz-integration` | |
| 111 | | heatshrink streaming compression | `heatshrink-integration` | |
| 112 | |
| 113 | **DSP & ML** |
| 114 | |
| 115 | | Library or task | Prefer | |
| 116 | | --- | --- | |
| 117 | | CMSIS-DSP math, FFT, filters | `cmsis-dsp-integration` | |
| 118 | | TinyMaix MCU inference, model loading | `tinymaix-integration` | |
| 119 | |
| 120 | **Input, Timers & State Machines** |
| 121 | |
| 122 | | Library or task | Prefer | |
| 123 | | --- | --- | |
| 124 | | MultiButton, FlexibleButton | `embedded-input-libs` | |
| 125 | | MultiTimer, software timers | `embedded-timing-libs` | |
| 126 | | Ring buffer, FIFO, MCU queues | `embedded-buffer-queue-libs` | |
| 127 | | State machine libraries | `embedded-state-machine-libs` | |
| 128 | |
| 129 | **Frameworks & Patterns** |
| 130 | |
| 131 | | Library or task | Prefer | |
| 132 | | --- | --- | |
| 133 | | PLOOC object-oriented C | `plooc-integration` | |
| 134 | | Avem event-driven components | `avem-integration` | |
| 135 | | Power management framework | `power-management |