arduino-azure-iot-edge-integration
$
npx mdskill add github/awesome-copilot/arduino-azure-iot-edge-integrationConnect Arduino devices to Azure IoT with secure provisioning and resilient telemetry.
- Enables edge-heavy scenarios with intermittent networks and offline buffering.
- Integrates Azure IoT Hub, IoT Edge, and official Arduino documentation.
- Prioritizes official best practices over community snippets for implementation.
- Delivers production-ready topologies with explicit assumptions when docs are unavailable.
SKILL.md
.github/skills/arduino-azure-iot-edge-integrationView on GitHub ↗
--- name: arduino-azure-iot-edge-integration description: 'Design and implement Arduino integration with Azure IoT Hub and IoT Edge, including secure provisioning, resilient telemetry, command handling, and production guardrails.' --- # Arduino Azure IoT Edge Integration Use this skill when the user needs to connect Arduino-class devices to Azure IoT, especially in edge-heavy scenarios (gateways, intermittent networks, offline buffering, and local actuation). ## When to use it Use this skill for requests such as: - "I want to connect Arduino sensors to Azure" - "How do I send MQTT telemetry to IoT Hub?" - "I need an edge gateway for field devices" - "I want cloud-to-device commands and OTA configuration updates" ## Mandatory documentation review Before recommending an IoT Edge topology or runtime behavior, review: - https://learn.microsoft.com/azure/iot-edge/ If documentation cannot be consulted, proceed with explicit assumptions and highlight them in a dedicated section. ## Official Arduino references and best practices (required) Before proposing firmware, wiring, or communication implementation details, consult official Arduino sources first: - https://www.arduino.cc/en/Guide - https://docs.arduino.cc/ - https://docs.arduino.cc/language-reference/ - references/arduino-official-best-practices.md When choosing between implementation alternatives, prioritize official Arduino guidance over community snippets unless there is a clear technical reason to deviate. ## Objectives - Produce a secure end-to-end reference path from the Arduino device to cloud insights. - Handle unstable links (store-and-forward, retries, idempotency). - Define an actionable device and cloud backlog. ## Integration patterns ### Pattern A: Arduino direct to IoT Hub Use when connectivity is stable and cloud latency is acceptable. - Protocol: MQTT over TLS. - Identity: per-device credentials (SAS or X.509). - Telemetry payload: compact JSON with timestamp, device ID, metrics, and optional quality flags. ### Pattern B: Arduino to local gateway, then IoT Edge Use when links are constrained, local control is required, or batching improves cost/reliability. - Arduino communicates with a local gateway (serial, BLE, local MQTT, RS-485, Modbus bridge). - The gateway publishes upstream through the IoT Edge runtime and routes data to IoT Hub. - Local modules can filter, aggregate, and trigger actions even during cloud outages. ## Design flow ### 1) Device contract Define: - Sensor catalog and units. - Sampling frequency and expected throughput. - Message schema versioning strategy. - Desired/reported device twin properties to control runtime behavior. ### 2) Security baseline Require: - Unique identity per device. - No hardcoded secrets in source code or firmware artifacts. - Credential rotation strategy. - Signed firmware and a controlled update process when possible. ### 3) Reliability and offline behavior Plan and document: - Backoff with jitter. - Local queue/buffer strategy with bounded size. - Duplicate suppression or downstream idempotent processing. - Fallback to last-known-good configuration. ### 4) Cloud and edge routing Define routes for: - Raw telemetry to cold storage. - Curated telemetry to hot analytics. - Alerts to operations channels. - Commands and configuration back to edge/device. ### 5) Observability Specify minimum operations telemetry: - Device heartbeat and firmware version. - Connectivity state transitions. - Message send success/error counters. - Gateway module health and restart reasons. ## Reuse other skills When relevant, combine with: - `azure-smart-city-iot-solution-builder` for city-wide architecture and phased rollout. - `azure-resource-visualizer` for relationship diagrams. - `appinsights-instrumentation` for app and service telemetry patterns. Also use `references/arduino-official-best-practices.md` as a quality baseline for firmware and hardware recommendations. ## Required output Always provide: 1. Chosen connectivity pattern and rationale. 2. Message contract (fields, units, sample payload). 3. Security checklist for identity/credentials/updates. 4. Reliability plan (retry, buffering, dedupe). 5. Implementation backlog (firmware, gateway, cloud). ## Output template 1. Scenario and assumptions 2. Recommended architecture 3. Device and gateway contract 4. Security and reliability controls 5. Deployment plan and validation tests ## Guidelines - Do not propose production deployments with shared credentials across devices. - Do not assume always-on connectivity in field deployments. - Do not omit command authorization and auditing in actuator scenarios.
More from github/awesome-copilot
- acquire-codebase-knowledgeUse this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document this architecture", "onboard me to this repo", or "create codebase docs". Do not trigger for routine feature implementation, bug fixes, or narrow code edits unless the user asks for repository-level discovery.
- acreadiness-assessRun the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc readiness` and hands off rendering to the @ai-readiness-reporter custom agent. Supports policies (--policy) for org-specific scoring. Use when asked to assess, audit, or score the AI readiness of a repo.
- acreadiness-generate-instructionsGenerate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS Code) plus optional per-area .instructions.md files with applyTo globs for monorepos. Use after running /acreadiness-assess to close gaps in the AI Tooling pillar.
- acreadiness-policyHelp the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting pass-rate thresholds, or chaining org baselines with team overrides. Use when the user asks about strict mode, AI-only scoring, custom weights, CI gating, or wants org-wide standardisation.
- add-educational-comments'Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.'
- adobe-illustrator-scriptingWrite, debug, and optimize Adobe Illustrator automation scripts using ExtendScript (JavaScript/JSX). Use when creating or modifying scripts that manipulate documents, layers, paths, text frames, colors, symbols, artboards, or any Illustrator DOM objects. Covers the complete JavaScript object model, coordinate system, measurement units, export workflows, and scripting best practices.
- agent-governance|
- agent-owasp-compliance|
- agent-supply-chain|
- agentic-eval|