$npx -y skills add easyzoom/aix-skills --skill openthread-integrationUse when integrating, porting, configuring, or debugging OpenThread, Thread networking, radio platform abstraction, border routers, commissioning, or low-power mesh behavior
| 1 | # OpenThread Integration |
| 2 | |
| 3 | ## Overview |
| 4 | |
| 5 | Use this skill to integrate OpenThread by separating radio platform abstraction, dataset/commissioning state, IPv6 stack behavior, and low-power role configuration. Thread failures often require evidence from radio events and network dataset, not only application logs. |
| 6 | |
| 7 | ## When To Use |
| 8 | |
| 9 | Use this skill when: |
| 10 | |
| 11 | - The user wants OpenThread or Thread mesh networking on an MCU. |
| 12 | - The issue involves radio platform APIs, joining, commissioning, dataset, leader/router/child roles, sleepy end devices, IPv6, CoAP, or border routers. |
| 13 | - The target uses an 802.15.4 radio or RCP/NCP architecture. |
| 14 | |
| 15 | Do not use this skill for generic Wi-Fi MQTT/TCP problems. |
| 16 | |
| 17 | ## First Questions |
| 18 | |
| 19 | Ask for: |
| 20 | |
| 21 | - Chip/radio, OpenThread version, architecture: SoC, RCP, NCP, or RTOS integration. |
| 22 | - Role: commissioner, joiner, router, sleepy end device, border router, or test node. |
| 23 | - Dataset, channel, PAN ID, network key policy, and commissioning method. |
| 24 | - Radio/platform logs, CLI output, packet capture, or ot-ctl output. |
| 25 | - Power mode and polling interval if low power is involved. |
| 26 | |
| 27 | ## Integration Checklist |
| 28 | |
| 29 | 1. Prove platform radio hooks. |
| 30 | TX, RX, energy scan, channel change, timing, and radio interrupts must work. |
| 31 | |
| 32 | 1. Confirm dataset. |
| 33 | Network name, channel, PAN ID, extended PAN ID, mesh-local prefix, and keys must match. |
| 34 | |
| 35 | 1. Validate role transitions. |
| 36 | Observe disabled, detached, child, router, leader, or joined states. |
| 37 | |
| 38 | 1. Check IPv6 paths. |
| 39 | Verify mesh-local addresses, routes, neighbor table, and border router prefixes. |
| 40 | |
| 41 | 1. Tune low power carefully. |
| 42 | Sleepy devices need poll period, timeout, parent behavior, and current measurements. |
| 43 | |
| 44 | ## Common Failures |
| 45 | |
| 46 | - Radio driver timestamps or ACK handling wrong. |
| 47 | - Nodes have mismatched datasets. |
| 48 | - Joiner credentials or commissioner state mismatch. |
| 49 | - Border router advertises wrong prefix or route. |
| 50 | - Sleepy child misses messages due to poll timeout. |
| 51 | |
| 52 | ## Verification |
| 53 | |
| 54 | Before claiming OpenThread works: |
| 55 | |
| 56 | - State architecture, radio, role, dataset identifiers, and OpenThread version. |
| 57 | - Confirm attach/join state and role. |
| 58 | - Confirm ping/UDP/CoAP or CLI communication across the mesh. |
| 59 | - Confirm low-power polling behavior if relevant. |
| 60 | - Confirm credentials were not exposed in logs. |
| 61 | |
| 62 | ## Example |
| 63 | |
| 64 | User: |
| 65 | |
| 66 | ```text |
| 67 | OpenThread 设备一直 detached。 |
| 68 | ``` |
| 69 | |
| 70 | Agent: |
| 71 | |
| 72 | 1. Asks for dataset, role, radio platform, logs, and commissioner/joiner method. |
| 73 | 1. Checks radio TX/RX and dataset match before application code. |
| 74 | 1. Verifies role transition and mesh-local ping. |