Create IoT architecture diagrams using PlantUML syntax with device and sensor stencil icons. Best for smart home, industrial IoT (IIoT), fleet management, edge computing, and sensor network layouts.
Install with the open skills CLI (global, non-interactive — available in every Claude Code session):
npx skills add markdown-viewer/skills --skill "iot" -g -a claude-code -yOr manually — clone and copy the skill directory (SKILL.md + companion files):
git clone --depth 1 https://github.com/markdown-viewer/skills /tmp/skills && cp -r /tmp/skills/iot ~/.claude/skills/iotThis skill is a directory: SKILL.md is the entry point; the files below ship with it.
---
name: iot
description: Create IoT architecture diagrams using PlantUML syntax with device and sensor stencil icons. Best for smart home, industrial IoT (IIoT), fleet management, edge computing, and sensor network layouts.
metadata:
author: IoT diagrams are powered by Markdown Viewer — the best multi-platform Markdown extension (Chrome/Edge/Firefox/VS Code) with diagrams, formulas, and one-click Word export. Learn more at https://docu.md
---
# IoT Architecture Diagram Generator
**Quick Start:** Select device/sensor icons → Place edge gateways → Connect to cloud services → Group into zones → Wrap in ` ```plantuml ` fence.
> ⚠️ **IMPORTANT:** Always use ` ```plantuml ` or ` ```puml ` code fence. NEVER use ` ```text ` — it will NOT render as a diagram.
## Critical Rules
- Every diagram starts with `@startuml` and ends with `@enduml`
- Use `left to right direction` for typical IoT data flows (Device → Edge → Cloud)
- Use `mxgraph.aws4.*` stencil syntax for IoT service and device icons
- Default colors are applied automatically — you do NOT need to specify `fillColor` or `strokeColor`
- Use `rectangle "Zone" { ... }` or `package "Site" { ... }` for grouping
- Directed flows use `-->`, async/event-driven flows use `..>` (dashed)
**Full stencil reference:** See [stencils/README.md](../uml/stencils/README.md) for 9500+ available icons.
## Mxgraph Stencil Syntax
```
mxgraph.aws4.<icon> "Label" as <alias>
```
### Core IoT Stencils
| Category | Stencils | Purpose |
|----------|----------|---------|
| IoT Platform | `iot_core`, `internet_of_things`, `iot_1click` | Central IoT hub / message broker |
| Edge/Gateway | `greengrass`, `iot_device_gateway`, `freertos`, `iot_expresslink` | Edge computing & device gateway |
| Greengrass | `iot_greengrass_component`, `iot_greengrass_nucleus`, `iot_greengrass_stream_manager` | Edge runtime components |
| Device Mgmt | `iot_device_management`, `iot_device_defender`, `iot_device_tester`, `iot_over_the_air_update` | Fleet provisioning, security, OTA |
| Analytics | `iot_analytics`, `iot_analytics_channel`, `iot_analytics_pipeline`, `iot_analytics_dataset`, `iot_analytics_data_store` | IoT data processing pipeline |
| Events/Rules | `iot_events`, `iot_device_defender_iot_device_jobs` | Event detection & job execution |
| Digital Twin | `iot_twinmaker`, `iot_sitewise`, `iot_sitewise_asset`, `iot_sitewise_asset_model` | Asset modeling & visualization |
| Fleet | `iot_fleetwise`, `iot_device_management_fleet` | Vehicle & device fleet telemetry |
### Device & Sensor Stencils
| Category | Stencils |
|----------|----------|
| Sensors | `sensor`, `iot_thing_temperature_sensor`, `iot_thing_humidity_sensor`, `iot_thing_vibration_sensor`, `iot_thing_temperature_humidity_sensor`, `iot_thing_temperature_vibration_sensor` |
| Actuators | `actuator`, `iot_thing_relay`, `iot_thing_stacklight` |
| Industrial | `factory`, `iot_thing_industrial_pc`, `iot_thing_plc` |
| Smart Home | `thermostat`, `alexa_enabled_device`, `alexa_smart_home_skill`, `camera`, `camera2` |
| Protocols | `mqtt_protocol`, `iot_lorawan_protocol`, `iot_greengrass_protocol` |
| Boats/Vehicles | `iot_sailboat`, `iot_fleetwise` |
| Robotics | `robomaker`, `iot_roborunner` |
### Connection Types
| Syntax | Meaning | Use Case |
|--------|---------|----------|
| `A --> B` | Solid arrow | Sync API / data flow |
| `A ..> B` | Dashed arrow | Async telemetry / MQTT publish |
| `A -- B` | Solid line | Physical / bidirectional link |
| `A --> B : "label"` | Labeled connection | Describe protocol or data |
### Quick Example
```plantuml
@startuml
left to right direction
rectangle "Factory Floor" {
mxgraph.aws4.sensor "Temp\nSensor" as s1
mxgraph.aws4.iot_thing_plc "PLC" as plc
}
mxgraph.aws4.greengrass "Greengrass\nEdge" as gg
mxgraph.aws4.iot_core "IoT Core" as core
mxgraph.aws4.iot_analytics "IoT\nAnalytics" as analytics
s1 --> gg : MQTT
plc --> gg
gg --> core
core --> analytics
@enduml
```
## IoT Architecture Types
| Type | Purpose | Key Stencils | Example |
|------|---------|--------------|---------|
| Smart Factory | Industrial IoT monitoring | `sensor`, `iot_thing_plc`, `greengrass`, `iot_sitewise` | [smart-factory.md](examples/smart-factory.md) |
| Smart Home | Home automation | `thermostat`, `alexa_enabled_device`, `camera`, `iot_core` | [smart-home.md](examples/smart-home.md) |
| Fleet Telemetry | Vehicle fleet tracking | `iot_fleetwise`, `iot_core`, `iot_analytics` | [fleet-telemetry.md](examples/fleet-telemetry.md) |
| Edge Computing | Local processing at edge | `greengrass`, `freertos`, `iot_greengrass_component` | [edge-computing.md](examples/edge-computing.md) |
| Digital Twin | Asset modeling & simulation | `iot_twinmaker`, `iot_sitewise_asset_model`, `iot_sitewise` | [digital-twin.md](examples/digital-twin.md) |
| Sensor Network | Distributed sensor mesh | `sensor`, `iot_lorawan_protocol`, `iot_device_gateway` | [sensor-network.md](examples/sensor-network.md) |
| Device Management | Fleet provisioning & OTA | `iot_device_management`, `iot_device_defender`, `iot_over_the_air_update` | [device-management.md](examples/device-management.md) |
| Robotics | Robot fleet orchestration | `robomaker`, `iot_roborunner`, `greengrass` | [robotics.md](examples/robotics.md) |
Dark-themed SVG architecture/cloud/infra diagrams as HTML.
Monitor blogs and RSS/Atom feeds via blogwatcher-cli tool.
| Drive the user's desktop in the background — clicking, typing, scrolling, dragging — without stealing the cursor, keyboard focus, or switching virtual desktops / Spaces. Cross-platform: macOS, Windows, Linux. Works with any tool-capable model. Load this skill whenever the `computer_use` tool is available.