<< All versions

Skill v1.0.1

currentAutomated scan100/100
jl-codes/platformio-mcp/hardware-in-the-loop-test

chore: update Vitest past security advisory (#24)

──Details
PublishedSeptember 12, 2026 at 05:10 PM
Content Hashsha256:ee8aa377c16ea0c5...
Git SHA40e12ccb8e85
Compare with v1.0.0
──Files
Files (1 file, 2.2 KB)
SKILL.md2.2 KBactive
SKILL.md · 50 lines · 2.2 KB

version: "1.0.1" name: hardware-in-the-loop-test description: Validate firmware behavior on real hardware rather than compilation-only checks. Use when running physical acceptance tests, confirming boot markers, validating sensor output, or checking runtime timing/telemetry.


Hardware-in-the-Loop Test

Reading results: a non-zero exit means look at BOTH streams. An operation
that ran but failed (a build with errors) puts success: false on stdout;
one that could not run (bad arguments, policy, a busy port) puts errorType on
stderr with stdout empty. Capture both (--json 2>&1). See the
pio-manager skill for the full contract.

Purpose

Use this skill to validate firmware behavior on a real device, not just through compilation.

Safety Rules

  • Ask before flashing.
  • Do not assume physical wiring is safe.
  • Do not activate motors, heaters, lasers, relays, pumps, or high-power outputs without explicit user approval.
  • Keep tests bounded by timeout.
  • Save logs and artifacts.

Workflow

  1. Define finite expected markers, rejected patterns, timeout, stability window, and safe physical behavior.
  2. Resolve one project, environment, board, and stable device binding with pio-agent target-resolve; stop on ambiguity or replacement.
  3. Validate and build with pio-agent agent-build-diagnose.
  4. Ask for an approval scoped to the exact flash workflow and target binding.
  5. Run pio-agent agent-flash-monitor-verify after approval.
  6. Check bounded serial markers, timing, or telemetry and retain task/log/artifact references.
  7. Mark build, flash, monitor, and assertions independently as pass, fail, or inconclusive.
  8. Cancel runaway tracked tasks with pio-agent task-cancel <id>; confirm cleanup with pio-agent task-history --project-dir <dir>, pio-agent monitor-status, and pio-agent lock status.
  9. Save redacted evidence and summarize the result.

Scheduled HIL writes require a pre-existing, exact, expiring lab_runner policy. A saved prompt cannot create, approve, or broaden that policy, and default scheduled monitoring must remain read/build/monitor-only.

Example Test Definition

yaml
name: esp32_boot_marker
board: esp32dev
expected:
serial_contains: BOOT_OK
timeout_seconds: 15
← v1.0.0All versions