Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/Victory-7291/project-scaffold-setup-skillsnpx agentmods add skills/victory-7291/project-scaffold-setup-skills/embedded-project-setupWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/victory-7291/project-scaffold-setup-skills/embedded-project-setup)<a href="https://agentmods.dev/skills/victory-7291/project-scaffold-setup-skills/embedded-project-setup"><img src="https://agentmods.dev/badge/skills/victory-7291/project-scaffold-setup-skills/embedded-project-setup/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/victory-7291/project-scaffold-setup-skills/embedded-project-setup"><img src="https://agentmods.dev/badge/skills/victory-7291/project-scaffold-setup-skills/embedded-project-setup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00095 | $0.03727 |
| Opus 5.5 | $0.00038 | $0.01491 |
| Sonnet 5.5 | $0.00019 | $0.00745 |
| Haiku 4.5 | $0.00010 | $0.00373 |
Grade A, and why
embedded-project-setup scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Modern Embedded Project Setup
Overview
Create or modernize embedded firmware around a shared engineering pipeline, then adapt the target-specific compiler, SDK, flashing, and debug pieces to the selected MCU:
VS Code -> clangd -> clang-format -> clang-tidy -> CMake/CMakePresets -> Ninja -> target compiler/SDK -> firmware artifacts -> flash/debug -> MCU
Treat editor analysis, static checks, build generation, cross compilation, artifact generation, flashing, and debug as separate stages. First classify the user's working directory and host platform, then either generate a greenfield scaffold or modernize the existing firmware pipeline.
Workflow
-
Determine the user's working directory and whether firmware already exists.
- Check the user-provided path or current working directory before writing files.
- Treat the directory as an existing firmware project if it already has source files, linker scripts, startup files, CubeMX files, CMake/Make/build scripts, vendor trees, flash/debug scripts, editor settings, CI, docs, or git history.
- For existing firmware, inventory the full development pipeline before editing: build system, toolchain file, compiler version, MCU/board assumptions, linker/startup flow, vendor dependency model, flash/debug flow, tests or host-side checks, formatting/linting/static analysis, CI, and firmware artifacts.
-
Detect the user's host development environment.
- Determine OS and architecture: macOS/Linux/Windows plus arm64 or x64. Use local commands such as
uname -s,uname -m, or PowerShell/.NET runtime information where appropriate. - Select a host profile:
macos-arm64,macos-x64,linux-x64,linux-arm64,windows-x64, orwindows-arm64. - If the agent is running somewhere other than the user's real development machine, ask for the user's OS/architecture instead of assuming the sandbox matches their workstation.
- Determine OS and architecture: macOS/Linux/Windows plus arm64 or x64. Use local commands such as
-
Identify the firmware target before writing files.
- Capture target ecosystem first: STM32/Cortex-M, ESP32/ESP-IDF, AVR/Arduino or bare-metal avr-gcc, RP2040/Pico SDK, Nordic nRF/nRF Connect SDK or Zephyr, Zephyr/RTOS board target, or another MCU family.
- Capture the concrete MCU or board, firmware package/SDK, dependency path, package version/tag, debug probe, flash/RAM map when relevant, CPU core, FPU/float ABI when relevant, flash tool, debug server, and whether the project will use vendor HAL/SDK, RTOS APIs, CMSIS, bare-metal register access, or a mix.
- If the user has not provided the target, ask for the MCU/board and preferred framework before writing files. Do not silently default to any STM32, ESP32, AVR, RP2040, Nordic, or Zephyr board.
- If the user explicitly wants a target-agnostic starter before hardware is known, generate only a portable build-smoke scaffold with no hardware register writes, no final flash command assumptions, and clear TODOs for target selection.
What ships with it
15 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 481 B
- assets/.clang-tidy 437 B
- assets/.clangd 127 B
- assets/.dockerignore 53 B
- assets/CMakeLists.txt 1.7 KB
- assets/CMakePresets.json 1.2 KB
- assets/Dockerfile 399 B
- assets/extensions.json 193 B
- assets/launch.json 542 B
- assets/settings.json 487 B
- assets/tasks.json 1.7 KB
- evals/evals.json 6.1 KB
- references/embedded-project-blueprint.md 11 KB
- references/firmware-package-matrix.md 9.1 KB
- scripts/scaffold_embedded_project.py 39 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 161 lines · 95 tokens per session scan A 6c2241d403ff
embedded-project-setup is a skill published in the GitHub repository Victory-7291/project-scaffold-setup-skills (8 stars, last pushed 3mo ago), licensed MIT. It adds 95 tokens to every session and 3,727 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
embedded-project-setup compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| embedded-project-setupVictory-7291/project-scaffold-setup-skills | Skill | 8 | 3mo ago | MIT | A | 95 | Codex |
| sticky-devicevaro6/reTerminal-sticky-skill | Skill | 8 | 2mo ago | MIT | A | 93 | Claude Code |
| btp-ba2-clivulhunt-re/skills | Skill | 16 | 8mo ago | none | A | 56 | Claude Code |
| doca-dtsNVIDIA/skills | Skill | 3.9k | yesterday | Apache-2.0 | A | 240 | Claude Code, Codex |
| ln-92-container-engineerlevnikolaevich/claude-code-skills | Skill | 587 | yesterday | MIT | A | 33 | Claude Code |
| routeros-containertikoci/routeros-skills | Skill | 87 | 3d ago | MIT | A | 86 | Claude Code, Codex |
| wireless-rfhypnguyen1209/offensive-claude | Skill | 412 | 15d ago | MIT | B | 98 | Claude Code |