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.
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.
git clone --depth 1 https://github.com/ruvnet/RuViewnpx agentmods add skills/ruvnet/ruview/provision-nodeWrote 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.
[](https://agentmods.dev/skills/ruvnet/ruview/provision-node)<a href="https://agentmods.dev/skills/ruvnet/ruview/provision-node"><img src="https://agentmods.dev/badge/skills/ruvnet/ruview/provision-node/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.
<a href="https://agentmods.dev/skills/ruvnet/ruview/provision-node"><img src="https://agentmods.dev/badge/skills/ruvnet/ruview/provision-node.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Snyk pass
- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00052 | $0.00698 |
| Opus 5.5 | $0.00021 | $0.00279 |
| Sonnet 5.5 | $0.00010 | $0.00140 |
| Haiku 4.5 | $0.00005 | $0.00070 |
Grade A, and why
provision-node 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 15d 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.
How it starts
The opening of the file, as written. The whole thing — 56 lines — stays where its author put it; the contents beside it link to each section on GitHub.
provision-node
Bring an ESP32 sensing node online.
1. Pick a firmware variant
- s3-8mb (display build) — ESP32-S3 N16R8 / 16MB; AMOLED optional. The display-detect fix (#1000) means a bare board still captures CSI (MGMT+DATA).
- s3-4mb (no-display) — ESP32-S3 4MB; dual-OTA, display disabled.
- c6 — ESP32-C6 + Seeed MR60BHA2 (60 GHz mmWave + WiFi CSI). The mmwave probe requires a validated MR60 header (#1107) so an empty UART never false-detects.
Prebuilt binaries: GitHub release v0.8.1-esp32 (hardware-validated on S3 QFN56 rev v0.2).
2. Flash
Use a release flash bundle (or release_bins/<variant>, or an ESP-IDF build/).
The harness flashes on Windows, macOS, and Linux through python -m esptool:
npx @ruvnet/ruview doctor --group python,serial,firmware # esptool, pyserial, ports, bundle checksums
npx @ruvnet/ruview flash-plan --port <PORT> --bundle <dir> --variant s3-8mb
npx @ruvnet/ruview flash --port <PORT> --bundle <dir> --variant s3-8mb --confirm
flash verifies SHA256SUMS, refuses a chip that does not match the variant
(esptool chip_id), writes 0x0 / 0x8000 / 0xf000 / 0x20000 (NVS preserved),
then captures a boot log. hardwareValidated: true requires CSI callbacks in
that log. Over MCP, ruview_node_flash needs the hardware-write grant and
confirm: true.
Building from source still uses ESP-IDF v5.4 (Docker or the Windows subprocess
flow; Git Bash/MSYS is unsupported, so strip MSYSTEM* env vars).
3. Provision
python firmware/esp32-csi-node/provision.py --port <PORT> \
--ssid "<SSID>" --password "<secret>" --target-ip <server-ip> --target-port 5005
# optional ADR-060 overrides:
python firmware/esp32-csi-node/provision.py --port <PORT> --channel 6 --filter-mac AA:BB:CC:DD:EE:FF
Never echo or commit the WiFi password.
4. Confirm CSI is flowing
ruview_node_monitor {port} — PASS criteria: serial shows CSI cb #... callbacks and
(on a bare board) CSI filter upgraded to MGMT+DATA. No callbacks → the node isn't
capturing; do not proceed to calibration.
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.
- 15d ago Changed · +6 lines · +6 tokens per session 13dd6c35eac6
- 1mo ago First seen · 50 lines · 46 tokens per session scan A 5f73823794ed
provision-node is a skill published in the GitHub repository ruvnet/RuView (98,528 stars, last pushed today), licensed MIT. It adds 52 tokens to every session and 698 once invoked, about $0.0002 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.
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.
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…
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.
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…
lgt8f328p-minievb
Firmware development for the LGT8F328P-LQFP32 MiniEVB — the Nano-style 30-pin "purple nano" board whose silkscreen reads LGTBF32BP (also sold as BTE21-15A, WAVGAT, LGT8F328P Nano V3.0), built on the Logic Green / Prodesign LGT8F328P, an AVR-instruction-compatible LGT8XM part with a 32 MHz internal RC and no crystal, a…
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…