ruview-mmwave

ruview-mmwave is a skill for Claude Code from ruvnet/RuView. It costs 116 tokens per session (1,017 once invoked), scanned A, original, MIT.

A setup guide for using millimetre-wave radar sensors with RuView. These sensors use radio waves to detect presence, distance, breathing, and heart rate without a camera.

In plain words
What is it for?
Use it to deploy ESP32 systems with 60 GHz or 24 GHz radar, detect people and distance, or produce fused vital-sign readings.
Why use it?
It helps connect and configure supported radar boards and combine their readings with Wi-Fi sensing data. This avoids having to work out the hardware and data format yourself.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: positional $N argument.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python firmware/esp32-csi-node/provision.py --port COM8 --ssid "WiFi" --password "secret" --target-ip 192.168.1.20.

Part of the ruview plugin — 10 skills, 7 commands, 3 agents shipped together

Good fit Use it to deploy ESP32 systems with 60 GHz or 24 GHz radar, detect people and distance, or produce fused vital-sign readings.

Compare 6 skills from other repositories ↓
About the project

RuView is a WiFi sensing platform that uses disturbances in radio signals, captured by low-cost ESP32 sensors, to detect presence, movement, breathing, and heart rate without cameras or wearables. It is intended for spatial monitoring and smart-home integrations. The catalogue add-ons support workflows for operating and integrating RuView.

ruvnet/RuView · 99,588 stars · on GitHub · cognitum.one

Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/ruvnet/RuView
agentmods
npx agentmods add skills/ruvnet/ruview/ruview-mmwave

Made for: Claude Code.

Or install ruview, the plugin that ships this one along with the rest of its 10 skills, 7 commands, 3 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ruview-mmwave

README.md
[![agentmods](https://agentmods.dev/badge/skills/ruvnet/ruview/ruview-mmwave/github.svg)](https://agentmods.dev/skills/ruvnet/ruview/ruview-mmwave)
Your own site
<a href="https://agentmods.dev/skills/ruvnet/ruview/ruview-mmwave"><img src="https://agentmods.dev/badge/skills/ruvnet/ruview/ruview-mmwave/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ruview-mmwave

Your own site · 80×15
<a href="https://agentmods.dev/skills/ruvnet/ruview/ruview-mmwave"><img src="https://agentmods.dev/badge/skills/ruvnet/ruview/ruview-mmwave.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 116 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,017 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Snyk pass 7 Sept 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00116 $0.01017
Opus 5.5 $0.00046 $0.00407
Sonnet 5.5 $0.00023 $0.00203
Haiku 4.5 $0.00012 $0.00102

Measured 1mo ago against content hash d11b818564c3, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ruview-mmwave scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/ruview/skills/ruview-mmwave/SKILL.md · 62 lines

How it starts

The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.

RuView mmWave / FMCW Radar

The radio side-channel: 60 GHz and 24 GHz FMCW radar, standalone and fused with WiFi CSI.

Hardware

Device Port Band Provides ~Cost
ESP32-C6 + Seeed MR60BHA2 COM4 (typical) 60 GHz FMCW Heart rate, breathing rate, presence ~$15
HLK-LD2410 — 24 GHz FMCW Presence + distance (gated zones) ~$3

The C6 is RISC-V and can run the radar pipeline; it is not a WiFi-CSI node (use an ESP32-S3 for CSI). LD2410 is a UART module wired to a host or to the C6.

1. Firmware with mmWave fusion (v0.5.0+)

The ESP32 firmware auto-detects an attached MR60BHA2 or LD2410 and emits 48-byte fused vitals records (CSI-derived + radar-derived, reconciled). Binary is ~12 KB larger than the CSI-only build. Build/flash as in ruview-hardware-setup (Windows: Python-subprocess; ESP-IDF v5.4 ≠ Git Bash). Recommended stable firmware tag: v0.5.0-esp32 or later — see docs/user-guide.md release table.

# Provision the radar/fusion node (same provision.py; the firmware probes for the radar on boot)
python firmware/esp32-csi-node/provision.py --port COM8 --ssid "WiFi" --password "secret" --target-ip 192.168.1.20
# Confirm: serial monitor should report which radar was detected and start emitting fused vitals

2. mmWave ↔ WiFi-CSI fusion bridge (host side)

python scripts/mmwave_fusion_bridge.py            # bridges radar HR/BR + CSI → unified spatial model
node scripts/passive-radar.js                     # passive-radar style processing for exploration

The 3D point-cloud demo fuses camera depth (MiDaS) + WiFi CSI + mmWave radar → unified spatial model (~22 ms pipeline, 19K+ pts/frame; ADR-094). Drive it with scripts/mmwave_fusion_bridge.py plus the point-cloud front-end.

3. Standalone radar use

  • MR60BHA2 (60 GHz) — best for contactless vitals on a (near-)stationary subject: blood pressure proxy, heart rate, breathing rate; $15 hardware, no wearable. See examples/medical/README.md.
  • LD2410 (24 GHz) — best for cheap presence + coarse distance / gated zones; complements CSI presence (PIR-style fusion) for higher confidence.

Read the full file on GitHub · 62 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 62 lines · 116 tokens per session scan A d11b818564c3

Subscribe to this mod's changes

ruview-mmwave is a skill published in the GitHub repository ruvnet/RuView (99,588 stars, last pushed today), licensed MIT. It adds 116 tokens to every session and 1,017 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

meraki-wireless-ops

Cisco Meraki wireless (read-only) — SSID configuration, RF profiles, Air Marshal, channel utilization, signal quality, client connectivity events via Cisco's official Meraki MCP. Use when inspecting Meraki SSIDs, auditing RF configuration, or investigating WiFi connectivity.

automateyournetwork/netclaw · 60 tokens

conducting-wireless-network-penetration-test

Conducts authorized wireless network penetration tests to assess the security of WiFi infrastructure by testing for weak encryption protocols, captive portal bypasses, evil twin attacks, WPA2/WPA3 handshake capture, rogue access point detection, and client-side attacks. The tester evaluates wireless authentication…

26zl/cybersec-toolkit · 104 tokens

beu1000-evuba

A hardware-specific guide for writing firmware for the BE-U1000, a RISC-V microcontroller, on Baikal Electronics EVU-BA development boards. It documents the chip, board wiring, SDK, build setup, and built-in peripherals.

alexex1993/mcu-skills · 0 tokens

esp32p4-jc-m3-dev

Firmware development for the Guition JC-ESP32P4-M3-DEV board (JC-ESP32P4-M3 module — ESP32-P4NRW32 with 32 MB in-package PSRAM, 16 MB flash, and an ESP32-C6 radio co-processor on SDIO) — its MIPI-DSI panel and MIPI-CSI camera connectors, IP101 Ethernet, ES8311 codec with speaker amplifier and microphone, microSD on…

alexex1993/mcu-skills · 0 tokens

esp32p4-jc4880p443

Firmware development for the Guition JC4880P443CIW (JC4880P443, JC4880P443C, often mistyped JC4880P433) — a 4.3" 480x800 IPS touch display board on the JC-ESP32P4-M3 module (ESP32-P4NRW32, 32 MB PSRAM, 16 MB flash, ESP32-C6 Wi-Fi co-processor on SDIO) — its ST7701S MIPI-DSI panel, GT911 touch, backlight, ES8311 codec…

alexex1993/mcu-skills · 0 tokens

esp32-wroom-30pin

Firmware development for the 30-pin ESP32-WROOM-32 development board — the DOIT ESP32 DevKit V1 / ESP32 CH340 Type-C / NodeMCU-ESP32 30-pin form factor, 15 pins per side, CH340G or CP2102 USB-UART bridge, AMS1117 LDO, user LED on GPIO2. Use when working on a 30-pin ESP32 devkit (ESP32-D0WDQ6 / ESP32-D0WD-V3…

alexex1993/mcu-skills · 0 tokens