{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-iot-fleet-engineer",
 "type": "agent",
 "name": "IoT fleet rollout planner",
 "summary": "Plan a safe IoT firmware update for your device fleet: test stages, rollback, health checks and offline devices. Bring your fleet facts.",
 "headline": "IoT fleet rollout planner",
 "subhead": "Tell it how many devices you have, which models, how they connect and whether a bad update can be undone. It plans the update in stages, the health checks that gate each stage and how to handle devices that are offline. You get a rollout plan with stop rules.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-10-28",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "source_text",
   "required": false,
   "label": "Source text",
   "what": "a long source in full: an article, a video or talk transcript, or notes from a book, with its title, author and link"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  }
 ],
 "you_give": [
  "How many devices you have and which hardware versions",
  "The firmware versions now in the field",
  "How devices connect (Wi-Fi, cellular or low-power radio) and how often they are online",
  "Whether a failed update can roll back by itself, and whether update files are signed",
  "How you push updates today, and how hard a site visit is",
  "Your change window and any customer limits (optional)"
 ],
 "you_get": [
  "A fleet summary, with gaps marked MISSING",
  "A check on update safety: signed files, a fallback copy and automatic rollback",
  "A staged rollout plan with test devices for each hardware version",
  "Health numbers that allow each stage, and stop rules that halt it",
  "A plan for devices that are offline or on old firmware",
  "Notes on device identity and data load, and checks to run before the first stage"
 ],
 "use_when": [
  "You are about to push new firmware to hundreds or thousands of devices.",
  "A past update left some devices stuck, and you want a safer process.",
  "You have several hardware versions in the field and need to pick test devices.",
  "Devices go offline for days, and you need to know how they catch up."
 ],
 "skip_when": [
  "You are fixing one misbehaving device or writing its firmware. Use the Embedded firmware engineer.",
  "You want to deploy a web service or server update. Use the Deployment pipeline designer.",
  "You have a network problem at an office or data center. Use the Network engineer."
 ],
 "output_sample": {
  "input": [
   "Your device count, hardware versions and firmware versions",
   "How devices connect and how often they are online",
   "Whether failed updates roll back and files are signed",
   "How you push updates and how hard a site visit is"
  ],
  "prerequisites": [
   "An AI that can read pasted text",
   "A named person who owns the fleet and approves each stage"
  ],
  "output": [
   {
    "name": "Fleet summary",
    "contains": "Device counts, versions and connections, with gaps marked MISSING."
   },
   {
    "name": "Update safety check",
    "contains": "Whether files are signed, a fallback copy exists and failed updates roll back."
   },
   {
    "name": "Rollout stages",
    "contains": "Each stage with its devices, hold time, health number to continue and stop rule."
   },
   {
    "name": "Health signals",
    "contains": "What to watch, what it tells you and when to alert."
   },
   {
    "name": "Offline and old devices",
    "contains": "How devices that missed an update catch up."
   },
   {
    "name": "Identity and data load",
    "contains": "Device identity risks and a plan for telemetry volume."
   },
   {
    "name": "Checks before stage one",
    "contains": "What to confirm, and who confirms it."
   }
  ]
 },
 "output_shape": "FLEET SUMMARY\n  <device count> | <hardware versions> | <firmware versions> | <connection types> | MISSING: <list>\n\nUPDATE SAFETY CHECK\n  <signed files> | <fallback copy> | <automatic rollback> | <verdict and fix>\n\nROLLOUT STAGES\n  <stage> | <devices and hardware versions> | <how long to hold> | <health number to continue> | <stop rule>\n\nHEALTH SIGNALS\n  <signal> | <what it tells you> | <alert when>\n\nOFFLINE AND OLD DEVICES\n  <case> | <how it catches up> | <limit>\n\nIDENTITY AND DATA LOAD\n  <risk> | <plan>\n\nCHECKS BEFORE STAGE ONE\n  <check> | <who confirms>\n\nASSUMPTIONS\n  <item> | <why it was assumed>",
 "how_to_use": [
  "Download the pack from this page and add it to your AI as a skill. If you cannot, open a new chat and paste SKILL.md, then references/source-agent.md.",
  "Give real numbers. Ten lab devices need a different plan from ten thousand in the field.",
  "Paste your fleet facts, how devices connect and how you push updates today.",
  "Say \"Plan this rollout. Ask once if anything is missing. Do not tell me to push to everyone at once.\"",
  "Read the update safety check first. If a failed update can brick a device, fix that before any rollout.",
  "Give the plan to the person who owns the fleet. Have them approve each stage before it starts."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "Expo React Native data fetching coder",
   "url": "https://useaiblocks.com/skills/mobile-data-fetching-coder",
   "why": "Build it"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-iot-fleet-engineer.md",
  "licence": "MIT",
  "original_name": "IoT Fleet Engineer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "IoT Fleet Engineer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-iot-fleet-engineer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-engineering-iot-fleet-engineer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-iot-fleet-engineer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-iot-fleet-engineer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-iot-fleet-engineer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-iot-fleet-engineer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-iot-fleet-engineer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-iot-fleet-engineer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
