Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/ruvnet/ruview/provision-nodenpx skills add ruvnet/RuView --skill provision-nodegit clone --depth 1 https://github.com/ruvnet/RuViewWhat 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 | $0.00046 | $0.00549 |
| Opus 5 | $0.00023 | $0.00275 |
| Sonnet 5 | $0.00009 | $0.00110 |
| Haiku 4.5 | $0.00005 | $0.00055 |
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 today.
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.
What it actually says
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
ESP-IDF v5.4 on Windows is subprocess-only (Git Bash/MSYS is unsupported — strip
MSYSTEM* env vars). Offsets for the S3 image:
esptool --chip esp32s3 -p <PORT> -b 460800 write_flash \
0x0 bootloader.bin 0x8000 partition-table.bin \
0xf000 ota_data_initial.bin 0x20000 esp32-csi-node-s3-8mb.bin
(ruview_node_flash returns the exact pinned command rather than running an
unattended flash.)
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.
- today First seen · 50 lines · 46 tokens per session scan A 5f73823794ed
provision-node is a skill published in the GitHub repository ruvnet/RuView (92,406 stars, last pushed today), licensed MIT. It adds 46 tokens to every session and 549 once invoked, about $0.0002 per session on Opus 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
ble
Operate ESP-Claw BLE: initialize BLE, advertise, handle connections, process events, and inspect module state.
nucleo-release
Build, gate, and ship NucleoOS to the Cardputer — firmware via OTA and the web/SD payload via the device file API. Use when the user asks to release, deploy, flash, OTA, sync the SD, or push a web app to the device. Covers the one-command release, firmware-only and SD-only paths, and the gotchas (PIN, .gz shadowing…
nucleo-native-app
Scaffold and implement a NucleoOS native firmware app (C++) correctly — anti-flicker, poll handler, RAM discipline, input routing, registration. Use when creating or fixing a native app in firmware/components/nucleoapp/.
nucleo-release-dual
Build and ship NucleoOS to BOTH Cardputer units — the original and the ADV — in one pass. Use when the user wants to release/build/OTA/flash for both boards, the ADV and non-ADV Cardputers, or two devices at once. Encodes the key fact that it's ONE universal binary (runtime board auto-detect), so you build once and…
cap_router_mgr
Manage router automation rules: list/get/add/update/delete/reload with strict rulejson format.
light_switch
Turn a board light on or off, set LED strip color or brightness, and control GPIO lights. Requires boardhardwareinfo skill.