AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Embedded Project Setup

skill-victory-7291-project-scaffold-setup-skills-embedded-project-setup · by Victory-7291

Set up modern C or STM32/Cortex-M embedded projects from scratch with VS Code, clangd, clang-format, clang-tidy, CMakePresets.json, Ninja, arm-none-eabi-gcc, arm-none-eabi-gdb, firmware ELF/BIN/HEX outputs, OpenOCD, ST-Link or J-Link, Cortex-Debug, Docker/GitHub Actions, and layered CMSIS/HAL/LL/bare-metal structure. Use when Codex is asked to bootstrap, standardize, or modernize embedded firmwar…

No reviews yet
0 installs
31 views
0.0% view→install

Install

$ agentstack add skill-victory-7291-project-scaffold-setup-skills-embedded-project-setup

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-victory-7291-project-scaffold-setup-skills-embedded-project-setup)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
22d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Embedded Project Setup? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Modern Embedded Project Setup

Overview

Create or modernize embedded C firmware around this pipeline:

VS Code -> clangd -> clang-format -> clang-tidy -> CMake -> Ninja -> GCC -> ELF/BIN -> OpenOCD -> MCU

Treat editor analysis, static checks, build generation, cross compilation, flashing, and debug as separate stages. This keeps local development, CI, and hardware bring-up predictable.

Workflow

  1. Identify the target before writing files.
  • Capture MCU, board, debug probe, flash/RAM size, CPU core, FPU/float ABI, OpenOCD target file, and whether the project will use CMSIS, HAL, LL, bare-metal register access, or a mix.
  • If unspecified, default to a minimal STM32G030C8T6 smoke project: Cortex-M0+, 64 KiB flash, 8 KiB RAM, ST-Link, OpenOCD target stm32g0x.
  1. Generate or update the project.
  • For greenfield scaffolding, run from this skill directory:
python3 scripts/scaffold_embedded_project.py \
  --name firmware \
  --out /path/to/workspace/firmware
  • For existing firmware, inspect CMakeLists.txt, CMakePresets.json, toolchain files, linker scripts, startup files, .vscode/, .clangd, .clang-tidy, flash/debug scripts, Dockerfile, CI workflows, and local docs before editing.
  1. Preserve the embedded layer model.
  • Keep application logic above board support and drivers.
  • Keep CMSIS as the lowest common Cortex-M/device layer when vendor headers are available.
  • Use HAL for portability and team velocity, LL for tighter peripheral paths, and direct registers only for startup, BSP smoke tests, bootloaders, or performance-critical code.
  • Do not vendor-copy STM32Cube or HAL trees blindly; prefer a documented submodule, package, or user-provided vendor directory.
  1. Wire the toolchain.
  • Use CMake presets for stm32-debug, stm32-release, and stm32-analyze.
  • Use a cmake/arm-none-eabi-gcc.cmake toolchain file.
  • Export compile_commands.json for clangd.
  • Use Ninja for builds.
  • Produce .elf, .bin, .hex, .map, and size output.
  1. Wire editor, flashing, and debug.
  • Recommend VS Code extensions: clangd, CMake Tools, Cortex-Debug.
  • Disable competing IntelliSense when clangd owns semantic analysis.
  • Use OpenOCD with ST-Link or J-Link as the GDB server.
  • Keep scripts/build.sh, scripts/analyze.sh, scripts/flash.sh, and scripts/openocd_server.sh as simple command-line entry points.

Validation

Run what is available locally:

cmake --preset stm32-debug
cmake --build --preset stm32-debug
cmake --preset stm32-analyze
cmake --build --preset stm32-analyze

Run flashing or debug validation only when hardware is attached and the user expects hardware access:

bash scripts/flash.sh
bash scripts/openocd_server.sh

If arm-none-eabi-gcc, OpenOCD, or hardware is unavailable, report the skipped step and leave the project ready for that tool.

References

  • Read references/embedded-project-blueprint.md when choosing directory layout, CMake/toolchain settings, STM32 software layers, flashing/debug flow, or CI design.
  • Read the scaffold script before changing generated linker/startup defaults, supported MCU arguments, or generated command entry points.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.