Agent skill

Flash Esp32s3

by RomanLut in RomanLut/hx_espnow_rc

Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb.

MITAuto-check passedDevelopment

Install Flash Esp32s3

skills CLI
$ npx skills add RomanLut/hx_espnow_rc --skill flash-esp32s3 -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RomanLut/hx_espnow_rc flash-esp32s3 --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RomanLut/hx_espnow_rc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/flash-esp32s3 .claude/skills/flash-esp32s3 && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
flash-esp32s3
GitHub stars
129
Token cost
~794 tokens
SKILL.md length
366 words
Files
3 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb.

  • Works in 5 steps: Inspect repository changes and preserve… → Apply the repository AGENTS.md… → Build once, sequentially → …
  • Asked to compile
  • SKILL.md covers Workflow, Safety and diagnosis rules and RC verification interpretation
  • Runs PowerShell scripts from its folder

What it does

Flash Esp32s3 is an agent skill from RomanLut/hx_espnow_rc. Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb. Use when asked to compile or flash this S3, enter its ROM loader, recover it after an interrupted flash, identify its changing COM port, or verify USB CDC, MAVLink RC data, watchdog stability, and hot re-enumeration after flashing.

Its SKILL.md is about 790 tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `agents/openai.yaml`).

It sits in Development, covering Embedded systems and File uploads and storage. It works with ESP32. The repository describes itself as: Remote control library based on ESP-NOW (PlatformIO, ESP32 and ESP8266). The licence is MIT.

When your agent uses it

  • Asked to compile
  • Enter its ROM loader
  • Recover it after an interrupted flash
  • Identify its changing COM port

Example prompts

  • “/flash-esp32s3”

Requirements

  • PowerShell

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Inspect repository changes and preserve unrelated work.
  2. Apply the repository AGENTS.md PlatformIO serialization rules.
  3. Build once, sequentially
  4. Flash and verify
  5. Report the discovered application and ROM ports, hashes verified by esptool, enumeration stability, MAVLink frame count, and decoded RC…

What it can do on your machine

Read from SKILL.md and the folder at commit c78717d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (PowerShell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Flash Esp32s3 loads about 794 tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 366 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~794

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from RomanLut/hx_espnow_rc at commit c78717d, republished under its MIT licence (© RomanLut). 366 words, ~794 tokens.

Download SKILL.mdSave it as .claude/skills/flash-esp32s3/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
flash-esp32s3
description
Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rx_esp32s3_mavlink_rc_usb. Use when asked to compile or flash this S3, enter its ROM loader, recover it after an interrupted flash, identify its changing COM port, or verify USB CDC, MAVLink RC data, watchdog stability, and hot re-enumeration after flashing.

Flash ESP32-S3

Use the bundled scripts/flash.ps1 from the repository root. It implements the verified Windows workflow and fails instead of guessing a port.

Workflow

  1. Inspect repository changes and preserve unrelated work.

  2. Apply the repository AGENTS.md PlatformIO serialization rules.

  3. Build once, sequentially:

    powershell
    powershell -ExecutionPolicy Bypass -File .codex/skills/flash-esp32s3/scripts/flash.ps1 -BuildOnly
  4. Flash and verify:

    powershell
    powershell -ExecutionPolicy Bypass -File .codex/skills/flash-esp32s3/scripts/flash.ps1
  5. Report the discovered application and ROM ports, hashes verified by esptool, enumeration stability, MAVLink frame count, and decoded RC channel ranges.

Safety and diagnosis rules

  • Identify the board by VID:PID 303A:1001; prefer serial/MAC AC276EB156A0 / AC:27:6E:B1:56:A0. Never assume a fixed COM number.
  • Enter the loader automatically by opening application CDC at 1200 baud. The expected transition is application MI_01 to ROM USB-Serial/JTAG MI_00; rediscover the port after re-enumeration.
  • A serial exception while setting 1200 baud can mean the requested reset already occurred. Rediscover before declaring failure.
  • If automatic entry fails, try the Arduino CDC DTR/RTS sequence once. Only then request the physical R/GPIO2 hold-during-reconnect procedure.
  • Probe the ROM port with esptool --before no-reset --after no-reset chip-id before writing.
  • Flash all four regions when the SDK, bootloader, partitions, or flash configuration changed. The helper does this by default.
  • Keep the target configured for its physical 4 MB flash even when the generic board name reports N8/8 MB.
  • If flashing is interrupted after erasure begins, treat the image as incomplete and repeat the complete four-region flash.
  • Require Hash of data verified for every region and confirm the application remains enumerated for at least 15 seconds.
  • Open application CDC with DTR and RTS asserted and parse complete MAVLink frames. Do not claim RC success from byte counts alone.
  • Do not use resets, replugging, flushing, or arbitrary delays to disguise a CDC or data-path failure. Preserve and report the failing layer.
Show full SKILL.md (81 more words)Show less

RC verification interpretation

  • RC_CHANNELS_OVERRIDE is MAVLink message 70.
  • Channels 1-15 come from the received ESP-NOW channel payload; channel 16 is locally overwritten with link RSSI by this firmware.
  • If all source channels are exactly 1000, decode and report that fact. Do not rewrite them to 1500 or blame the FC/Quest without inspecting the raw source payload.
  • Channels 17-18 are zero-valued MAVLink 2 extension fields and may be omitted by trailing-zero truncation; an FC can display its own neutral default for them.

© RomanLut, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in .codex/skills/flash-esp32s3 of RomanLut/hx_espnow_rc.

  • SKILL.md
  • agents/openai.yaml
  • scripts/flash.ps1

Open the folder on GitHubat commit c78717d

Compare with similar skills

Flash Esp32s3 next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Flash Esp32s3 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Flash Esp32s3 this skillRomanLut/hx_espnow_rc129—~794Automated safety check: PassMIT
Guition Jc3636k718cMichalZaniewicz/esphome-guition-jc3636k718c-va166—~3kAutomated safety check: PassMIT
Flash Devicesjtenniswood/esphome-media-player234—~1.1kAutomated safety check: PassCustom licence
Flash Displaysjtenniswood/espcontrol1.1k—~2.8kAutomated safety check: PassCustom licence
Iterating Esp32 Amoled UIniclasvestlund-YT/vibepulse208—~927Automated safety check: PassMIT
Vibepulseniclasvestlund-YT/vibepulse208—~1.6kAutomated safety check: PassMIT

Similar skills

  • Guition Jc3636k718c

    MichalZaniewicz/esphome-guition-jc3636k718c-va

    Reference for building/editing ESPHome configs on the Guition JC3636K718C round knob display (ESP32-S3, 1.8" 360x360 ST77916, CST816 touch, rotary knob, PCM5100A DAC, PDM mic, WS2812 LED ring).

    166 GitHub stars~3k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Flash Devices

    jtenniswood/esphome-media-player

    Flash ESPHome firmware to physical EspControl devices. An agent skill from jtenniswood/esphome-media-player.

    234 GitHub stars~1.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Flash Displays

    jtenniswood/espcontrol

    Flash EspControl display firmware from this repository using ESPHome.

    1.1k GitHub stars~2.8k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Iterating Esp32 Amoled UI

    niclasvestlund-YT/vibepulse

    A skill your agent uses when making any Torget AMOLED app visual change, exact-size mockup, simulator capture, or physical review.

    208 GitHub stars~927 tokensUpdated 8 days ago
    DevelopmentAuto-check passed
  • Vibepulse

    niclasvestlund-YT/vibepulse

    A skill your agent uses for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.

    208 GitHub stars~1.6k tokensUpdated 8 days ago
    DevelopmentAuto-check passed
  • Implement Next Task

    rvdbreemen/OTGW-firmware

    Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865).

    207 GitHub stars~2.1k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

Works with

Questions about Flash Esp32s3

What does Flash Esp32s3 do?

Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb. Flash Esp32s3 is an agent skill from RomanLut/hx_espnow_rc. Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb.

When should I use Flash Esp32s3?

Flash Esp32s3 fits situations like: asked to compile; enter its ROM loader; recover it after an interrupted flash; identify its changing COM port.

How do I install Flash Esp32s3 in Claude Code?

Run `npx skills add RomanLut/hx_espnow_rc --skill flash-esp32s3 -a claude-code`. Or copy the skill folder (.codex/skills/flash-esp32s3 in RomanLut/hx_espnow_rc) into .claude/skills/flash-esp32s3 in your project. Claude Code loads it when a task matches its description.

How do I install Flash Esp32s3 in Codex?

Run `npx skills add RomanLut/hx_espnow_rc --skill flash-esp32s3 -a codex`. Or copy the skill folder (.codex/skills/flash-esp32s3 in RomanLut/hx_espnow_rc) into .agents/skills/flash-esp32s3 in your project. Codex loads it when a task matches its description.

Can I use Flash Esp32s3 in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RomanLut/hx_espnow_rc --skill flash-esp32s3 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flash-esp32s3, .gemini/skills/flash-esp32s3, .github/skills/flash-esp32s3 and .opencode/skills/flash-esp32s3 in your project.

What does Flash Esp32s3 need to run?

Going by SKILL.md and its folder, Flash Esp32s3 needs PowerShell for the scripts in its folder. Our summary lists: PowerShell.

Does Flash Esp32s3 access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Flash Esp32s3 safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Flash Esp32s3 use?

Flash Esp32s3 is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Flash Esp32s3 use?

About 794 tokens (SKILL.md is roughly 3.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Flash Esp32s3?

Skills that share tags, products or a category with Flash Esp32s3: Guition Jc3636k718c (MichalZaniewicz/esphome-guition-jc3636k718c-va, 166 stars), Flash Devices (jtenniswood/esphome-media-player, 234 stars), Flash Displays (jtenniswood/espcontrol, 1.1k stars) and Iterating Esp32 Amoled UI (niclasvestlund-YT/vibepulse, 208 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Flash Esp32s3?

RomanLut (a GitHub user) maintains it in RomanLut/hx_espnow_rc, which has 129 GitHub stars. The repository was last updated on August 13, 2026.

Source: RomanLut/hx_espnow_rc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.