domain-iot:mqtt-patterns
Installation
SKILL.md
MQTT Patterns for IoT
When to use
- Designing MQTT topic hierarchies for a new IoT system
- Choosing the right QoS level for telemetry, commands, or alerts
- Implementing device presence detection with retained messages and LWT
- Selecting or scaling an MQTT broker (Mosquitto, EMQX, HiveMQ, VerneMQ)
- Adopting MQTT 5.0 features like shared subscriptions, message expiry, or user properties
- Reviewing client library options for embedded C, Python, Node.js, Java, or Go
Core principles
- Topic hierarchy is your ACL and filter contract — put the device ID early; flat topics destroy per-device access control and wildcard efficiency
- QoS 1 is the sane default — deduplicate on the backend; QoS 2's four-way handshake costs more than it saves in most telemetry scenarios
- LWT plus retained messages equals a free presence system — no polling, no heartbeat endpoint, broker handles it
- MQTT 5.0 shared subscriptions replace every hand-rolled consumer group — load-balance backend processors without custom coordination
- Never subscribe to
#in production — you will receive everything on the broker; your consumer will not survive it