Embedded debug entry
Use when triaging embedded device, MCU, firmware, board bring-up, flashing, serial log, RTOS, bootloader, low-power, or peripheral debug requestsFrom its SKILL.md
npx -y skills add easyzoom/aix-skills --skill embedded-debug-entryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 24 stars24 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.2 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Embedded Debug Entry
Overview
Use this skill as the first stop for embedded debugging. The agent should classify the target, failure phase, access method, toolchain, and risk level, then route to the narrowest specialized skill instead of guessing from incomplete context.
When To Use
Use this skill when:
- The user reports an embedded device, MCU, board, firmware, RTOS, bootloader, or peripheral issue.
- The architecture or debugging path is unclear.
- The task might involve flashing, serial logs, SWD/JTAG, UART, ADB, bootloaders, low power, or hardware signals.
Do not use this skill when the user already named a more specific skill path, such as Cortex-M HardFault, 8051 timer, RISC-V trap, or embedded Linux SSH login.
First Questions
Ask only what is needed to route:
- Target type: MCU, embedded Linux device, mixed SoC, module, or unknown board.
- Architecture or chip family: Cortex-M, Cortex-R, RISC-V, 8051, Linux-capable ARM, or unknown.
- Failure phase: cannot connect, cannot flash, no boot, crash/fault, no logs, peripheral failure, RTOS issue, bootloader issue, low-power issue.
- Available access: SWD/JTAG, serial UART, SSH, ADB, Telnet, local console, logic analyzer, oscilloscope, or vendor tool.
- Toolchain and artifacts: ELF/HEX/MAP, firmware log, programmer output, schematic, boot log, or fault dump.
Routing Guide
Use the most specific path:
| Symptom or target | Prefer |
|---|---|
| Cortex-M MCU, SWD/JTAG, HardFault, startup | cortex-m-debug |
| Cortex-R5/R4/R7, TCM, MPU, lockstep, safety core | cortex-r5-debug |
| 8051/51/STC/Nuvoton/Silabs C8051 | 8051-mcu-debug |
| RISC-V MCU, OpenOCD/GDB, trap, CSR | riscv-mcu-debug |
| Embedded Linux login before debugging | embedded-linux-login-debug |
| OpenOCD/J-Link/ST-Link probe, SWD/JTAG attach | openocd-jlink-stlink-debug |
| Flash/download/verify/connect failure | mcu-flashing-debug |
| UART boot log, serial console, 乱码, no logs | embedded-serial-log-debug |
| Crash, exception, trap, fault, stack corruption | embedded-fault-debug |
| GPIO/UART/SPI/I2C/PWM/ADC bring-up | embedded-peripheral-bringup |
| Sensor driver, IMU, I2C/SPI sensor data | sensor-driver-integration |
| QSPI/OSPI flash, XIP, memory-mapped boot | qspi-xip-flash-debug |
| FreeRTOS kernel: tasks, heap, tick, ISR API | freertos-kernel-debug |
| Zephyr devicetree, Kconfig, west, drivers | zephyr-integration |
| RT-Thread BSP, FinSH, device framework, DFS | rt-thread-integration |
| General RTOS scheduling, stacks, priorities | rtos-debug |
| STM32 HAL/LL, CubeMX, clocks, DMA, NVIC | stm32-hal-ll-integration |
| ESP-IDF, sdkconfig, partitions, NVS, Wi-Fi | esp-idf-integration |
| Nordic nRF Connect SDK, BLE, DFU, Partition Mgr | nrf-connect-sdk-integration |
| BLE GATT services, characteristics, MTU, pairing | ble-gatt-integration |
| Bootloader, app jump, upgrade state | bootloader-debug |
| MCUboot image slots, signing, swap, rollback | mcuboot-integration |
| OTA package, transport, validation, activation | ota-update-integration |
| Sleep, wakeup, current consumption, lost debug | low-power-debug |
| Power, reset, clock, pins, board-level signals | hardware-interface-debug |
Workflow
-
Classify before acting. Do not start with code edits, reflashing, or resets until the target and failure phase are known.
-
Route to one primary skill. If multiple skills apply, pick the one closest to the current blocker. Example: "cannot flash Cortex-M" starts with
mcu-flashing-debug, not general Cortex-M logic. -
Collect minimal evidence. Ask for the smallest artifact that proves the current state: programmer error, serial log, GDB register dump, schematic snippet, or tool output.
-
Preserve safety boundaries. Treat erase, option bytes, boot config, security bits, fuses, production data, and power changes as explicit-approval actions.
-
Summarize the route. Tell the user which path you selected and why before continuing with detailed debug instructions.
Verification
Before moving into a specialized workflow:
- State target class, architecture, failure phase, available access, and selected skill.
- State what evidence is already available and what is still missing.
- Confirm no destructive operation has been recommended without approval.
Common Failures
- Treating every embedded issue as a firmware code problem.
- Asking for every possible tool output before choosing a debug path.
- Starting with flash erase when the failure is actually serial wiring or reset.
- Debugging application logic before proving the target boots and the image matches.
- Mixing Linux device login workflows with MCU bare-metal workflows.
Example
User:
板子起来以后没日志,也不知道是不是程序没跑。
Agent:
- Asks for chip family, access methods, firmware artifact, and whether serial pins are known.
- Routes to
embedded-serial-log-debugif the first blocker is "no logs". - If serial is healthy but no heartbeat exists, routes to the architecture-specific startup workflow.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most debug triage skills give in ~1.3k tokens
Counted across 1,020 of the 1,639 authors here whose files we hold, read 2026-09-06
- Find root cause before attempting any fixin 134 of 1020, across 118 files
- Create a failing test case before implementing a fixin 109 of 1020, across 95 files
- Read error messages and stack traces completelyin 102 of 1020, across 88 files
- Reproduce the issue consistently before investigatingin 90 of 1020, across 77 files
- Make the smallest possible change to test a hypothesisin 90 of 1020, across 76 files
- Trace data flow backward to find the sourcein 84 of 1020, across 70 files
- Form a single hypothesis before testingin 78 of 1020, across 64 files
- Implement only one fix at a timein 76 of 1020, across 63 files
- Question the architecture if three fixes failin 73 of 1020, across 59 files
- Add diagnostic instrumentation at component boundariesin 68 of 1020, across 56 files
- Compare broken code against working examplesin 68 of 1020, across 57 files
- Write a regression test before applying the fixin 62 of 1020, across 55 files
Said here and by no other author read
- classify target failure phase and access method
- route to the narrowest specialized skill
- ask only necessary routing questions
- collect minimal evidence for the current state
- summarize the selected route to the user
- state target class and architecture before proceeding
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.