esp32-firmware-engineer
Audited by Runlayer on Feb 25, 2026
Malicious tool definition detected
Tool: .gitattributes
Malicious tool definition detected
Tool: .gitignore Description: .DS_Store **/.DS_Store
Malicious tool definition detected
Tool: README.md Description: # esp32-firmware-engineer An agent skill for ESP32/ESP-IDF firmware engineering.
Malicious tool definition detected
Tool: SKILL.md [1/2] Description: --- name: esp32-firmware-engineer description: ESP32 firmware engineering for ESP-IDF projects. Write, review, and debug embedded C/C++ code involving FreeRTOS tasks/queues/timers, GPIO/I2C/SPI/UART/ADC/PWM peripherals, TWAI/CAN, Wi-Fi/BLE networking, OTA updates, Secure Boot and flash encryption, LVGL display integration, build/flash/monitor workflows, logging, crash analysis, memory/code-size optimization, low-power sleep/wakeup design, on-device USB/serial se
Tool: SKILL.md [2/2] Description: instead of assuming RGB layout. - Check chosen bus/peripheral configuration (clock, DMA, memory placement) matches performance requirements and hardware limits. - Check logging quality for field debugging.
Malicious tool definition detected
Tool: agents/claude.yaml Description: interface: display_name: "ESP32 Firmware Engineer" short_description: "ESP-IDF firmware write, review, debug, power, OTA, security, and bring-up" # Claude Code skill invocation: @esp32-firmware-engineer or via SKILL.md trigger matching activation_keywords: - esp32 - esp-idf - esp32s3 - esp32c3 - esp32c6 - esp32s2 - freertos - idf.py - guru meditation - sdkconfig - partitions.csv - esp-adf - esp-sr - lvgl - deep sleep - light sleep - secure boot - flash encry
Malicious tool definition detected
Tool: agents/openai.yaml Description: interface: display_name: "ESP32 Firmware Engineer" short_description: "ESP-IDF firmware write, review, debug, power, OTA, security, and bring-up" activation_keywords: - esp32 - esp-idf - esp32s3 - esp32c3 - esp32c6 - esp32s2 - freertos - idf.py - guru meditation - sdkconfig - partitions.csv - esp-adf - esp-sr - lvgl - deep sleep - light sleep - secure boot
Malicious tool definition detected
Tool: assets/templates/compatibility/esp-framework-compat.lock.example Description: # ESP framework compatibility lock (example) # # Use this file to record exact, proven framework combinations before build/debug/flash.
Malicious tool definition detected
Tool: assets/templates/display-flush/display_flush_template.c Description: #include <stdbool.h> #include <stddef.h> #include <stdint.h> #include "esp_err.h" #include "esp_log.h" static const char *TAG = "display_flush"; typedef enum { DISPLAY_FMT_RGB565_LE, DISPLAY_FMT_RGB565_BE, DISPLAY_FMT_RGB888, } display_pixel_format_t; typedef struct { int width; int height; display_pixel_format_t pixel_format; bool bgr_order; } display_caps_t; typedef struct { int x; int y; int w; int h; const void *pixel
Malicious tool definition detected
Tool: assets/templates/esp-console/CMakeLists.txt Description: idf_component_register( SRCS "app_console_commands.c"
Malicious tool definition detected
Tool: assets/templates/esp-console/app_console_commands.c Description: #include "app_console_commands.h" #include <stdbool.h> #include <stdio.h> #include <string.h> #include "esp_chip_info.h" #include "esp_console.h" #include "esp_heap_caps.h" #include "esp_log.h" #include "esp_system.h" #include "esp_timer.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" static const char *TAG = "app_console"; static const char *app_reset_reason_to_str(esp_reset_reason_t reason) { switch (reason) {
Malicious tool definition detected
Tool: assets/templates/esp-console/include/app_console_commands.h Description: #pragma once #include "esp_err.h" #ifdef __cplusplus extern "C" { #endif /* * Register a basic service terminal command set (help/status/settings/heap/tasks/log/reboot).
Malicious tool definition detected
Tool: assets/templates/esp-idf-component/CMakeLists.txt Description: idf_component_register( SRCS "esp32_component_template.c"
Malicious tool definition detected
Tool: assets/templates/esp-idf-component/esp32_component_template.c Description: #include "esp32_component_template.h" #include <inttypes.h> #include "driver/gpio.h" #include "esp_check.h" #include "esp_log.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" static const char *TAG = "comp_template"; static TaskHandle_t s_task; static esp32_component_template_config_t s_cfg; static bool s_initialized; static void component_task(void *arg) { const TickType_t period = pdMS_TO_TICKS(s_cfg.p
Malicious tool definition detected
Tool: assets/templates/esp-idf-component/include/esp32_component_template.h Description: #pragma once #include <stdbool.h> #include <stdint.h> #include "esp_err.h" #ifdef __cplusplus extern "C" { #endif typedef struct {
Malicious tool definition detected
Tool: assets/templates/partitions/ota_16mb_example.csv Description: # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x8000, otadata, data, ota, 0x11000, 0x2000,
Malicious tool definition detected
Tool: assets/templates/shell/zshrc-esp-idf-snippet.zsh Description: # ESP-IDF Environment (auto-load) # source ~/.esp_idf_env # Uncomment to auto-load on terminal start
Malicious tool definition detected
Tool: references/communication-protocols.md Description: # ESP32 Communication Protocols (ESP-IDF) Use this reference for ESP32 peripheral communication patterns in ESP-IDF: I2C, SPI, UART, and TWAI (CAN). ## Scope and Version Notes - ESP-IDF has both legacy and newer driver APIs in some subsystems (notably I2C/ADC across versions). - Prefer the project's existing API style unless you are explicitly migrating.
Malicious tool definition detected
Tool: references/dependency-compatibility.md Description: # ESP-IDF / Plugin Compatibility Evidence (ESP-ADF, ESP-SR, etc.) Use this reference before build/debug/flash when external ESP frameworks/plugins are in use. Compatibility must be proven with exact-version evidence.
Malicious tool definition detected
Tool: references/device-terminal-console.md Description: # ESP32 Device Terminal / Service Console (ESP-IDF) Use this reference when a USB/serial console path is available and not reserved by product functionality.
Malicious tool definition detected
Tool: references/display-graphics.md Description: # ESP32 Display and Graphics Validation (ESP-IDF) Use this reference for display bring-up, framebuffer formats, flush paths, and graphics correctness on ESP32 projects.
Malicious tool definition detected
Tool: references/esp-idf-checklists.md [1/2] Description: # ESP-IDF Checklists Use these checklists to speed up implementation, review, and debugging work without skipping embedded-specific risks. ## Blocking Context Checklist (Do Not Skip) - Confirm exact target chip (`esp32`, `esp32s3`, `esp32c3`, etc.). Stop if unknown. - Confirm board/revision and peripheral wiring (GPIO map, pull-ups, transceivers, display interface).
Tool: references/esp-idf-checklists.md [2/2] Description: - Confirm transaction timeouts and recovery from bus lockups.
Malicious tool definition detected
Tool: references/logging-and-observability.md Description: # ESP32 Logging and Observability (ESP-IDF) Use this reference when designing logs, filtering noise, or diagnosing issues from `idf.py monitor`.
Malicious tool definition detected
Tool: references/lvgl-display.md [1/2] Description: # LVGL + ESP-IDF Reference ## Version Compatibility Matrix | LVGL | Minimum ESP-IDF | Notes | |---|---|---| | v8.3.x | 4.4+ | Stable, widely used; uses `lv_disp_drv_t` / `lv_indev_drv_t` API | | v9.0.x | 5.0+ | Breaking API change from v8 — `lv_display_t`, new flush callback signature | | v9.1+ | 5.1+ | Recommended for new projects on IDF 5.x | **Always confirm the exact LVGL version in `idf_component.yml` or `CMakeLists.txt` before writing any
Tool: references/lvgl-display.md [2/2] Description: prepare the next frame while the DMA is transmitting the current one: ```c lv_display_set_buffers(disp, buf1, buf2, sizeof(buf1), LV_DISPLAY_RENDER_MODE_PARTIAL); ``` In the flush callback, start DMA and return immediately.
Malicious tool definition detected
Tool: references/memory-optimization.md Description: # ESP32 Memory and Size Optimization (ESP-IDF) Use this reference for RAM/flash/code-size optimization and memory-safety decisions in ESP-IDF projects. ## ESP32 Memory Model (Practical View) - Internal RAM is limited and shared with stacks, drivers, and protocol stacks.
Malicious tool definition detected
Tool: references/microcontroller-programming.md Description: # ESP32 Peripheral Programming (ESP-IDF) Use this reference for ESP32 GPIO, interrupts, timers, ADC, PWM, watchdogs, and low-level programming decisions in ESP-IDF. ## ESP32-Specific Default - Prefer ESP-IDF drivers and HAL-style APIs first.
Malicious tool definition detected
Tool: references/ota-workflow.md Description: # OTA Workflow Reference ## Partition Layout Requirements ### Minimal 2-OTA Layout (4MB flash) ```csv # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x6000, otadata, data, ota, 0xf000, 0x2000, phy_init, data, phy, 0x11000, 0x1000, ota_0, app, ota_0, 0x20000, 0x180000, ota_1, app, ota_1, 0x1a0000, 0x180000, ``` ### Factory + 2-OTA (preferred for rollback) ```csv nvs, data, nvs, 0x90
Malicious tool definition detected
Tool: references/panic-log-triage.md Description: # Panic and Log Triage Use this file when diagnosing resets, panics, boot loops, and unclear runtime failures from serial logs. ## Collect the Right Data First - Capture the full serial log from reset through failure (not only the panic tail).
Malicious tool definition detected
Tool: references/partitions-and-sdkconfig.md Description: # ESP32 Partitions and sdkconfig (ESP-IDF) Use this reference when changing flash layout, OTA support, or project configuration.
Malicious tool definition detected
Tool: references/power-optimization.md Description: # ESP32 Power Optimization (ESP-IDF) Use this reference for ESP32 low-power modes, wakeup design, dynamic power management, and battery-aware behavior in ESP-IDF projects.
Malicious tool definition detected
Tool: references/rtos-patterns.md Description: # ESP32 FreeRTOS Patterns (ESP-IDF) Use this reference for ESP32/ESP-IDF tasking, synchronization, ISR handoff, timers, and watchdog-safe concurrency design. ## Scope and Defaults - Target ESP-IDF projects using the built-in FreeRTOS integration.
Malicious tool definition detected
Tool: references/security-hardening.md [1/2] Description: # Security Hardening Reference ## Security Feature Overview | Feature | Where Configured | Reversible?
Tool: references/security-hardening.md [2/2]
Malicious tool definition detected
Tool: references/toolchain-and-shell-setup.md Description: # ESP-IDF Toolchain and Shell Setup (ESP32/ESP-IDF) Use this reference before build/flash/monitor operations and when improving developer UX.
Malicious tool definition detected
Tool: references/values.md Description: # ESP32 Firmware Engineering Values Use this file first. It defines non-negotiable behavior for the ESP32 firmware skill. ## 1. Hardware Truth Before Code - `Value`: Firmware must match the actual hardware, not an assumed board. - `Why`: Most embedded failures come from incorrect pin maps, electrical assumptions, or missing peripheral context.
Malicious tool definition detected
Tool: scripts/build.sh Description: #!/usr/bin/env bash set -euo pipefail SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) # shellcheck source=/dev/null .
Malicious tool definition detected
Tool: scripts/check_plugin_compatibility.py [1/2] Description: #!/usr/bin/env python3 """Validate ESP-IDF plugin/framework compatibility with concrete evidence.
Tool: scripts/check_plugin_compatibility.py [2/2] Description: int, int], sr_dir: Path) -> CheckResult: details: list[str] = [] describe = git_describe(sr_dir) details.append(f"ESP-SR git describe: {describe}") manifest = sr_dir / "idf_component.yml" if not manifest.exists(): return CheckResult(False, "ESP-SR idf_component.yml not found (no dependency evidence)", details) text = manifest.read_text(errors="ignore") version_match = re.search(r'(?m)^version:\s*"([^"]+)"', text) if version_match: de
Malicious tool definition detected
Tool: scripts/common.sh Description: #!/usr/bin/env bash set -euo pipefail SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) PROJECT_DIR=${PROJECT_DIR:-$(cd "${SCRIPT_DIR}/.." && pwd)} BUILD_DIR=${BUILD_DIR:-"${PROJECT_DIR}/build"} IDF_PY=${IDF_PY:-idf.py} IDF_BAUD=${IDF_BAUD:-460800} log() { printf '[esp-idf-scripts] %s ' "$*" } print_shell_setup_hint() { log "Shell UX hint (zsh): add this to ~/.zshrc if missing:" printf '%s ' '# ESP-IDF Environment (auto-load)' printf '%s ' '# source ~/
Malicious tool definition detected
Tool: scripts/flash.sh Description: #!/usr/bin/env bash set -euo pipefail SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) # shellcheck source=/dev/null .
Malicious tool definition detected
Tool: scripts/flash_monitor.sh Description: #!/usr/bin/env bash set -euo pipefail SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
Malicious tool definition detected
Tool: scripts/menuconfig.sh Description: #!/usr/bin/env bash set -euo pipefail SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) # shellcheck source=/dev/null
Malicious tool definition detected
Tool: scripts/monitor.sh Description: #!/usr/bin/env bash set -euo pipefail SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) # shellcheck source=/dev/null
Malicious tool definition detected
Tool: validate.sh Description: #!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" VENV_DIR="$ROOT_DIR/.venv" PYTHON_BIN="${PYTHON:-python3}" VALIDATOR_SCRIPT="/Users/adamlipecz/.codex/skills/.system/skill-creator/scripts/quick_validate.py" TARGET_DIR="${1:-$ROOT_DIR}" if [[ !