xiaohongshu
xiaohongshu
debug-thread-network
Debug and diagnose Thread mesh networks and OpenThread Border Routers. Use when troubleshooting Thread connectivity, analyzing Router Advertisements, testing IPv6 reachability to Thread devices, inspecting Thread Network Data, or diagnosing Border Router configuration issues.
Full skill instructions
Comprehensive toolkit for debugging Thread mesh networks and OpenThread Border Routers.
Run the main diagnostic script to test connectivity and gather network information:
scripts/test_thread_connectivity.sh <border-router-ip>
Example:
scripts/test_thread_connectivity.sh 192.168.50.104
scripts/test_thread_connectivity.sh)Purpose: Comprehensive connectivity test for Thread Border Router
Usage:
scripts/test_thread_connectivity.sh <border-router-ip>
What it tests:
Output: Summary report with pass/fail status for each test
scripts/ipv6_diagnostics.sh)Purpose: Gather complete IPv6 configuration and routing information
Usage:
scripts/ipv6_diagnostics.sh [interface]
Collects:
Output: Formatted diagnostic report
scripts/query_otbr_api.sh)Purpose: Query OpenThread Border Router REST API endpoints
Usage:
scripts/query_otbr_api.sh <border-router-ip> [port]
Endpoints queried:
/get_properties - Network properties/node_information - Node details/topology - Network topology/diagnostics - Full diagnostic info/node/dataset/active - Thread credentialsOutput: JSON responses from each endpoint
scripts/decode_thread_netdata.py)Purpose: Decode Thread Network Data hex string into human-readable format
Usage:
scripts/decode_thread_netdata.py <netdata-hex>
Or pipe from API:
curl -s http://192.168.50.104/diagnostics | \
jq -r '.[0].NetworkData' | \
scripts/decode_thread_netdata.py
Decodes:
Output: Structured TLV analysis with prefix flags
scripts/analyze_ra_packet.sh)Purpose: Capture and analyze Router Advertisement packets
Usage:
sudo scripts/analyze_ra_packet.sh <interface>
Captures:
Output: Parsed RA packet details
When you know the network but not the border router IP:
# Scan for Thread Border Routers on network
scripts/scan_for_otbr.sh 192.168.1
When troubleshooting connectivity issues:
# Step 1: Test connectivity
scripts/test_thread_connectivity.sh 192.168.50.104
# Step 2: Check IPv6 configuration
scripts/ipv6_diagnostics.sh en0
# Step 3: Query Border Router
scripts/query_otbr_api.sh 192.168.50.104
# Step 4: Analyze Router Advertisements
sudo scripts/analyze_ra_packet.sh en0
When analyzing Thread network prefixes and routes:
# Get Network Data and decode
curl -s http://192.168.50.104/diagnostics | \
jq -r '.[0].NetworkData' | \
scripts/decode_thread_netdata.py
When verifying external connectivity to Thread devices:
# Get OMR addresses from border router
OMR_ADDR=$(curl -s http://192.168.50.104/diagnostics | \
jq -r '.[0].IP6AddressList[] | select(startswith("fd03"))')
# Test connectivity
ping6 -c 3 $OMR_ADDR
# Test HTTP over IPv6
curl -s "http://[$OMR_ADDR]/get_properties" | jq
For detailed explanation of Thread IPv6 addressing, see references/thread-addressing.md
For RA packet structure and interpretation, see references/router-advertisements.md
For complete API documentation, see references/otbr-api.md
ping <border-router-ip>ndp -pnetstat -rn -f inet6 | grep fdsysctl net.inet6.ip6.forwardingThis is expected behavior. Mesh-local addresses (fd65::/64) are only reachable from within the Thread mesh. External devices must use OMR addresses instead.
ifconfigicmpv6.type == 134ndp commands for neighbor discoverysysctl net.inet6.ip6.forwardingen0 for Wi-Fi, en1 for Ethernetip -6 commands instead of ndpsysctl net.ipv6.conf.all.forwardingsysctl net.ipv6.conf.eth0.accept_ratest_thread_connectivity.sh firsthttp://[fd03::1]/xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience