agentsclimarketplace

Ota update integration

Skill easyzoom/aix-skills/skills/ota-update-integration

Use when designing, integrating, testing, or debugging OTA firmware update flows, package formats, transport, rollback, versioning, or power-fail safety on embedded devicesFrom its SKILL.md

Install
npx -y skills add easyzoom/aix-skills --skill ota-update-integration

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 24 stars24 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.3 KB, 648 tokens by cl100k_base, as published. Nobody here has run it

OTA Update Integration

Overview

Use this skill to build OTA updates as a full pipeline: package creation, transport, staging, validation, activation, rollback, and observability. OTA is only reliable when every reset point is defined.

When To Use

Use this skill when:

  • The user wants firmware updates over HTTP, MQTT, BLE, LoRa, cellular, USB, SD card, or a custom protocol.
  • The issue involves partial downloads, checksum failures, signature validation, resume, rollback, version checks, or update state machines.
  • The target uses MCUboot, a vendor bootloader, A/B partitions, recovery mode, or external flash staging.

Do not use this skill for bootloader internals. Use mcuboot-integration when the image activation or swap logic itself is failing. For generic bootloader jump/handoff debugging, use bootloader-debug.

First Questions

Ask for:

  • Target device, RTOS/Linux stack, bootloader, flash layout, and update storage.
  • Transport, package format, manifest fields, compression, encryption, and signing policy.
  • Version policy, compatibility rules, rollback/factory reset behavior, and update trigger.
  • Power-fail expectations and whether updates must resume after reset.
  • Logs from download, validation, activation, and first boot.

Integration Checklist

  1. Define the update contract. The manifest should include target identity, version, size, hash, signature, compatibility, and install mode.

  2. Separate download from activation. Store the image safely, verify it, then mark it pending only after all bytes and metadata are valid.

  3. Make reset points explicit. Document what happens during download, after validation, after activation, and during first boot.

  4. Verify authenticity and integrity. Use hash checks for corruption and signatures for trust. Do not treat transport TLS as a replacement for image signing.

  5. Prove rollback. The device must recover from bad images, failed self-tests, power loss, and interrupted transfers.

  6. Add operational visibility. Log update ID, version, byte count, validation result, boot decision, and final status.

Common Failures

  • Package metadata does not bind the image to the intended hardware or firmware family.
  • Download success is treated as install success.
  • The update state is stored in RAM or a non-atomic flash record.
  • Power loss corrupts the staging slot or leaves ambiguous flags.
  • Delta update logic has no full-image recovery path.
  • TLS is enabled but image signatures and rollback policy are missing.

Verification

Before claiming OTA works:

  • State transport, package fields, bootloader policy, and flash layout.
  • Confirm successful update and version transition.
  • Confirm bad signature/hash rejection.
  • Confirm power loss handling at download, validation, activation, and first boot.
  • Confirm rollback or recovery path.

Example

User:

设备 OTA 偶尔升级后变砖。

Agent:

  1. Maps each persistent OTA state and reset point.
  2. Reproduces power loss during download, mark-pending, swap, and first boot.
  3. Fixes atomic state storage or rollback policy before optimizing transfer speed.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.