Use for Embedded Swift projects that depend on ESP-Matter. Enforces ESP-IDF dependency order and per-build environment setup.
Use this skill only if:
agents/openai.yamlscripts/ESP_Matter_Installer.pyscripts/ESP_Matter_SetupEnvironment.pyreferences/01-installation.mdreferences/02-environment-setup.mdreferences/03-commands.mdassets/ESP-Matter depends on ESP-IDF. Order is mandatory:
references/01-installation.mdreferences/02-environment-setup.mdreferences/03-commands.mdFor installer/setup/build command output:
For every build/flash action:
idf.py commands in the same shell sessionBefore sourcing ESP scripts:
python3 resolves to a stable Homebrew/system Python (prefer /opt/homebrew/bin/python3.14, then 3.13/3.12/3.11)ESP_PYTHON to that interpreterPATH for the active shell sessionFor all build and flash actions in ESP-Matter projects, apply the ESP-IDF mandatory sequence exactly.
idf.py fullclean.idf.py set-target with mandatory CMake args.idf.py erase-flash.Do not skip or reorder these steps.
If idf.py fullclean fails with a non-CMake build directory message:
<project>/buildidf.py fullcleanset-target and buildFor Embedded Swift ESP-Matter builds, include these parameters in both set-target and build command:
-DIDF_TARGET=<target>-DCMAKE_Swift_COMPILER=$HOME/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swiftcFor esp32c6, also set:
ESP_MATTER_DEVICE_PATH=$HOME/esp/esp-matter/device_hal/device/esp32c6_devkit_cFor every build action:
.codex/build-times.jsonThe stored timing record must include at least:
build, app, or uf2)Storage rule:
Before starting any build:
previous elapsed time + 60 secondsreferences/03-commands.mdThis timing baseline is for silence handling only:
references/03-commands.md