Esp32 Firmware Engineer
alxv2016/folloup-sticky
ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.
Reaches RuView sensing hardware, such as ESP32 CSI nodes, mmWave radars, RPLIDAR and iPhone LiDAR, from the host it is plugged into or over SSH.
$ npx skills add ruvnet/RuView --skill device-access -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ruvnet/RuView device-access --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .claude/skills && cp -r skills-src/harness/ruview/.claude/skills/device-access .claude/skills/device-access && rm -rf skills-srcUse ~/.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/
Install the "device-access" agent skill from https://github.com/ruvnet/RuView/tree/main/harness/ruview/.claude/skills/device-access into .claude/skills/device-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "device-access", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ruvnet/RuView/tree/main/harness/ruview/.claude/skills/device-accessType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ruvnet/RuView --skill device-access -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ruvnet/RuView device-access --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .agents/skills && cp -r skills-src/harness/ruview/.claude/skills/device-access .agents/skills/device-access && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "device-access" agent skill from https://github.com/ruvnet/RuView/tree/main/harness/ruview/.claude/skills/device-access into .agents/skills/device-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "device-access", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ruvnet/RuView --skill device-access -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ruvnet/RuView device-access --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/harness/ruview/.claude/skills/device-access .cursor/skills/device-access && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "device-access" agent skill from https://github.com/ruvnet/RuView/tree/main/harness/ruview/.claude/skills/device-access into .cursor/skills/device-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "device-access", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ruvnet/RuView.git --path harness/ruview/.claude/skills/device-access--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ruvnet/RuView --skill device-access -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ruvnet/RuView device-access --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/harness/ruview/.claude/skills/device-access .gemini/skills/device-access && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "device-access" agent skill from https://github.com/ruvnet/RuView/tree/main/harness/ruview/.claude/skills/device-access into .gemini/skills/device-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "device-access", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ruvnet/RuView device-accessInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ruvnet/RuView --skill device-access -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .github/skills && cp -r skills-src/harness/ruview/.claude/skills/device-access .github/skills/device-access && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "device-access" agent skill from https://github.com/ruvnet/RuView/tree/main/harness/ruview/.claude/skills/device-access into .github/skills/device-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "device-access", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ruvnet/RuView --skill device-access -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ruvnet/RuView device-access --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/harness/ruview/.claude/skills/device-access .opencode/skills/device-access && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "device-access" agent skill from https://github.com/ruvnet/RuView/tree/main/harness/ruview/.claude/skills/device-access into .opencode/skills/device-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "device-access", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
device-accessReaches RuView sensing hardware, such as ESP32 CSI nodes, mmWave radars, RPLIDAR and iPhone LiDAR, from the host it is plugged into or over SSH.
Hardware tools must run on the host the device is physically plugged into, since a cloud agent can't see USB ports; the skill covers starting ruview locally, running a local Claude Code session there, or adding the machine as a read-only SSH host. A doctor and devices command finds attached hardware by its USB vendor and product id and suggests the right confirm command.
A table maps each modality, ESP32 over USB or network, Realtek RTL8721Dx, 60 GHz MR60BHA2 and 24 GHz LD2410 mmWave radars, RPLIDAR, and iPhone LiDAR, to its monitor or analyze command and what that command confirms, such as CSI frame rate, checksum errors or depth frame rate. On a remote machine it adds the host over SSH once and runs only read-only tools there; flashing, training and calibrating must happen on the host itself. Device readouts are the hardware's own raw measurements, not independently validated accuracy results.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0ef6b96. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npxsshclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx and ssh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
RUVIEW_LIDAR_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
RuView Sensing Device Access loads about 737 tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 307 words of instructions outside code blocks.
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.
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.
The full file from ruvnet/RuView at commit 0ef6b96, republished under its MIT licence (© ruvnet). 307 words, ~737 tokens.
.claude/skills/device-access/SKILL.md (or your agent's skills folder).Hardware tools must run on the host the device is plugged into. A cloud
agent cannot see your USB ports. Run npx @ruvnet/ruview locally, start a
local Claude Code session there (claude remote-control in the repo if you
want to drive it from the Claude app), or add the machine as an SSH host.
npx @ruvnet/ruview doctor --group python,serial,devices,remote
npx @ruvnet/ruview devices # USB VID:PID → likely ESP32 / mmWave / RPLIDAR + confirm command| Device | Command | Confirms |
|---|---|---|
| ESP32 node (USB) | ruview doctor --port <p> --probe, ruview monitor --port <p> | chip id; CSI callbacks in the serial log (the monitor never resets the node; C6/S3 USB-Serial/JTAG builds log on the native USB port) |
| ESP32 / Realtek node (network) | ruview esp32 --seconds 10 [--udp-port 5005] | per-node CSI rate, sequence loss, RSSI, CSI shapes, device vitals; Realtek RAC1 CSI and heartbeat-only senders |
| Realtek RTL8721Dx (USB, PL2303) | ruview monitor --port <p> --baud 1500000 | RUVIEW_CSI: frame # lines in the Ameba log |
| Live CSI → kernel | ruview esp32 --seconds 45 --analyze [--node-id N] [--backend napi] | kernel vitals summary at the measured frame rate (no reference measurement) |
| 60 GHz MR60BHA2 | ruview mmwave --port <p> --model mr60bha2 | valid frames, checksum errors, presence/distance/device HR+BR |
| 24 GHz LD2410 | ruview mmwave --port <p> --model ld2410 | target state and distances |
| RPLIDAR | ruview lidar --source rplidar --port <p> [--baud 115200] | points, revolutions, range, angular coverage |
| iPhone LiDAR | export RUVIEW_LIDAR_TOKEN=…; ruview lidar --source iphone --url ws://HOST:8787/ws/lidar | depth frame rate, confident fraction, median depth |
The UDP capture cannot share port 5005 with a running sensing server; stop the server or have the nodes target another port.
npx @ruvnet/ruview hosts add --name lab-pi --ssh ruv@lab-pi.local
ssh ruv@lab-pi.local true # pin the host key once
npx @ruvnet/ruview hosts run --host lab-pi --tool ruview_devices_scan
npx @ruvnet/ruview hosts run --host lab-pi --tool ruview_mmwave_read --args-json '{"port":"/dev/ttyUSB0"}'Remote hosts run a pinned @ruvnet/ruview and accept only read-only tools.
Flash, train, and calibrate on the host itself.
Device readouts are MEASURED readings, not accuracy results. mmWave
heart/breathing values are the radar's own estimates. Hardware validation
still means a captured log or stream from real silicon, recorded with the
command that produced it.
© ruvnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in harness/ruview/.claude/skills/device-access of ruvnet/RuView.
Open the folder on GitHubat commit 0ef6b96
RuView Sensing Device Access 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| RuView Sensing Device Access this skillruvnet/RuView | 97k | — | ~737 | Automated safety check: Pass | MIT | |
| Esp32 Firmware Engineeralxv2016/folloup-sticky | 115 | 1 repos | ~3.8k | Automated safety check: Pass | GPL-3.0 | |
| Embedded DebugFastLED/FastLED | 7.5k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Openscad MechanicalBlueAndi/Pixelix | 443 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Auto EmbeddedDunCanYounG-1/MICU-auto-embedded | 253 | — | ~1.6k | Automated safety check: Pass | CC-BY-NC-4.0 | |
| Esp32 Log TriageFastLED/FastLED | 7.5k | — | ~1.9k | Automated safety check: Pass | MIT |
alxv2016/folloup-sticky
ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.
FastLED/FastLED
Firmware crash analysis, stack trace decoder, and register dump interpreter for ESP32/ARM/AVR platforms.
BlueAndi/Pixelix
Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings.
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…
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.
RomanLut/hx_espnow_rc
Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb.
ruvnet/RuView
Reference for RuView's research-grade WiFi sensing features: multistatic fusion, cross-viewpoint geometry, persistent field models, RF tomography, intention signals and mesh security.
ruvnet/RuView
Runs RuView's WiFi sensing applications: presence, vital signs, activity and fall detection, pose estimation, sleep monitoring and environment mapping.
ruvnet/RuView
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.
ruvnet/RuView
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.
ruvnet/RuView
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.
ruvnet/RuView
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.
Works with
Categories
Reaches RuView sensing hardware, such as ESP32 CSI nodes, mmWave radars, RPLIDAR and iPhone LiDAR, from the host it is plugged into or over SSH. Hardware tools must run on the host the device is physically plugged into, since a cloud agent can't see USB ports; the skill covers starting ruview locally, running a local Claude Code session there, or adding the machine as a read-only SSH host. A doctor and devices command finds attached hardware by its USB vendor and product id and suggests the right confirm command.
RuView Sensing Device Access fits situations like: finding and confirming an attached ESP32 or mmWave sensor; reading live CSI, radar or LiDAR data from a connected device; reaching a sensing device on another machine over SSH.
Run `npx skills add ruvnet/RuView --skill device-access -a claude-code`. Or copy the skill folder (harness/ruview/.claude/skills/device-access in ruvnet/RuView) into .claude/skills/device-access in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ruvnet/RuView --skill device-access -a codex`. Or copy the skill folder (harness/ruview/.claude/skills/device-access in ruvnet/RuView) into .agents/skills/device-access in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruvnet/RuView --skill device-access -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/device-access, .gemini/skills/device-access, .github/skills/device-access and .opencode/skills/device-access in your project.
Going by SKILL.md and its folder, RuView Sensing Device Access needs the command-line tools its instructions call (npx, ssh and claude) and credentials named RUVIEW_LIDAR_TOKEN. Our summary lists: The `ruview` CLI (`npx @ruvnet/ruview`); Local access to the USB device, or an SSH host for remote ones.
SKILL.md contains no URLs. Its commands use npx and ssh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
RuView Sensing Device Access is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 737 tokens (SKILL.md is roughly 2.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with RuView Sensing Device Access: 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.
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.