Agent skill

Flash Devices

by jtenniswood in jtenniswood/esphome-media-player

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

Custom licenceAuto-check passedDevelopment

Install Flash Devices

skills CLI
$ npx skills add jtenniswood/esphome-media-player --skill flash-devices -a claude-code

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

GitHub CLI
$ gh skill install jtenniswood/esphome-media-player flash-devices --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/jtenniswood/esphome-media-player.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/flash-devices .claude/skills/flash-devices && 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-devices
GitHub stars
234
Token cost
~1.1k tokens
SKILL.md length
439 words
Files
2
Skills in repo
8
Repo updated
First seen
Licence
Custom licence

At a glance

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

  • The user says Flash Devices
  • SKILL.md covers Default Target, Network Flash - Default, USB Flash and Other Devices, plus 2 more sections
  • Calls docker and python3
  • Flash the device

What it does

Flash Devices is an agent skill from jtenniswood/esphome-media-player. Flash ESPHome firmware to physical EspControl devices. Use when the user says "Flash Devices", "$flash-devices", "flash the device", "flash the S3", "deploy over IP", "OTA flash", "flash over USB", or wants local firmware uploaded to a connected or networked ESPHome device. Defaults to flashing the Guition ESP32-S3 4848S040 device over IP at 192.168.6.100.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (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: Touch screen display for showing cover artwork from any Home Assistant media entity.

When your agent uses it

  • The user says Flash Devices
  • Flash the device
  • Wants local firmware uploaded to a connected
  • Networked ESPHome device

Example prompts

  • “Flash Devices”
  • “$flash-devices”
  • “flash the device”
  • “/flash-devices”

Requirements

  • Python 3
  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit 8ab172b. 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

    Shell commands in SKILL.md call:

    • docker
    • python3

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

  • Network

    No URLs in SKILL.md. Its commands use docker, which can reach the network depending on how they are called.

    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 Devices loads about 1.1k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 439 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
~1.1k

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); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 439 words (~1,143 tokens).

“Flash the current workspace firmware to a physical ESPHome device. Default to the Guition ESP32-S3 4848S040 over Wi-Fi at 192.168.6.100 unless the user names another device, gives another IP address, or explicitly asks for USB.”

— opening of SKILL.md by jtenniswood, Custom licence
name
flash-devices

Read the full SKILL.md on GitHub

Files

SKILL.md and 1 other file in .agents/skills/flash-devices of jtenniswood/esphome-media-player.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 8ab172b

Compare with similar skills

Flash Devices 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 Devices compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Flash Devices this skilljtenniswood/esphome-media-player234—~1.1kAutomated safety check: PassCustom licence
Flash Esp32s3RomanLut/hx_espnow_rc129—~794Automated safety check: PassMIT
Guition Jc3636k718cMichalZaniewicz/esphome-guition-jc3636k718c-va167—~3kAutomated safety check: PassMIT
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

  • Flash Esp32s3

    RomanLut/hx_espnow_rc

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

    129 GitHub stars~794 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • 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).

    167 GitHub stars~3k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Flash Displays

    jtenniswood/espcontrol

    Flash EspControl display firmware from this repository using ESPHome.

    1.1k GitHub stars~2.8k tokensUpdated today
    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 10 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 10 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 4 days ago
    DevelopmentAuto-check passed

More from jtenniswood/esphome-media-player

All 8 skills in this repo
  • Cleanup Complete Branches

    jtenniswood/esphome-media-player

    Clean up completed Git branches and worktrees for this repository, both locally and on GitHub.

    234 GitHub stars~670 tokensUpdated 1 mo ago
    Auto-check passed
  • Compile

    jtenniswood/esphome-media-player

    Test compile ESPHome firmware for all devices using Docker and fix any YAML or configuration errors until every device compiles successfully.

    234 GitHub stars~779 tokensUpdated 1 mo ago
    Auto-check passed
  • Expert Reset

    jtenniswood/esphome-media-player

    Reimagine this repository from first principles using the current product and user experience as the target.

    234 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Expertreview

    jtenniswood/esphome-media-player

    Provide an expert codebase review for this repository. An agent skill from jtenniswood/esphome-media-player.

    234 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • PR Review

    jtenniswood/esphome-media-player

    Address GitHub pull request feedback for this repository. An agent skill from jtenniswood/esphome-media-player.

    234 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Release

    jtenniswood/esphome-media-player

    Create and publish a new GitHub release for this repository, then verify that the related GitHub Actions firmware release build starts.

    234 GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Flash Devices

What does Flash Devices do?

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

When should I use Flash Devices?

Flash Devices fits situations like: the user says Flash Devices; flash the device; wants local firmware uploaded to a connected; networked ESPHome device.

How do I install Flash Devices in Claude Code?

Run `npx skills add jtenniswood/esphome-media-player --skill flash-devices -a claude-code`. Or copy the skill folder (.agents/skills/flash-devices in jtenniswood/esphome-media-player) into .claude/skills/flash-devices in your project. Claude Code loads it when a task matches its description.

How do I install Flash Devices in Codex?

Run `npx skills add jtenniswood/esphome-media-player --skill flash-devices -a codex`. Or copy the skill folder (.agents/skills/flash-devices in jtenniswood/esphome-media-player) into .agents/skills/flash-devices in your project. Codex loads it when a task matches its description.

Can I use Flash Devices 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 jtenniswood/esphome-media-player --skill flash-devices -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-devices, .gemini/skills/flash-devices, .github/skills/flash-devices and .opencode/skills/flash-devices in your project.

What does Flash Devices need to run?

Going by SKILL.md and its folder, Flash Devices needs the command-line tools its instructions call (docker and python3). Our summary lists: Python 3; Docker.

Does Flash Devices access the network?

SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Flash Devices 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. Review the folder before installing.

What licence does Flash Devices use?

Flash Devices has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Flash Devices use?

About 1.1k tokens (SKILL.md is roughly 4.6k 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 Devices?

Skills that share tags, products or a category with Flash Devices: Flash Esp32s3 (RomanLut/hx_espnow_rc, 129 stars), Guition Jc3636k718c (MichalZaniewicz/esphome-guition-jc3636k718c-va, 167 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 Devices?

jtenniswood (a GitHub user) maintains it in jtenniswood/esphome-media-player, which has 234 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on August 20, 2026.

Source: jtenniswood/esphome-media-player on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.