Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/iot-forge/m5stack-skills/new-device-skillnpx skills add iot-forge/m5stack-skills --skill new-device-skillgit clone --depth 1 https://github.com/iot-forge/m5stack-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/iot-forge/m5stack-skills/new-device-skill)<a href="https://agentmods.dev/skills/iot-forge/m5stack-skills/new-device-skill"><img src="https://agentmods.dev/badge/skills/iot-forge/m5stack-skills/new-device-skill.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00171 | $0.02872 |
| Opus 5 | $0.00086 | $0.01436 |
| Sonnet 5 | $0.00034 | $0.00574 |
| Haiku 4.5 | $0.00017 | $0.00287 |
Grade A, and why
new-device-skill scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Nuxt SPAs — `curl` and `WebFetch` return an empty shell. Open in a How it starts
The opening of the file, as written. The whole thing — 240 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Building a device skill for this marketplace
This repo covers M5Stack hardware, one skill per product family, working toward the full catalog. The conventions below are load-bearing — several encode failures this project already hit. Read the relevant section before writing, not after.
First: which of the three kinds is this?
They're scoped differently on purpose.
Controller — a board that runs application firmware (Core2, AtomS3, Cardputer Adv, Tab5). Its skill needs pin/peripheral specs and how to set up a dev environment, initialize hardware, and debug bring-up across every framework M5Stack supports for it (usually some mix of Arduino, PlatformIO, ESP-IDF, UIFlow2/MicroPython). These are the heaviest skills.
Unit — a peripheral you talk to from a Controller (a Buzzer, a ToF
sensor, a 4Relay board). There's no "which development platform" question —
just wiring, protocol, register/command reference, and example host code.
Much lighter: one SKILL.md is usually enough.
Chip — the SoC underneath one or more Controllers (ESP32-S3, ESP32-C6). Not a product anyone buys alone, but substantial content: what the silicon itself can do, independent of any board's wiring. M5Stack reuses the same chip across many boards — ESP32-S3 alone covers Cardputer, Cardputer Adv, AtomS3, AtomS3R, CoreS3, StickS3 — so writing this once and having every board skill point into it beats maintaining five drifting copies.
Naming
- Controller/Unit skill name and folder:
m5stack-<slug>, lowercase kebab-case product family name —m5stack-cardputer-adv,m5stack-core2,m5stack-unit-tof,m5stack-unit-4relay. - Chip skill name and folder: bare chip slug, no
m5stack-prefix —esp32-s3,esp32-c6. They document Espressif silicon, not an M5Stack product, even though this repo maintains them for the M5Stack catalog. - For a Unit whose generic name would collide (many vendors ship a "Relay"
unit), keep M5Stack's product name as the slug —
unit-4relay, notrelay-module. That's what a user will actually type or paste.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 240 lines · 171 tokens per session scan A 3ca77e604ce8
new-device-skill is a skill published in the GitHub repository iot-forge/m5stack-skills (2 stars, last pushed 10d ago), licensed MIT. It adds 171 tokens to every session and 2,872 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
nucleo-release
Build, gate, and ship NucleoOS to the Cardputer — firmware via OTA and the web/SD payload via the device file API. Use when the user asks to release, deploy, flash, OTA, sync the SD, or push a web app to the device. Covers the one-command release, firmware-only and SD-only paths, and the gotchas (PIN, .gz shadowing…
nucleo-native-app
Scaffold and implement a NucleoOS native firmware app (C++) correctly — anti-flicker, poll handler, RAM discipline, input routing, registration. Use when creating or fixing a native app in firmware/components/nucleoapp/.
nucleo-anima-debug
Debug and develop NucleoOS firmware/ANIMA logic on the PC without flashing — the host harness compiles the real C and runs it locally. Use when working on ANIMA (the offline NL assistant), retrieval cascade, NLU, knowledge graph, or any firmware logic, and when deciding how to verify a change. Lists the gate suites to…
read_touch
Read smoothed capacitive touch sensor values from one or more input GPIO channels. Use when the user asks for touch smooth values, capacitive touch channel readings, or smoothed touch data. Requires explicit gpios and boardhardwareinfo before assigning GPIOs.
embedded-engineer
(oh-my-embedded) Senior embedded systems engineer. ESP32/STM32, FreeRTOS, RF design, power management, peripheral interfaces. Use for any embedded/firmware/electronics/hardware question.
firmware-debugger
(oh-my-embedded) Firmware debugging via GDB and serial monitor. Breakpoints, memory inspection, stack traces, JTAG/SWD. Requires debug probe.