feat(skills): add IoT edge skills and align agent/instruction docs (#1431)

* feat(skills): add IoT edge skills and align agent/instruction docs

* fix(ci): handle fork permission errors in plugin structure check

* fix(ci): allow intentional Spanish vocabulary in codespell

* docs(skills): translate IoT edge skill content to English

* fix(ci): pass codespell and README validation

* chore: regenerate skills index after merge
This commit is contained in:
Sertxito
2026-04-29 03:15:42 +02:00
committed by GitHub
parent bf9136726b
commit e2ae5cc559
15 changed files with 995 additions and 8 deletions

View File

@@ -0,0 +1,42 @@
# Arduino Azure IoT Checklist
Use this checklist before finalizing architecture or implementation guidance.
## 0) Official Arduino Baseline
- Official references reviewed from <https://www.arduino.cc/en/Guide> and <https://docs.arduino.cc/>.
- Language/API calls validated against <https://docs.arduino.cc/language-reference/>.
- Best practices reviewed from `references/arduino-official-best-practices.md`.
## 1) Device Profile
- MCU model and memory constraints documented.
- Sensor list and sampling strategy defined.
- Power model documented (mains, battery, sleep cycles).
## 2) Connectivity
- Selected transport documented (MQTT over TLS preferred).
- Network failure behavior defined.
- Local timestamp strategy defined if device lacks RTC sync.
## 3) Security
- Unique identity per device.
- No secrets in source control.
- Credential rotation plan documented.
- Firmware update and rollback plan documented.
## 4) Edge and Cloud Flow
- Routing from edge to IoT Hub documented.
- Offline buffering limits defined.
- Duplicate handling strategy documented.
- Alerting thresholds and destinations defined.
## 5) Validation
- Connectivity soak test scenario.
- Packet loss and reconnection test.
- Command authorization test.
- Firmware version and health reporting verification.

View File

@@ -0,0 +1,42 @@
# Arduino Official References and Best Practices
Use these official Arduino resources before finalizing firmware or hardware guidance.
## Official References
- Arduino main guide: <https://www.arduino.cc/en/Guide>
- Arduino docs home: <https://docs.arduino.cc/>
- Getting started path: <https://docs.arduino.cc/learn/starting-guide/getting-started-arduino/>
- Arduino IDE usage: <https://docs.arduino.cc/learn/starting-guide/the-arduino-software-ide/>
- Arduino language reference: <https://docs.arduino.cc/language-reference/>
- Arduino programming reference overview: <https://docs.arduino.cc/learn/programming/reference/>
- Arduino memory guide: <https://docs.arduino.cc/learn/programming/memory-guide/>
- Arduino debugging fundamentals: <https://docs.arduino.cc/learn/microcontrollers/debugging/>
- Arduino low-power design guide: <https://docs.arduino.cc/learn/electronics/low-power/>
- Arduino communication protocols index: <https://docs.arduino.cc/learn/communication/>
- Arduino style guide for libraries: <https://docs.arduino.cc/learn/contributions/arduino-library-style-guide/>
## Firmware Best Practices
- Keep the `loop()` non-blocking; avoid long `delay()` usage in production logic.
- Use `millis()`-based scheduling for periodic tasks.
- Budget SRAM explicitly and avoid dynamic allocation in hot paths.
- Validate sensor ranges and provide safe defaults for invalid readings.
- Add startup self-checks and periodic health heartbeat messages.
- Version the payload schema and firmware version in every telemetry stream.
- Implement retry with exponential backoff and jitter for network operations.
- Store credentials outside source code and rotate them according to policy.
## Hardware and Power Best Practices
- Document voltage levels, pin mapping, and current limits per peripheral.
- Design for brownout and power fluctuation scenarios.
- Use watchdog and safe recovery behavior where available.
- Plan low-power modes for battery deployments and validate wake cycles.
## Integration Best Practices for Azure IoT
- Prefer secure transports (MQTT over TLS) and per-device identity.
- Define idempotent upstream processing for duplicate message scenarios.
- Include device health metrics (uptime, reset reason, RSSI where applicable).
- Validate offline buffering bounds to avoid uncontrolled memory growth.