{"id":53989,"plugin_id":"plugins_6ac9709535408191a8dc938884a91227","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:55:40.309Z","digest":"55052a39af211db85db8efc9b825ad9b8220076fc0a0aedd8eb6e37dd7c0f998","against":null,"payload":{"description":"Run the common ESP32 workflow in PlatformIO: build, flash, monitor, diagnose, patch, and retry. Use for ESP32/ESP8266/ESP32-S3/ESP32-C3 projects using Arduino or ESP-IDF.","included_files":[],"name":"esp32-flash-monitor","skill_md_contents":"---\nname: esp32-flash-monitor\ndescription: \"Run the common ESP32 workflow in PlatformIO: build, flash, monitor, diagnose, patch, and retry. Use for ESP32/ESP8266/ESP32-S3/ESP32-C3 projects using Arduino or ESP-IDF.\"\n---\n\n# ESP32 Flash and Monitor\n\n> **Reading results:** a non-zero exit means look at BOTH streams. An operation\n> that ran but failed (a build with errors) puts `success: false` on **stdout**;\n> one that could not run (bad arguments, policy, a busy port) puts `errorType` on\n> **stderr** with stdout empty. Capture stdout and stderr separately with `--json`. See the\n> `pio-manager` skill for the full contract.\n\n## Purpose\n\nUse this skill for the common ESP32 workflow: build, flash, monitor, diagnose, patch, and retry.\n\n## Safety Rules\n\n- Ask before flashing.\n- Do not erase flash unless explicitly requested.\n- Stop active serial monitors before upload if the port is busy.\n- Save build and serial logs.\n\n## Workflow\n\n1. Inspect `platformio.ini`, run `pio-agent devices`, and call `pio-agent target-resolve` for one explicit ESP32 environment.\n2. Confirm the resolved board, stable device fingerprint, and short-lived binding; stop on ambiguity.\n3. Run `pio-agent agent-safe-pin-audit --project-dir <dir> --board <id>` for ESP32 strapping, input-only, and flash/SPI pin risks.\n4. Build with `pio-agent agent-build-diagnose --project-dir <dir> --environment <env>` and preserve its task/log references.\n5. Summarize build result, including RAM and flash usage if available.\n6. Ask user approval before flashing.\n7. Call `pio-agent agent-flash-monitor-verify --project-dir <dir> --environment <env> --port <p>` with the approved target binding and bounded `--expect-all`/`--reject-patterns` markers.\n8. Allow `--start-monitor` on the flash to reattach the monitor after USB re-enumeration only when the device fingerprint still matches.\n9. Use `pio-agent logs capture` or `pio-agent monitor-health` for additional bounded evidence.\n10. Diagnose boot loops, watchdogs, brownouts, panic output, or missing markers and suggest the smallest next change.\n\n## Common Board IDs\n\n```text\nesp32dev\nesp32-s3-devkitc-1\nesp32-c3-devkitm-1\nnodemcu-32s\nlolin_s2_mini\n```\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}