From mcu-go
Orchestrate the full lifecycle for a brand-new MCU, STM32, or STM32CubeMX firmware project from requirements through hardware interface, software design, CubeMX framework generation, implementation, and optional on-target debugging. Use when Codex needs to create a project from scratch, turn requirements into firmware code, generate an end-to-end new project, or establish a new versioned docs/releases release snapshot. Do not use for additions, fixes, refactors, hardware changes, or other modifications to an existing project; route those requests to project-iteration-orchestrator.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mcu-go:mcu-project-build-orchestratorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill as the entry point for building a new MCU or STM32CubeMX firmware project from zero. It coordinates downstream skills, enforces stage gates, and keeps project state in the existing release artifacts instead of creating a separate master plan document.
Use this skill as the entry point for building a new MCU or STM32CubeMX firmware project from zero. It coordinates downstream skills, enforces stage gates, and keeps project state in the existing release artifacts instead of creating a separate master plan document.
Do not use this skill for existing project changes. If the request is to add, modify, remove, fix, refactor, or change hardware in an existing MCU/CubeMX project, use project-iteration-orchestrator instead.
The main agent must retain ownership of this orchestrator. Do not delegate mcu-project-build-orchestrator itself to a sub agent.
Main agent responsibilities that must not be delegated:
Eligible downstream work may be dispatched to a sub agent only when its inputs are complete, its output boundary is explicit, and it can run without interactive decisions:
hardware-interface-writer: may be delegated for source extraction, feasibility analysis, and a hardware.json draft when requirements identify a concrete MCU model, the matching ST XML is obtainable, and module sources are available. Missing references, infeasible hardware, or conflicting pin/module choices must return to the main agent.software-design-doc-writer: may be delegated to draft software_design.md when requirements.md and hardware.json are complete and no feasibility blocker remains.cubemx-framework-guide: may be delegated to draft cubemx_build.md or review an already generated CubeMX skeleton. Waiting for the user to generate CubeMX output and asking the user to correct CubeMX settings remain main agent responsibilities.tdd-development: may be delegated for independent test-first implementation slices when software_design.md is complete, behavior can be exercised by host-side tests, and explicit write boundaries are available. Prefer it for new feature behavior, design-driven implementation, complex logic, and user-requested TDD. The main agent still owns slice selection, architecture, shared-state sequencing, final integration, and acceptance reporting.cubemx-code-implementation: may be delegated only for independent module drivers, direct non-TDD implementation, build/flash-oriented work, or independent implementation review. Business logic, HMI flow, scheduling, startup behavior, callback integration, and final application integration remain main agent responsibilities.embedded-gdb-openocd-debug: may be delegated only for complete one-shot scripted checks with known firmware artifacts, probe settings, and expected outputs. Interactive debug sessions remain main agent responsibilities.Do not delegate requirements-doc-filling; it is a continuous interactive requirements collection task and must stay with the main agent.
Every sub agent task must specify the input files, expected output paths, implementation boundaries, forbidden edit areas, and required report contents. If a sub agent finds missing inputs, infeasible hardware, CubeMX/code conflicts, scope expansion, or a need for user confirmation, it must stop and report back to the main agent instead of deciding independently.
Use docs/releases/<version> as the default document path.
When the user names a target version, use that version exactly after sanitizing it to a directory-safe name such as v1.0.
When the user does not name a target version:
docs/releasesv0.1 if no historical release existsFor new projects, do not create project_plan.md. Use these artifacts to express project state:
docs/releases/<version>/
requirements.md
hardware.json
software_design.md
cubemx_build.md
notes.md
Run the full six-stage flow in order:
requirements-doc-filling directly to create docs/releases/<version>/requirements.md.hardware-interface-writer work to a sub agent according to the delegation policy to create docs/releases/<version>/hardware.json.software-design-doc-writer work to a sub agent according to the delegation policy to create docs/releases/<version>/software_design.md.cubemx-framework-guide work to a sub agent according to the delegation policy to create docs/releases/<version>/cubemx_build.md; then the main agent waits for the user to generate the CubeMX framework and controls review of the generated skeleton.tdd-development directly or dispatch eligible independent TDD slices when the software design defines testable behavior, host-side tests are practical, or the user explicitly asks for TDDcubemx-code-implementation directly or dispatch eligible work for direct implementation, build integration, flashing, non-TDD implementation, or CubeMX/HAL-heavy work where host tests are not the primary pathembedded-gdb-openocd-debug checks to a sub agent according to the delegation policy only when on-target debugging is needed and the hardware/debug environment is available.When invoking or following downstream skills, explicitly pass the selected release directory and the outputs from completed stages. When dispatching a sub agent task, also pass the exact input files, expected output paths, allowed edit scope, forbidden edit areas, stop conditions, and required report contents.
Enforce these gates before moving forward:
requirements.md exists.software_design.md exists.If a gate is blocked, report the missing input, ask only the focused questions needed to unblock it, and continue from the same stage after the blocker is resolved.
Before reporting completion of a new-project build, verify as much as practical:
notes.md or the final response records verification results and remaining risksnpx claudepluginhub aregues/mcu-go --plugin mcu-goProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.