wireless-protocols

Embedded wireless protocol implementation (LoRa, Zigbee, Thread, Matter)

509 stars

Best use case

wireless-protocols is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Embedded wireless protocol implementation (LoRa, Zigbee, Thread, Matter)

Teams using wireless-protocols should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/wireless-protocols/SKILL.md --create-dirs "https://raw.githubusercontent.com/a5c-ai/babysitter/main/library/specializations/embedded-systems/skills/wireless-protocols/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/wireless-protocols/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How wireless-protocols Compares

Feature / Agentwireless-protocolsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Embedded wireless protocol implementation (LoRa, Zigbee, Thread, Matter)

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Wireless Protocols Skill

## Overview

This skill provides wireless protocol implementation expertise for embedded IoT devices, covering LoRa/LoRaWAN, Zigbee, Thread, and Matter protocols.

## Capabilities

### LoRa/LoRaWAN
- LoRaWAN stack configuration
- Class A/B/C device implementation
- OTAA and ABP activation
- ADR (Adaptive Data Rate) configuration
- Channel plan configuration
- Downlink handling
- MAC command processing

### Zigbee
- Coordinator/router/end device setup
- Zigbee Cluster Library (ZCL)
- Network formation and joining
- Binding and reporting configuration
- OTA upgrade support
- Green Power device support

### Thread
- OpenThread configuration
- Network dataset management
- Commissioner and joiner roles
- Border router setup
- SRP (Service Registration Protocol)
- DNS-SD integration

### Matter
- Matter device implementation
- Device type configuration
- Cluster implementation
- Commissioning flow
- Multi-admin support
- OTA provider/requestor

### RF Configuration
- Antenna matching analysis
- TX power configuration
- Frequency selection
- Channel hopping setup
- Interference mitigation
- RSSI/LQI monitoring

### Certification Preparation
- RF testing requirements
- Protocol compliance testing
- Interoperability testing
- Documentation preparation

## Target Processes

- `device-driver-development.js` - Wireless driver implementation
- `low-power-design.js` - Low-power wireless optimization
- `functional-safety-certification.js` - Wireless certification

## Dependencies

- LoRaWAN stack (LoRaMac-node, LMIC)
- Zigbee SDK (Silicon Labs, NXP)
- OpenThread
- Matter SDK (connectedhomeip)

## Usage Context

This skill is invoked when tasks require:
- LoRaWAN device implementation
- Zigbee network development
- Thread/Matter device creation
- Wireless protocol optimization
- RF certification preparation

## Protocol Comparison

| Protocol | Range | Data Rate | Power | Mesh |
|----------|-------|-----------|-------|------|
| LoRaWAN | 15km | 0.3-50 kbps | Low | No |
| Zigbee | 100m | 250 kbps | Low | Yes |
| Thread | 100m | 250 kbps | Low | Yes |
| Matter | 100m | Varies | Low | Via Thread |

## Configuration Examples

### LoRaWAN OTAA
```c
static uint8_t DevEui[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
static uint8_t AppEui[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
static uint8_t AppKey[] = { 0x00, ..., 0x00 };  // 16 bytes

MibRequestConfirm_t mibReq;
mibReq.Type = MIB_DEV_EUI;
mibReq.Param.DevEui = DevEui;
LoRaMacMibSetRequestConfirm(&mibReq);
```

### Thread Network Configuration
```c
otOperationalDataset dataset;
otDatasetCreateNewNetwork(instance, &dataset);
dataset.mChannel = 15;
dataset.mPanId = 0x1234;
otDatasetSetActive(instance, &dataset);
```

### Matter Device Type
```cpp
const EmberAfCluster clusters[] = {
    OnOff::Id,
    LevelControl::Id,
    Descriptor::Id,
    Identify::Id
};
```

Related Skills