CtrlK
BlogDocsLog inGet started
Tessl Logo

ruview-hardware-setup

ESP32-S3 / ESP32-C6 firmware build, flash, WiFi provisioning, and serial monitoring for RuView CSI sensing nodes. Use when setting up physical hardware, reflashing a node, or debugging a device that isn't streaming CSI.

76

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced hardware runbook with genuine gotchas (MSYS2 subprocess workaround, NVS erase-on-flash, COM8 vs COM9) and a real error-recovery table. The only slack is inline bulk that belongs in reference files and a padded safety-warning paragraph.

Suggestions

Move the 'Firmware release process (for maintainers)' section into a separate reference file (e.g. references/release.md) and keep a one-line pointer in SKILL.md — it is not needed for the routine build/flash/provision workflow the skill's description triggers on.

Compress the board-heat warning to its actionable core (tiny clones + sustained radio/DSP current = regulator risk; ensure airflow, check by touch) and move the anecdote to a reference file.

Replace the hardcoded inline PATH/env-var block with a pointer to 'CLAUDE.local.md' (already cited as the proven source), keeping only the MSYSTEM*-stripping subprocess pattern inline.

DimensionReasoningScore

Conciseness

The body is dense and command-first — no explanations of concepts Claude already knows — but the board-warning paragraph ('At least one field report: boards ran hot ... check it by touch during the first several minutes') is narrative padding that could be halved, and the embedded PATH string duplicates what 'CLAUDE.local.md' already holds. Not 5: those passages could be trimmed without losing information; not 3: nearly everything else earns its tokens.

4 / 5

Actionability

Every step is copy-paste ready: the full ESP-IDF Python-subprocess script with exact env vars and PATH, the esptool write_flash command with real offsets, provision.py invocations with flags, the pyserial monitor snippet, and 'cargo run -p wifi-densepose-sensing-server'. Build outputs are enumerated as concrete paths. Not 4: no key details are missing for the common 8MB/4MB build-and-flash cases.

5 / 5

Workflow Clarity

The four-step sequence (build → flash → provision → 'Confirm CSI stream') ends in an explicit validation step, and the 'Common issues' table supplies feedback loops (e.g., 'No CSI frames at the sink → Re-run provision.py; try --channel ...; drop --filter-mac'), while the release checklist adds 'Verify on real hardware (COM8) before publishing'. The destructive NVS gotcha ('flashing replaces the entire csi_cfg namespace') is flagged. Not 4: validation and error recovery are explicit, not implicit.

5 / 5

Progressive Disclosure

Sections are well organized and the 'Reference' section points one level deep to clearly named artifacts ('CLAUDE.local.md', 'docs/adr/ADR-028-esp32-capability-audit.md', 'docs/build-guide.md', 'docs/TROUBLESHOOTING.md'), but no bundle files exist and the ~120-line body inlines content that could be split out — notably the entire 'Firmware release process (for maintainers)' section and the full inline PATH/env block. Not 5: content that belongs in a reference file is inlined; not 3: structure is good and references are clearly signaled, not buried.

4 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A model description: concrete third-person action list, explicit 'Use when' triggers in natural user language, and a distinctive hardware niche. Third person voice is used correctly throughout.

DimensionReasoningScore

Specificity

Four concrete actions are named — 'firmware build, flash, WiFi provisioning, and serial monitoring' — anchored to a specific domain ('ESP32-S3 / ESP32-C6 ... RuView CSI sensing nodes'), covering the skill's full operational scope. Not 4: there are no coverage gaps; the listed actions comprehensively match what the skill body actually does.

5 / 5

Completeness

Both halves are explicit: the 'what' ('firmware build, flash, WiFi provisioning, and serial monitoring') and the 'when' ('Use when setting up physical hardware, reflashing a node, or debugging a device that isn't streaming CSI'). This matches the anchor-5 good example's structure verbatim. Not 4: the when-clause is not merely present but gives three concrete trigger scenarios.

5 / 5

Trigger Term Quality

Natural user phrases are covered: 'reflashing a node', 'debugging a device that isn't streaming CSI', 'setting up physical hardware', plus device names (ESP32-S3/C6) and 'WiFi provisioning'. 'Reflashing' supplies a synonym for 'flash', and these are exactly what a user managing this hardware would say. Not 4: no commonly used variation is missing for this domain.

5 / 5

Distinctiveness Conflict Risk

The 'RuView CSI sensing nodes' + ESP32-S3/C6 niche is highly specific, so it would not fire for generic firmware, WiFi, or serial tasks. Not 4: even closely related firmware skills wouldn't compete for these triggers.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
ruvnet/RuView
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.