Use this skill when the user needs help with ESP-IDF environment checks, example discovery, pin safety review, or build diagnostics.
This ClawHub-facing bundle exposes nine stable MVP tools:
manage_envexplore_demoresolve_componentanalyze_partitionsdecode_panicanalyze_monitorflash_and_monitorexecute_projectsafe_buildThese tools are implemented in the bundled runtime and are invoked through scripts/run-tool.mjs.
manage_envPurpose:
$IDF_PATH, common install paths, python/python3, and idf.py availabilityExample invocation:
printf '%s' '{"action":"check"}' | node scripts/run-tool.mjs manage_env --stdin
explore_demoPurpose:
$IDF_PATH/examplesREADME.md / README_CN.mdExample invocation:
printf '%s' '{"query":"gpio"}' | node scripts/run-tool.mjs explore_demo --stdin
safe_buildPurpose:
idf.py build only after the audit passesExample invocation:
printf '%s' '{"projectPath":"/path/to/project","chip":"esp32"}' | node scripts/run-tool.mjs safe_build --stdin
analyze_partitionsPurpose:
partitions.csv from the current ESP-IDF projectfactory / ota_0)partitions.csvExample invocation:
printf '%s' '{"projectPath":"/path/to/project","rawLog":"Part '\''factory'\'' ... overflow 0x20000"}' | node scripts/run-tool.mjs analyze_partitions --stdin
decode_panicPurpose:
addr2line tool for Xtensa or RISC-V chipsExample invocation:
printf '%s' '{"chip":"esp32s3","elfPath":"/path/to/app.elf","log":"Guru Meditation Error..."}' | node scripts/run-tool.mjs decode_panic --stdin
analyze_monitorPurpose:
idf.py monitor outputExample invocation:
printf '%s' '{"chip":"esp32s3","elfPath":"/path/to/app.elf","log":"...monitor output..."}' | node scripts/run-tool.mjs analyze_monitor --stdin
flash_and_monitorPurpose:
idf.py flash monitorExample invocation:
printf '%s' '{"projectPath":"/path/to/project","chip":"esp32s3","port":"/dev/ttyUSB0"}' | node scripts/run-tool.mjs flash_and_monitor --stdin
execute_projectPurpose:
flash_and_monitorExample invocation:
printf '%s' '{"projectPath":"/path/to/project","chip":"esp32s3","port":"/dev/ttyUSB0"}' | node scripts/run-tool.mjs execute_project --stdin
resolve_componentPurpose:
espressif/* when an official component is a strong matchidf_component.yml dependency snippetExample invocation:
printf '%s' '{"query":"led_strip","target":"esp32s3"}' | node scripts/run-tool.mjs resolve_component --stdin
manage_env can succeed even when ESP-IDF is not installed, because reporting NOT_FOUND is a valid diagnostic result.manage_env({ action: "install" }) returns manual install guidance; it does not clone repositories or run upstream install scripts inside the skill bundle.resolve_component uses the official ESP Component Registry over the network and should be treated as an explicit online lookup step.decode_panic needs the matching ELF file and a working addr2line binary from the ESP-IDF toolchain.analyze_monitor is still log-driven; it does not open serial ports by itself in this MVP.flash_and_monitor does execute idf.py flash monitor, so the serial port, permissions, and toolchain environment must already be working.safe_build depends on a shell environment where idf.py is executable.esp32, esp32s3, esp32c3, esp32c6, esp32c5, esp32h2, and esp32p4.ESP32-C6FH4 -> esp32c6 and ESP32-S3-PICO-1-N8R2 -> esp32s3.file, line, and evidence fields so the host can point back to the exact source location.pin_bit_mask, common ..._io_num fields, macro chains, simple assignment aliases, and #define / const gpio_num_t aliases.scripts/run-tool.mjs — minimal stdin-driven tool runner for ClawHub-safe executiondist/index.js — bundled runtime entrydist/data/soc/*.json — current SoC rules database (esp32, esp32s3, esp32c3, esp32c6, esp32c5, esp32h2, esp32p4)The following ideas are roadmap items, not current bundle guarantees:
idf_component.yml maintenancepartitions.csv editspytest-embedded共 1 个版本