CtrlK
BlogDocsLog inGet started
Tessl Logo

provision-node

Build, flash, and provision an ESP32-S3/C6 CSI node for RuView — firmware variant choice, ESP-IDF Windows-subprocess flow, NVS/WiFi/channel/MAC-filter overrides.

65

Quality

78%

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

Fix and improve this skill with Tessl

tessl review fix ./harness/ruview/.claude/skills/provision-node/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

81%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 tight, dense, action-oriented skill body with a clear sequenced workflow and an explicit validation checkpoint before calibration. The weaknesses are modest: inline version pins that could drift, flash coverage for only one of the three firmware variants, and unexplained provenance for the helper commands.

Suggestions

Isolate version-sensitive pins (ESP-IDF v5.4, release v0.8.1-esp32, issue/ADR references) in a dedicated pinned-versions section so the main flow stays stable.

Provide flash offsets (or a pointer to where `ruview_node_flash` yields them) for the c6 and s3-4mb variants, not just the S3 8MB image.

State where `ruview_node_flash` and `ruview_node_monitor` live — a sibling skill, script in the repo, or bundled file — so navigation is unambiguous.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — no concept explanations, just facts, offsets, and commands — but it embeds time-sensitive version/date-adjacent details inline ("ESP-IDF v5.4", "GitHub release v0.8.1-esp32", issue refs "#1000"/"#1107", "hardware-validated on S3 QFN56 rev v0.2") rather than isolating them in a pinned-versions/deprecated section. This sits at the 4 anchor ("efficient; minor instances that could be trimmed") rather than 5, whose "every token earns its place" bar the parenthetical issue references and validation asides don't quite meet.

4 / 5

Actionability

Guidance is mostly copy-paste ready: an exact esptool command with pinned offsets, two complete provision.py invocations with argument examples, and concrete PASS criteria for monitoring. It stays below the 5 anchor because flash offsets are given only for the s3-8mb image ("Offsets for the S3 image") while the c6 and s3-4mb variants are presented as first-class options without their flash commands, leaving a minor but real gap; it is well above the 3 anchor since all shown commands are executable, not pseudocode.

4 / 5

Workflow Clarity

The four-step sequence (pick variant → flash → provision → confirm CSI) is clearly ordered and ends with an explicit validation checkpoint: "PASS criteria: serial shows `CSI cb #...` callbacks" plus the failure loop "No callbacks → the node isn't capturing; do not proceed to calibration." This matches the 5 anchor (explicit validation steps and error-recovery feedback), and the destructive flash step is guarded by the note that `ruview_node_flash` returns the pinned command rather than running unattended.

5 / 5

Progressive Disclosure

The ~45-line body is well organized into numbered sections and needs no bundle files (none exist in references/, scripts/, or assets/), which per the simple-skills note supports a top score. However, `ruview_node_flash` and `ruview_node_monitor` are invoked without any indication of where they come from (sibling skill, script, or repo path), a minor navigation gap that places it at the 4 anchor ("good structure; minor organization gaps") rather than 5.

4 / 5

Total

17

/

20

Passed

Description

75%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 highly specific, distinctive description in proper third-person voice that names concrete actions and domain-natural trigger terms. Its main weakness is the complete absence of an explicit "Use when..." trigger clause, which caps completeness at 3 and slightly limits trigger coverage.

Suggestions

Add an explicit trigger clause, e.g. "Use when bringing an ESP32 CSI node online, flashing RuView firmware, or setting WiFi/channel/MAC-filter provisioning on a sensor node."

Include natural user phrasings as trigger synonyms ("set up", "deploy", "bring online", "sensor node") so non-jargon requests can match.

Spell out the acronym CSI once (WiFi channel-state-information sensing) to avoid collision with camera-interface CSI requests.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete actions — "Build, flash, and provision an ESP32-S3/C6 CSI node", "firmware variant choice", "ESP-IDF Windows-subprocess flow", "NVS/WiFi/channel/MAC-filter overrides" — comprehensively covering the skill's capabilities in third-person voice. It exceeds the 4 anchor ("several specific actions; minor gaps") because every major body activity (variant choice, flashing, provisioning, overrides) is named with no coverage gaps.

5 / 5

Completeness

The "what" is clear and specific (build/flash/provision an ESP32 CSI node with variant and override handling), but there is no "Use when..." clause or equivalent explicit trigger guidance — usage is only weakly implied by the action verbs. Per the judging guideline, a missing "Use when..." clause caps completeness at 3, which also matches the anchor "Has a clear 'what' but 'when' is missing or only weakly implied" rather than the 4 anchor where an explicit 'when' is present.

3 / 5

Trigger Term Quality

Good natural-term coverage for the domain: "flash", "provision", "ESP32-S3/C6", "WiFi", "channel", "MAC-filter", "ESP-IDF", "NVS" are words a user working on this task would naturally say. It falls short of the 5 anchor (comprehensive synonyms/extensions, e.g. "set up", "deploy", "bring online") but clearly above the 3 anchor ("missing common variations") since both user-facing and technical trigger words are well represented.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — ESP32-S3/C6 CSI node provisioning for the named RuView project, including a Windows-subprocess ESP-IDF detail — with distinct triggers unlikely to fire for unrelated skills. It matches the 5 anchor ("clear niche with distinct triggers; minimal conflict risk") and is far more distinctive than the 4 anchor's broad "closely related skills" overlap concern.

5 / 5

Total

17

/

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.