Use when developing firmware for microcontrollers, implementing RTOS applications, or optimizing power consumption. Invoke for STM32, ESP32, FreeRTOS, bare-metal, power optimization, real-time systems, configure peripherals, write interrupt handlers, implement DMA transfers, debug timing issues.
93
100%
Does it follow best practices?
Impact
87%
1.04xAverage score across 6 eval scenarios
Passed
No known issues
FreeRTOS task synchronization and ISR safety
Short ISRs
100%
100%
ISR flag clearing
75%
100%
portYIELD_FROM_ISR
100%
100%
Task notifications used
0%
0%
vTaskDelayUntil for periodic task
100%
100%
Mutex for shared buffer
100%
100%
Watchdog timer
100%
100%
Stack size constants
100%
100%
Stack monitoring
0%
100%
Heap monitoring
0%
0%
Volatile for registers
50%
100%
Resource documentation
100%
100%
Low-power sleep and peripheral power management
Stop/Standby for long sleep
100%
100%
RTC wakeup source
100%
100%
Peripheral clock disable
100%
100%
Unused pin configuration
100%
100%
DMA usage
0%
50%
Battery monitoring
100%
100%
Adaptive behavior
100%
100%
Clock speed reduction
100%
50%
Power analysis document
100%
100%
No floating-point concern
100%
100%
Watchdog present
0%
100%
Memory-efficient driver with static allocation
No dynamic allocation
100%
100%
Static driver state
87%
87%
Timeout in polling loops
100%
100%
Error return codes
100%
100%
Const for lookup/calibration data
80%
80%
Packed structures
0%
25%
Smallest data types
87%
87%
Size optimization flags
100%
100%
Volatile for hardware registers
100%
100%
Memory usage documented
100%
100%
Error recovery described
100%
100%
Communication protocol with CRC validation and state machine
DMA for SPI transfer
100%
100%
CRC validation
100%
100%
Protocol state machine
80%
90%
Timeout in polling loops
80%
50%
Atomic CS pin control via BSRR
75%
100%
Mutex for shared result buffer
100%
100%
Short ISR with task deferral
100%
100%
ISR flag clearing
100%
100%
No hardcoded hardware values
87%
87%
Volatile for ISR-shared variables
50%
83%
Clock configured before peripheral
50%
100%
Resource summary completeness
100%
100%
Build system quality and code review workflow
-Wall -Werror flags
100%
100%
Size optimization flags
100%
100%
Link-time optimization
100%
0%
cppcheck integration
100%
100%
No magic numbers in gpio_init.c
100%
100%
BSRR for GPIO set/clear
100%
100%
Clock enable before GPIO config
100%
100%
Named constants in header
100%
100%
Volatile for hardware registers
100%
100%
Build notes completeness
100%
100%
Cross-compilation toolchain
100%
100%
Priority inversion avoidance and real-time timing analysis
Priority inheritance mutex
100%
100%
Task notification for ADC ISR
70%
0%
portYIELD_FROM_ISR called
0%
100%
vTaskDelayUntil for periodic tasks
100%
70%
Stack sizes as named constants
100%
100%
Stack high water mark monitoring
0%
100%
Heap monitoring
0%
0%
Volatile for ISR-shared variables
100%
100%
Priority inversion analysis
100%
100%
Deadline verification method
100%
100%
ISR flag clearing
0%
0%
5b76101
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.