๐ŸŽฏ

domain-iot

๐ŸŽฏSkill

from goooice/rust-skills

VibeIndex|
What it does

Enables building robust, efficient IoT applications with offline-first design, power-aware networking, and secure device communication using Rust.

๐Ÿ“ฆ

Part of

goooice/rust-skills(35 items)

domain-iot

Installation

Add MarketplaceAdd marketplace to Claude Code
/plugin marketplace add ZhangHanDong/rust-skills
Install PluginInstall plugin from marketplace
/plugin install rust-skills@rust-skills
Quick InstallInstall with npx
npx skills add ZhangHanDong/rust-skills
git cloneClone repository
git clone https://github.com/ZhangHanDong/rust-skills.git
๐Ÿ“– Extracted from docs: goooice/rust-skills
4Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

"Use when building IoT apps. Keywords: IoT, Internet of Things, sensor, MQTT, device, edge computing, telemetry, actuator, smart home, gateway, protocol, ็‰ฉ่”็ฝ‘, ไผ ๆ„Ÿๅ™จ, ่พน็ผ˜่ฎก็ฎ—, ๆ™บ่ƒฝๅฎถๅฑ…"

Overview

# IoT Domain

> Layer 3: Domain Constraints

Domain Constraints โ†’ Design Implications

| Domain Rule | Design Constraint | Rust Implication |

|-------------|-------------------|------------------|

| Unreliable network | Offline-first | Local buffering |

| Power constraints | Efficient code | Sleep modes, minimal alloc |

| Resource limits | Small footprint | no_std where needed |

| Security | Encrypted comms | TLS, signed firmware |

| Reliability | Self-recovery | Watchdog, error handling |

| OTA updates | Safe upgrades | Rollback capability |

---

Critical Constraints

Network Unreliability

```

RULE: Network can fail at any time

WHY: Wireless, remote locations

RUST: Local queue, retry with backoff

```

Power Management

```

RULE: Minimize power consumption

WHY: Battery life, energy costs

RUST: Sleep modes, efficient algorithms

```

Device Security

```

RULE: All communication encrypted

WHY: Physical access possible

RUST: TLS, signed messages

```

---

Trace Down โ†“

From constraints to design (Layer 2):

```

"Need offline-first design"

โ†“ m12-lifecycle: Local buffer with persistence

โ†“ m13-domain-error: Retry with backoff

"Need power efficiency"

โ†“ domain-embedded: no_std patterns

โ†“ m10-performance: Minimal allocations

"Need reliable messaging"

โ†“ m07-concurrency: Async with timeout

โ†“ MQTT: QoS levels

```

---

Environment Comparison

| Environment | Stack | Crates |

|-------------|-------|--------|

| Linux gateway | tokio + std | rumqttc, reqwest |

| MCU device | embassy + no_std | embedded-hal |

| Hybrid | Split workloads | Both |

Key Crates

| Purpose | Crate |

|---------|-------|

| MQTT (std) | rumqttc, paho-mqtt |

| Embedded | embedded-hal, embassy |

| Async (std) | tokio |

| Async (no_std) | embassy |

| Logging (no_std) | defmt |

| Logging (std) | tracing |

Design Patterns

| Pattern | Purpose | Implementation |

|---------|---------|----------------|

| Pub/Sub | Device comms | MQTT topics |

| Edge compute | Local processing | Filter before upload |

| OTA updates | Firmware upgrade | Signed + rollback |

| Power mgmt | Battery life | Sleep + wake events |

| Store & forward | Network reliability | Local queue |

Code Pattern: MQTT Client

```rust

use rumqttc::{AsyncClient, MqttOptions, QoS};

async fn run_mqtt() -> anyhow::Result<()> {

let mut options = MqttOptions::new("device-1", "broker.example.com", 1883);

options.set_keep_alive(Duration::from_secs(30));

let (client, mut eventloop) = AsyncClient::new(options, 10);

// Subscribe to commands

client.subscribe("devices/device-1/commands", QoS::AtLeastOnce).await?;

// Publish telemetry

tokio::spawn(async move {

loop {

let data = read_sensor().await;

client.publish("devices/device-1/telemetry", QoS::AtLeastOnce, false, data).await.ok();

tokio::time::sleep(Duration::from_secs(60)).await;

}

});

// Process events

loop {

match eventloop.poll().await {

Ok(event) => handle_event(event).await,

Err(e) => {

tracing::error!("MQTT error: {}", e);

tokio::time::sleep(Duration::from_secs(5)).await;

}

}

}

}

```

---

Common Mistakes

| Mistake | Domain Violation | Fix |

|---------|-----------------|-----|

| No retry logic | Lost data | Exponential backoff |

| Always-on radio | Battery drain | Sleep between sends |

| Unencrypted MQTT | Security risk | TLS |

| No local buffer | Network outage = data loss | Persist locally |

---

Trace to Layer 1

| Constraint | Layer 2 Pattern | Layer 1 Implementation |

|------------|-----------------|------------------------|

| Offline-first | Store & forward | Local queue + flush |

| Power efficiency | Sleep patterns | Timer-based wake |

| Network reliability | Retry | tokio-retry, backoff |

| Security | TLS | rustls, native-tls |

---

Related Skills

| When | See |

|------|-----|

| Embedded patterns | domain-embedded |

| Async patterns | m07-concurrency |

| Error recovery | m13-domain-error |

| Performance | m10-performance |

More from this repository10

๐ŸŽฏ
m10-performance๐ŸŽฏSkill

Optimizes code performance by identifying bottlenecks, measuring impact, and guiding strategic improvements across algorithm, data structure, and memory efficiency.

๐ŸŽฏ
m14-mental-model๐ŸŽฏSkill

Applies the M14 mental model framework to enhance decision-making and strategic thinking through structured cognitive analysis.

๐ŸŽฏ
m04-zero-cost๐ŸŽฏSkill

Guides developers in choosing zero-cost abstractions by analyzing type system constraints and performance trade-offs in Rust generics and traits.

๐ŸŽฏ
meta-cognition-parallel๐ŸŽฏSkill

Performs parallel three-layer meta-cognitive analysis by forking subagents to simultaneously analyze language mechanics, design choices, and domain constraints, then synthesizing results.

๐ŸŽฏ
unsafe-checker๐ŸŽฏSkill

Identifies and reviews unsafe Rust code patterns, FFI risks, and potential memory unsafety in Rust projects.

๐ŸŽฏ
rust-skill-creator๐ŸŽฏSkill

Dynamically generates Claude skills for Rust crates, standard library modules, and documentation by extracting and processing technical details from specified URLs.

๐ŸŽฏ
coding-guidelines๐ŸŽฏSkill

Provides comprehensive Rust coding guidelines covering naming conventions, best practices, error handling, memory management, concurrency, and code style recommendations.

๐ŸŽฏ
rust-refactor-helper๐ŸŽฏSkill

Performs safe Rust refactoring by analyzing symbol references, checking conflicts, and applying changes across project files using LSP.

๐ŸŽฏ
m03-mutability๐ŸŽฏSkill

Diagnoses and guides resolution of Rust mutability and borrowing conflicts by analyzing ownership, mutation patterns, and thread-safety requirements.

๐ŸŽฏ
m05-type-driven๐ŸŽฏSkill

Explores and demonstrates type-driven development techniques in Rust, showcasing advanced type system features and pattern matching strategies.