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/hermeticormus/libreembed-claude-code/firmware-update-patternsnpx skills add HermeticOrmus/LibreEmbed-Claude-Code --skill firmware-update-patternsgit clone --depth 1 https://github.com/HermeticOrmus/LibreEmbed-Claude-CodeWrote 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/hermeticormus/libreembed-claude-code/firmware-update-patterns)<a href="https://agentmods.dev/skills/hermeticormus/libreembed-claude-code/firmware-update-patterns"><img src="https://agentmods.dev/badge/skills/hermeticormus/libreembed-claude-code/firmware-update-patterns.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.00000 | $0.01489 |
| Opus 5 | $0.00000 | $0.00745 |
| Sonnet 5 | $0.00000 | $0.00298 |
| Haiku 4.5 | $0.00000 | $0.00149 |
Grade A, and why
firmware-update-patterns scanned grade A with 0 findings 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 3d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 193 lines — stays where its author put it; the contents beside it link to each section on GitHub.
firmware-update-patterns
Knowledge Base
FOTA patterns for MCU firmware updates with reliability guarantees.
Pattern 1: mcuboot Image Header Construction
/* Build tool (Python/imgtool) writes this header before the firmware binary */
/* MCU application starts at header_base + header_size (default 0x20 = 32 bytes) */
#define MCUBOOT_MAGIC 0x96f3b83dUL
typedef struct __attribute__((packed)) {
uint32_t magic; /* 0x96f3b83d */
uint32_t load_addr; /* 0: XIP from flash */
uint16_t hdr_size; /* 32 bytes */
uint16_t protect_tlv; /* 0 */
uint32_t img_size; /* Firmware body bytes */
uint32_t flags; /* IMAGE_F_* flags */
uint8_t img_ver[8]; /* major, minor, revision[2], build_num[4] */
uint32_t _pad;
} mcuboot_header_t; /* Exactly 32 bytes */
/* Verify on bootloader side: */
bool mcuboot_verify_header(const void *slot_base)
{
const mcuboot_header_t *hdr = slot_base;
return hdr->magic == MCUBOOT_MAGIC
&& hdr->hdr_size == 32U
&& hdr->img_size > 0U
&& hdr->img_size < MAX_IMAGE_SIZE;
}
Pattern 2: FOTA Progress Tracking via MQTT
# Python host-side: publish firmware chunks, track progress
import paho.mqtt.client as mqtt
import struct, hashlib
CHUNK_SIZE = 1024
TOPIC_CMD = "device/{id}/ota/cmd"
TOPIC_DATA = "device/{id}/ota/data"
TOPIC_ACK = "device/{id}/ota/ack"
def send_firmware(client, device_id, fw_bytes):
total = len(fw_bytes)
sha256 = hashlib.sha256(fw_bytes).hexdigest()
# Start command
client.publish(TOPIC_CMD.format(id=device_id),
f'{{"cmd":"start","size":{total},"sha256":"{sha256}"}}')
# Send chunks
for i, offset in enumerate(range(0, total, CHUNK_SIZE)):
chunk = fw_bytes[offset:offset+CHUNK_SIZE]
hdr = struct.pack(">IHH", offset, len(chunk), i)
client.publish(TOPIC_DATA.format(id=device_id), hdr + chunk)
# Finish
client.publish(TOPIC_CMD.format(id=device_id), '{"cmd":"apply"}')
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.
- 3d ago First seen · 193 lines · 0 tokens per session scan A 68a6beb94885
firmware-update-patterns is a skill published in the GitHub repository HermeticOrmus/LibreEmbed-Claude-Code (44 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,489 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
hardware-iot-bus
Low-level I2C and SPI bus peripheral control for embedded Linux boards (Orange Pi, Raspberry Pi, RISC-V).
aether-iot-query
Use this skill when the user asks about a live AetherEdge runtime: channels, points, real-time values, history, alarms, rules, models, instances, routing, SHM health, service health, or system status. Use aether CLI commands to answer — do NOT inspect source code, local database files, or config YAMLs to answer…
aether-iot
Build, integrate, diagnose, or generate applications for the AetherEdge AI-native edge kernel. Use for AetherEdge onboarding, SDK compositions, device and topology clients, read-only operations UIs, MCP integration, Domain Packs, or governed IoT commands where live-state authority and physical-device safety must be…
avr-bare-metal-embedded
Curated Knowledge API for AI Agents — 68 MCP tools, 200+ skill packs, 46K chunks, semantic search over 670K vectors, 5-layer validation pipeline. Works with Claude Code, Cursor, Cline, Windsurf.
smart-product-dev
End-to-end IoT product development orchestration for TuyaOpen projects. Guides from requirements gathering → Tuya Platform product/DP creation → complete embedded firmware generation. State-machine: detects project state and picks up from wherever development currently stands.
edge-iot
Edge computing, IoT protocols, and embedded systems integration.