Agent skill

ESP32 CSI Node Provisioning

by ruvnet in ruvnet/RuView

Builds, flashes and provisions an ESP32-S3 or C6 CSI node for RuView, with checksum-verified flashing, WiFi settings and boot-log evidence that CSI is flowing.

MITAuto-check passedDevelopment

Install ESP32 CSI Node Provisioning

skills CLI
$ npx skills add ruvnet/RuView --skill provision-node -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ruvnet/RuView provision-node --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .claude/skills && cp -r skills-src/harness/ruview/.claude/skills/provision-node .claude/skills/provision-node && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
provision-node
GitHub stars
97k
Token cost
~579 tokens
SKILL.md length
209 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

Builds, flashes and provisions an ESP32-S3 or C6 CSI node for RuView, with checksum-verified flashing, WiFi settings and boot-log evidence that CSI is flowing.

  • Works in 4 steps: Pick a firmware variant → Flash → Provision → …
  • Flashing prebuilt RuView firmware onto an ESP32-S3 or C6 board
  • SKILL.md covers 1. Pick a firmware variant, 2. Flash, 3. Provision and 4. Confirm CSI is flowing
  • Calls npx and python

What it does

The skill brings an ESP32 sensing node online in four stages. First you pick a firmware variant: s3-8mb with a display, s3-4mb without one, or c6 for an ESP32-C6 paired with a Seeed MR60BHA2 mmWave board, with prebuilt binaries from the v0.8.1-esp32 release. Second, flashing goes through python -m esptool on Windows, macOS or Linux using the npx @ruvnet/ruview doctor, flash-plan and flash commands, which verify SHA256SUMS, refuse a chip that does not match the variant, preserve NVS and capture a boot log.

Third, provisioning runs firmware/esp32-csi-node/provision.py with the port, SSID, password, target IP and target port, and the WiFi password must never be echoed or committed. Fourth, monitoring confirms that CSI callbacks appear in the serial log; with none, the node is not capturing and calibration should not begin. Building from source uses ESP-IDF v5.4, with Docker or a Windows subprocess flow, and Git Bash or MSYS is unsupported. Flashing over MCP needs a hardware-write grant and explicit confirmation.

When your agent uses it

  • Flashing prebuilt RuView firmware onto an ESP32-S3 or C6 board
  • Choosing between the display, no-display and mmWave firmware variants
  • Setting WiFi credentials and the target server on a new node
  • Confirming from the boot log that a node is capturing CSI

Example prompts

  • “Flash the s3-8mb firmware bundle onto the board on COM4 and check the checksums first.”
  • “Provision this node with our WiFi network and point it at the server, without printing the password.”
  • “The node booted but I see no CSI callbacks. Walk me through checking it.”

Requirements

  • An ESP32-S3 or ESP32-C6 board connected over serial
  • Python with esptool and pyserial
  • Node.js to run npx @ruvnet/ruview
  • ESP-IDF v5.4 or Docker, only when building from source

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Pick a firmware variant
  2. Flash
  3. Provision
  4. Confirm CSI is flowing

What it can do on your machine

Read from SKILL.md and the folder at commit 0ef6b96. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

ESP32 CSI Node Provisioning loads about 579 tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 209 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~53
When it runs · the whole SKILL.md, loaded when a task matches
~579

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ruvnet/RuView at commit 0ef6b96, republished under its MIT licence (© ruvnet). 209 words, ~579 tokens.

Download SKILL.mdSave it as .claude/skills/provision-node/SKILL.md (or your agent's skills folder).
name
provision-node
description
Build, flash, and provision an ESP32-S3/C6 CSI node for RuView — firmware variant choice, cross-platform checksum-verified esptool flashing, NVS/WiFi/channel/MAC-filter overrides, boot-log evidence.

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.

© ruvnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in harness/ruview/.claude/skills/provision-node of ruvnet/RuView.

Open the folder on GitHubat commit 0ef6b96

Compare with similar skills

ESP32 CSI Node Provisioning next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

ESP32 CSI Node Provisioning compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
ESP32 CSI Node Provisioning this skillruvnet/RuView97k—~579Automated safety check: PassMIT
Esp32 Firmware Engineeralxv2016/folloup-sticky1151 repos~3.8kAutomated safety check: PassGPL-3.0
Embedded DebugFastLED/FastLED7.5k—~1.4kAutomated safety check: PassMIT
Openscad MechanicalBlueAndi/Pixelix443—~1.8kAutomated safety check: PassMIT
Auto EmbeddedDunCanYounG-1/MICU-auto-embedded253—~1.6kAutomated safety check: PassCC-BY-NC-4.0
Esp32 Log TriageFastLED/FastLED7.5k—~1.9kAutomated safety check: PassMIT

Similar skills

  • Esp32 Firmware Engineer

    alxv2016/folloup-sticky

    ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.

    115 GitHub starsUsed in 1 repo~3.8k tokens
    DevelopmentAuto-check passed
  • Embedded Debug

    FastLED/FastLED

    Firmware crash analysis, stack trace decoder, and register dump interpreter for ESP32/ARM/AVR platforms.

    7.5k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Openscad Mechanical

    BlueAndi/Pixelix

    Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings.

    443 GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Auto Embedded

    DunCanYounG-1/MICU-auto-embedded

    全平台嵌入式 AI 开发框架(对标 Trellis):把 RIPER-5 五阶段协议 + 四文件记忆 + 分层架构门禁 + Scout/Builder/Verifier 多 Agent + 24 个工具调用技能(build/flash/debug/serial/can/modbus/visa/static/memory/rtos/scons),做成『装进工程、项目级 hook…

    253 GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Esp32 Log Triage

    FastLED/FastLED

    Parse and classify ESP32 serial log output to identify FastLED-related errors, RMT/I2S/SPI driver faults, timing violations, RTOS issues, and crash signatures.

    7.5k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Flash Esp32s3

    RomanLut/hx_espnow_rc

    Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb.

    129 GitHub stars~794 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from ruvnet/RuView

All 24 skills in this repo
  • Reference for RuView's research-grade WiFi sensing features: multistatic fusion, cross-viewpoint geometry, persistent field models, RF tomography, intention signals and mesh security.

    97k GitHub stars~1.2k tokensUpdated today
    Auto-check: notes
  • Runs RuView's WiFi sensing applications: presence, vital signs, activity and fall detection, pose estimation, sleep monitoring and environment mapping.

    97k GitHub stars~1.1k tokensUpdated today
    Auto-check: notes
  • Covers the RuView `wifi-densepose` command line binary, its Axum REST API and the WebAssembly builds for browsers and ESP32, for embedding or scripting RuView.

    97k GitHub stars~1.2k tokensUpdated today
    Auto-check: notes
  • Tunes a deployed RuView WiFi-sensing system without changing code: firmware sdkconfig variants, NVS provisioning over serial, channel and MAC filtering, edge processing tiers and mesh slotting.

    97k GitHub stars~1.7k tokensUpdated today
    Auto-check: notes
  • Drives a web browser through the agent-browser CLI, using compact accessibility snapshots with element refs in place of the full DOM to keep context small.

    97k GitHub starsUsed in 4 repos~1.3k tokens
    Auto-check passed
  • Brings a RuView CSI sensing node online by building ESP32-S3 or ESP32-C6 firmware, flashing the board, provisioning WiFi and checking the serial output.

    97k GitHub stars~1.8k tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about ESP32 CSI Node Provisioning

What does ESP32 CSI Node Provisioning do?

Builds, flashes and provisions an ESP32-S3 or C6 CSI node for RuView, with checksum-verified flashing, WiFi settings and boot-log evidence that CSI is flowing. The skill brings an ESP32 sensing node online in four stages.1-esp32 release.

When should I use ESP32 CSI Node Provisioning?

ESP32 CSI Node Provisioning fits situations like: flashing prebuilt RuView firmware onto an ESP32-S3 or C6 board; choosing between the display, no-display and mmWave firmware variants; setting WiFi credentials and the target server on a new node; confirming from the boot log that a node is capturing CSI.

How do I install ESP32 CSI Node Provisioning in Claude Code?

Run `npx skills add ruvnet/RuView --skill provision-node -a claude-code`. Or copy the skill folder (harness/ruview/.claude/skills/provision-node in ruvnet/RuView) into .claude/skills/provision-node in your project. Claude Code loads it when a task matches its description.

How do I install ESP32 CSI Node Provisioning in Codex?

Run `npx skills add ruvnet/RuView --skill provision-node -a codex`. Or copy the skill folder (harness/ruview/.claude/skills/provision-node in ruvnet/RuView) into .agents/skills/provision-node in your project. Codex loads it when a task matches its description.

Can I use ESP32 CSI Node Provisioning in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruvnet/RuView --skill provision-node -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/provision-node, .gemini/skills/provision-node, .github/skills/provision-node and .opencode/skills/provision-node in your project.

What does ESP32 CSI Node Provisioning need to run?

Going by SKILL.md and its folder, ESP32 CSI Node Provisioning needs the command-line tools its instructions call (npx and python). Our summary lists: An ESP32-S3 or ESP32-C6 board connected over serial; Python with esptool and pyserial; Node.js to run npx @ruvnet/ruview; ESP-IDF v5.4 or Docker, only when building from source.

Does ESP32 CSI Node Provisioning access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is ESP32 CSI Node Provisioning safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does ESP32 CSI Node Provisioning use?

ESP32 CSI Node Provisioning is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does ESP32 CSI Node Provisioning use?

About 579 tokens (SKILL.md is roughly 2.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to ESP32 CSI Node Provisioning?

Skills that share tags, products or a category with ESP32 CSI Node Provisioning: Esp32 Firmware Engineer (alxv2016/folloup-sticky, 115 stars), Embedded Debug (FastLED/FastLED, 7.5k stars), Openscad Mechanical (BlueAndi/Pixelix, 443 stars) and Auto Embedded (DunCanYounG-1/MICU-auto-embedded, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains ESP32 CSI Node Provisioning?

ruvnet (a GitHub user) maintains it in ruvnet/RuView, which has 96,741 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 7, 2026.

Source: ruvnet/RuView on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.