Content
88%Weight 40%Scale 1-5Reviews 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.
| Dimension | Reasoning | Score |
|---|---|---|
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 |