mcpField
A
arduino-workflow-router

arduino-workflow-router

github.com/wedsamuel1230Development2851 installsUpdated 2w ago
Repository

About arduino-workflow-router

arduino-workflow-router is an entry-point skill for complete or cross-discipline Arduino and embedded projects. It routes work to specialist skills based on the task, board, toolchain, and evidence needs, with a defined order for combined workflows.

Key features

  1. 01Routes work to specialist skills
  2. 02Sets board and toolchain intake steps
  3. 03Defines trigger precedence and load order
  4. 04Provides combined-workflow sequences
  5. 05Requires explicit assumptions and evidence

Use cases

  1. 01Route a combined firmware and hardware task
  2. 02Choose skills for a board-specific workflow
  3. 03Plan evidence for a multi-stage embedded project

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wedsamuel1230/arduino-skills --skill arduino-workflow-router

After installing, type/arduino-workflow-routerin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
board-intake.md
connected-device-security.md
failure-recovery.md
toolchain-selection.md

Details

From the project README

Arduino Workflow Router

Use this skill as the concise entrypoint for complete or cross-discipline embedded work. For a focused task with a confirmed board and one stage, load the specialist skill directly.

Recommended lifecycle entry

For any physical or multi-session request, load embedded-project-loop first. It establishes the goal, one next action, evidence boundary, rollback path, and user-owned physical gate. Then return here for board and toolchain routing.

Load First

  1. Read ../../docs/arduino-skill-contract.md.
  2. If the work spans sessions or physical actions, embedded-project-loop is the recommended first skill; create its goal/next-todo state before implementation and keep it open until the evidence gate is satisfied.
  3. Fill ../../docs/board-support/board-profile-template.md or state why it is unnecessary.
  4. When a named board or board family must be resolved, load ../board-support/SKILL.md and its indexed profile before selecting pins.
  5. Read references/board-intake.md for board and hardware checks.
  6. Read references/toolchain-selection.md for IDE, CLI, PlatformIO, or vendor version and library compatibility.
  7. Select specialist skills from the routing table below.
  8. Read references/failure-recovery.md before upload, boot, power, or firmware recovery actions; read references/connected-device-security.md for any networked or updateable device.

This is the load-first order. Load on demand: references are loaded only when their trigger applies, so the router stays under 500 lines and detailed variants remain progressive disclosure.

Trigger precedence

  • For combined, underspecified, or cross-discipline requests, this router owns the first route. Load it before any overlapping specialist, including arduino-project-builder or board-selection.
  • For physical or multi-session requests, load embedded-project-loop before this router, then return to this router for the combined specialist route.
  • For a single-stage request with a confirmed board and toolchain, load the narrowest specialist directly.
  • For a named-board reference or capability lookup, board-support owns the exact identity and source-backed profile. board-selection owns choosing or replacing a board from requirements and may consume its handoff.
  • A board-choice request without implementation, wiring, or lifecycle work may start at board-selection; once another discipline appears, return to this router and preserve the combined-workflow order.
  • Do not load both arduino-serial-monitor and a second serial-debugging skill; the existing serial monitor owns structured runtime evidence.

Intake Gate

Do not invent a pin, voltage, current limit, memory size, peripheral, protocol, library version, or upload command. Ask for the missing value or proceed with a clearly labeled assumption and a verification step. Record the exact board, framework, toolchain, host, dependency versions, and desired proof stage.

Routing Table

NeedLoad nextEvidence focus
Requirements or board choiceboard-selection, then board-support, then arduino-project-builderdecision and design
Named board reference or capability lookupboard-support, then the relevant specialistexact identity and source-backed constraints
Pin map or GPIO declarationsboard-support, then pin-assignment, then wiring-safety-checkboard constraints and hardware
Wiring, voltage, current, or pull-upswiring-safety-check, power-budget-calculator, circuit-debuggerhardware
ADC/sensor noise, sampling, filtering, or signal conditioningboard-support, wiring-safety-check, sensor-signal-filtering, then sensor-calibration-workbench after detection is provensignal-chain design and measured hardware behavior
Code pattern or board abstractionarduino-code-generator, non-blocking-patterns, memory-budgetingbuild and memory
Library or framework dependencylibrary-selection, then the code/project skillcompatibility and memory
Datasheet, component, or protocol uncertaintydatasheet-interpreter, i2c-bringup-diagnosticianhardware assumptions
Compile, board discovery, upload, or portarduino-cli-skill plus error-message-explainerbuild and upload
Runtime logs or field symptomsarduino-serial-monitor, error-message-explainer, hardware-tddhardware and system
Timing, blocking, or watchdog risknon-blocking-patterns, hardware-tddbuild and system
Memory or footprint riskmemory-budgeting, library-selectionbuild and runtime
Calibration or sensor driftsensor-calibration-workbench after detection is provensystem
Complete applicationarduino-project-builder, then the relevant domain skillsdesign and build
Connected update or field deploymentota-deployment-guardian plus the security referencedeployment
Parts, PCB-adjacent, or enclosure workbom-generator, enclosure-designer, readme-generatordesign and maintenance
Host/simulation/target test planhardware-tdd and embedded-project-loop when physical work is pendingevidence
Multi-session, physical, or recovery workembedded-project-loop first, then this routerdurable state and user-owned gate

Combined Workflows

Skills can be used together. Keep one owner for each decision and pass its artifacts to the next skill. For a combined request, use this concise default order:

loop (if long-running) -> board selection/intake -> wiring safety -> library/memory -> project/code/timing -> toolchain build/upload -> serial and hardware tests -> system/calibration -> deployment/security/maintenance

Default combined order: arduino-workflow-router -> board-selection -> board-support -> pin-assignment -> wiring-safety-check -> sensor-signal-filtering -> non-blocking-patterns -> arduino-serial-monitor -> hardware-tdd. Start with embedded-project-loop when the work spans sessions or physical gates, then keep its next-todo and evidence ledger open through the later stages.

If the user already supplied an exact, supported board identity, skip board-selection and begin with board-support; never skip board-support before pin or electrical advice.

  • Battery-powered Wi-Fi sensor: board intake -> datasheet -> power -> project builder -> code generator -> toolchain -> serial/calibration -> OTA security -> maintenance README.
  • Uno R4 WiFi upload incident: board-family reference -> IDE/CLI discovery -> serial and error diagnosis -> USB/power checks -> boot recovery -> upload proof -> runtime/system proof. See ../../docs/board-support/uno-r4-family.md.
  • Robot controller: board intake -> project builder -> power/BOM -> circuit and code -> serial/system tests -> enclosure -> signed update and rollback.
  • Multi-board sensor library: board profiles -> datasheets/protocol bringup -> code generator -> IDE/CLI/PlatformIO branches -> per-board build proof and documented unsupported behavior.
  • Four-button ESP32 controller: board selection -> pin assignment -> wiring safety -> non-blocking debounce -> code generator -> build proof -> hardware gate -> serial/system evidence.

Do not treat a table row as proof that a skill was run. Report which skills were actually used, which artifacts they produced, and which evidence stages remain unverified.

Output Contract

Use ../../docs/arduino-skill-contract.md: state assumptions, required tools and versions, implementation steps, tests/evidence by proof stage, known limitations, and recovery/security notes.

Comments

Markdown supported