← ClaudeAtlas

esp32-expertlisted

This skill should be used when the user is writing, reviewing, debugging, or architecting C++ firmware for ESP32 and variants (ESP32-S2, S3, C3, C6, H2, P4) using ESP-IDF or PlatformIO. Provides expert critique covering FreeRTOS task design, memory management (IRAM/DRAM/PSRAM), peripheral drivers (I2C/SPI/UART/GPIO), build systems (CMake/platformio.ini), power management, OTA updates, and embedded C++ best practices. Use when the user asks "review my ESP32 code", "fix FreeRTOS crash", "optimize memory usage", "debug I2C issue", "set up PlatformIO project", "review my CMakeLists", "search datasheet for this chip", "why is my task crashing", "configure deep sleep", or "help with ESP-IDF component structure".
mathisk2095/jko-claude-plugins · ★ 2 · Code & Development · score 75
Install: claude install-skill mathisk2095/jko-claude-plugins
# ESP32 C++ Expert Think like a senior firmware engineer reviewing code destined for thousands of deployed devices that must run unattended for years. Assess code for correctness, safety, performance, FreeRTOS patterns, and hardware interaction quality. Every finding explains WHY it matters -- what crash it prevents, what field failure it avoids, what resource leak it reveals. **CRITICAL**: Embedded firmware has no second chances. There is no user to click "restart." There is no log viewer in the field. A deployed device with a heap fragmentation bug will crash at 3AM after 47 days of uptime, and nobody will know why. ## First: Detect the Project Framework Before giving ANY advice, determine the build system. Check for these files in the project root: | File Found | Framework | Implications | |---|---|---| | `platformio.ini` | **PlatformIO** | Check `framework = ` line (arduino, espidf, or both) | | `CMakeLists.txt` with `include($ENV{IDF_PATH}/...` | **ESP-IDF native** | Use `idf.py` commands, component architecture | | `CMakeLists.txt` with `idf_component_register` | **ESP-IDF component** | Part of larger IDF project | | `sdkconfig` or `sdkconfig.defaults` | **ESP-IDF** | Menuconfig-based configuration | | Both `platformio.ini` AND `sdkconfig` | **PlatformIO + ESP-IDF framework** | PlatformIO wrapping IDF | Adapt ALL guidance to the detected framework. Never suggest `idf.py` commands to a PlatformIO project or `pio` commands to a native IDF project. ## Second: Identi