Esp32 Firmware Engineer
alxv2016/folloup-sticky
ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.
A skill your agent uses when writing, reviewing, or refactoring C/C++ firmware code in this repository (src/, lib/, test/) — creating or editing .h/.hpp/.cpp files, applying MISRA-oriented and…
$ npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install BlueAndi/Pixelix embedded-cpp14-misra --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/BlueAndi/Pixelix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/embedded-cpp14-misra .claude/skills/embedded-cpp14-misra && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "embedded-cpp14-misra" agent skill from https://github.com/BlueAndi/Pixelix/tree/master/.claude/skills/embedded-cpp14-misra into .claude/skills/embedded-cpp14-misra/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "embedded-cpp14-misra", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/BlueAndi/Pixelix/tree/master/.claude/skills/embedded-cpp14-misraType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install BlueAndi/Pixelix embedded-cpp14-misra --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlueAndi/Pixelix.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/embedded-cpp14-misra .agents/skills/embedded-cpp14-misra && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "embedded-cpp14-misra" agent skill from https://github.com/BlueAndi/Pixelix/tree/master/.claude/skills/embedded-cpp14-misra into .agents/skills/embedded-cpp14-misra/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "embedded-cpp14-misra", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install BlueAndi/Pixelix embedded-cpp14-misra --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlueAndi/Pixelix.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/embedded-cpp14-misra .cursor/skills/embedded-cpp14-misra && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "embedded-cpp14-misra" agent skill from https://github.com/BlueAndi/Pixelix/tree/master/.claude/skills/embedded-cpp14-misra into .cursor/skills/embedded-cpp14-misra/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "embedded-cpp14-misra", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/BlueAndi/Pixelix.git --path .claude/skills/embedded-cpp14-misra--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install BlueAndi/Pixelix embedded-cpp14-misra --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlueAndi/Pixelix.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/embedded-cpp14-misra .gemini/skills/embedded-cpp14-misra && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "embedded-cpp14-misra" agent skill from https://github.com/BlueAndi/Pixelix/tree/master/.claude/skills/embedded-cpp14-misra into .gemini/skills/embedded-cpp14-misra/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "embedded-cpp14-misra", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install BlueAndi/Pixelix embedded-cpp14-misraInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/BlueAndi/Pixelix.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/embedded-cpp14-misra .github/skills/embedded-cpp14-misra && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "embedded-cpp14-misra" agent skill from https://github.com/BlueAndi/Pixelix/tree/master/.claude/skills/embedded-cpp14-misra into .github/skills/embedded-cpp14-misra/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "embedded-cpp14-misra", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install BlueAndi/Pixelix embedded-cpp14-misra --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlueAndi/Pixelix.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/embedded-cpp14-misra .opencode/skills/embedded-cpp14-misra && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "embedded-cpp14-misra" agent skill from https://github.com/BlueAndi/Pixelix/tree/master/.claude/skills/embedded-cpp14-misra into .opencode/skills/embedded-cpp14-misra/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "embedded-cpp14-misra", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
embedded-cpp14-misraA skill your agent uses when writing, reviewing, or refactoring C/C++ firmware code in this repository (src/, lib/, test/) — creating or editing .h/.hpp/.cpp files, applying MISRA-oriented and…
Embedded Cpp14 Misra is an agent skill from BlueAndi/Pixelix. Use when writing, reviewing, or refactoring C/C++ firmware code in this repository (src/, lib/, test/) — creating or editing .h/.hpp/.cpp files, applying MISRA-oriented and defensive rules, Yoda conditions, single-exit/pathfinder control flow, mandatory Doxygen headers, and clang-format compliance. Covers the house C++14 style; not for Python build scripts, web assets, or docs.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files and assets (for example `references/coding-rules.md`).
It sits in Development, covering Embedded systems and Refactoring. It works with C++, Python and ESP32. The repository describes itself as: Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0f92652. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are cpp and bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Embedded Cpp14 Misra loads about 2k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 100 tokens; SKILL.md has 798 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from BlueAndi/Pixelix at commit 0f92652, republished under its MIT licence (© BlueAndi). 798 words, ~2,001 tokens.
.claude/skills/embedded-cpp14-misra/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Pixelix firmware is C++14 on ESP32 with hard constraints: limited RAM, no exceptions in practice, long uptimes, and dual-core FreeRTOS tasks. The house style optimizes for deterministic, reviewable code over brevity — explicit state, bounded loops, single exit, and a documented public API.
Two style layers, both mandatory:
clang-format (v18.1.3, .clang-format). Never hand-tune against it; run it.clang-format cannot check these; you must.CI enforces layer 1 on src/ and lib/ only:
find src lib -iname '*.h' -o -iname '*.hpp' -o -iname '*.cpp' | xargs clang-format -i --dry-run -WerrorFive rules distinguish this codebase from generic modern C++. Violating any of them will fail review.
Constant or literal on the left of every equality/boolean comparison. Prevents =-for-== typos.
if (true == isReady) /* not: if (isReady) */
if (false == m_isRunning) /* not: if (!m_isRunning) */
if (nullptr == ptr) /* not: if (!ptr) */
if (0U == count) /* not: if (count == 0) */Relational comparisons (<, >=) keep natural order — Yoda applies to equality and explicit bool tests.
One return per function, at the end. Use a result variable, not early returns.
bool Foo::init()
{
bool isSuccessful = false;
if (nullptr == m_buffer)
{
LOG_ERROR("No buffer.");
}
else if (true == m_isInitialized)
{
LOG_WARNING("Already initialized.");
}
else
{
m_isInitialized = true;
isSuccessful = true;
}
return isSuccessful;
}An empty guard branch with an explanatory comment is idiomatic and preferred over inverting the whole body:
if (false == m_isInitialized)
{
/* Guard path: do not process before initialization. */
}
else
{
++m_counter;
}One clear execution path per function. Guard-check invalid state first, keep nesting shallow (aim ≤ 3 levels), and split dense boolean chains into named helpers or named intermediate bool variables. If a reader cannot trace every path in one pass, decompose it.
Every file gets the MIT block plus @file, @brief, @author. Headers add @addtogroup <GROUP> / @{ … @} around the content. Existing groups: PLUGIN, GFX, UTILITIES, SETTINGS, SENSORS, HTTP_SERVICE, HAL, TOPIC_HANDLER_SERVICE, RTC, TEST. Every public method needs a doc block with @param[in]/@param[out]/@return and any range, unit, ownership, or blocking behavior. Every member gets a trailing /**< ... */.
Files are divided by 80-column banner comments. Order differs by file type — see the templates. Keep empty sections in place rather than deleting them.
.h | .hpp | .cpp |
|---|---|---|
| Includes | Compile Switches | Includes |
| Compiler Switches | Includes | Compiler Switches |
| Macros | Macros | Macros |
| Types and Classes | Types and Classes | Types and classes |
| Variables | Functions | Prototypes |
| Functions | Local Variables | |
| Public / Protected / Private Methods | ||
| External / Local Functions |
<stdint.h> (uint32_t, int16_t); unsigned literals get a U suffix.const-correct: const parameters, const methods, const/constexpr over macros.++, no state-mutating calls in an if).Mutex / MutexGuard wherever a second task can reach it.Full detail and rationale → references/coding-rules.md
| Kind | Convention | Example |
|---|---|---|
| Class / struct | PascalCase | AudioDrv |
| Method / function | camelCase | getSampleRate() |
| Member variable | m_ + camelCase | m_isInitialized |
| Local variable | camelCase | isSuccessful |
| Constant / enum value | UPPER_SNAKE_CASE | MAX_SLOTS |
| Macro | UPPER_SNAKE_CASE | LOG_INFO |
| Include guard | <FILE_NAME>_H / _HPP | AUDIO_DRV_H |
| Plugin class | must end in Plugin | DateTimePlugin |
Boolean names read as predicates: isRunning, hasData, isSuccessful.
Creating a file
.h for module and regular class headers, .hpp only for header-only / template code, .cpp for implementation.ClassName, CLASS_NAME, GROUP, @brief, @author:
lib/<Module>/src/, src/<Subsystem>/), and mirror the neighbors' patterns for anything the template doesn't cover.Editing an existing file
Match the surrounding file over this document where they disagree — local consistency wins. Keep the diff tight; do not reformat or restyle untouched code.
Before declaring done
clang-format --dry-run -Werror <file> # must be silent
platformio run --environment esp32doit-devkit-v1-LED-32x8
platformio check --environment <env> --fail-on-defect=medium
platformio test --environment test # if test/ is touchedThen walk the checklist:
return per functionU suffixesclang-format clean| Mistake | House style |
|---|---|
if (!ptr) | if (nullptr == ptr) |
Early return false; in a guard | Set result variable, fall through to the single return |
int / unsigned for sizes and counts | uint32_t, size_t, uint8_t — fixed width |
new / std::vector growth in a hot or long-lived path | Fixed-size buffer, or a justifying comment |
| Member assigned in the constructor body | Constructor initializer list, declaration order |
| Public method with no doc block | @brief, @param, @return — always |
#define MAX_LEN 10 | static const uint32_t MAX_LEN = 10U; |
| Deleting an empty section banner | Keep it — the layout is the convention |
| Reformatting a whole file while fixing three lines | Touch only what the change needs |
© BlueAndi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references, assets) in .claude/skills/embedded-cpp14-misra of BlueAndi/Pixelix.
Open the folder on GitHubat commit 0f92652
Embedded Cpp14 Misra next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Embedded Cpp14 Misra this skillBlueAndi/Pixelix | 443 | — | ~2k | Automated safety check: Pass | MIT | |
| Esp32 Firmware Engineeralxv2016/folloup-sticky | 116 | 1 repos | ~3.8k | Automated safety check: Pass | GPL-3.0 | |
| RuView mmWave Radar Setupruvnet/RuView | 97k | — | ~907 | Automated safety check: Notes | MIT | |
| Auto EmbeddedDunCanYounG-1/MICU-auto-embedded | 253 | — | ~1.6k | Automated safety check: Pass | CC-BY-NC-4.0 | |
| C64 Meatloaf Debugidolpx/meatloaf | 128 | — | ~12k | Automated safety check: Pass | GPL-3.0 | |
| Vibepulseniclasvestlund-YT/vibepulse | 208 | — | ~1.6k | Automated safety check: Pass | MIT |
alxv2016/folloup-sticky
ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.
ruvnet/RuView
Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI.
DunCanYounG-1/MICU-auto-embedded
全平台嵌入式 AI 开发框架(对标 Trellis):把 RIPER-5 五阶段协议 + 四文件记忆 + 分层架构门禁 + Scout/Builder/Verifier 多 Agent + 24 个工具调用技能(build/flash/debug/serial/can/modbus/visa/static/memory/rtos/scons),做成『装进工程、项目级 hook…
idolpx/meatloaf
Debug Commodore 64 BASIC programs, cc65-compiled C PRGs, and Meatloaf ESP32 firmware in tandem, using the Ultimate 64's REST API and Meatloaf's UART serial debug output.
niclasvestlund-YT/vibepulse
A skill your agent uses for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.
ROCm/FlyDSL
Format, clean up, and style-check changed files, matching the project's CI style gate.
BlueAndi/Pixelix
Write, review and refactor embedded C/C++14 firmware code in this repository (src/, lib/, test/) with MISRA-oriented rules, defensive programming, Yoda conditions, single-exit/pathfinder control…
BlueAndi/Pixelix
Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings.
BlueAndi/Pixelix
Write and update OpenAPI 3.0 specification files from REST API code.
BlueAndi/Pixelix
Model, create, update, and embed PlantUML diagrams (.wsd files).
BlueAndi/Pixelix
A skill your agent uses when building or reviewing UI with Bootstrap 5.3 — setting up the CDN/npm, using the grid & breakpoints, utility classes (spacing/color/flex/display), components (navbar…
BlueAndi/Pixelix
A skill your agent uses when authoring, reviewing, or validating HTML markup — choosing the right element, deciding what may nest inside what, writing forms/inputs, adding accessible semantics, or…
Categories
A skill your agent uses when writing, reviewing, or refactoring C/C++ firmware code in this repository (src/, lib/, test/) — creating or editing .h/.hpp/.cpp files, applying MISRA-oriented and…. Embedded Cpp14 Misra is an agent skill from BlueAndi/Pixelix.cpp files, applying MISRA-oriented and defensive rules, Yoda conditions, single-exit/pathfinder control flow, mandatory Doxygen headers, and clang-format compliance.
Embedded Cpp14 Misra fits situations like: refactoring C/C++ firmware code in this repository (src/; test/) — creating; editing .h/.hpp/.cpp files; applying MISRA-oriented and defensive rules.
Run `npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a claude-code`. Or copy the skill folder (.claude/skills/embedded-cpp14-misra in BlueAndi/Pixelix) into .claude/skills/embedded-cpp14-misra in your project. Claude Code loads it when a task matches its description.
Run `npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a codex`. Or copy the skill folder (.claude/skills/embedded-cpp14-misra in BlueAndi/Pixelix) into .agents/skills/embedded-cpp14-misra in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/embedded-cpp14-misra, .gemini/skills/embedded-cpp14-misra, .github/skills/embedded-cpp14-misra and .opencode/skills/embedded-cpp14-misra in your project.
SKILL.md names no scripts, command-line tools or credentials: Embedded Cpp14 Misra is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Embedded Cpp14 Misra is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Embedded Cpp14 Misra: Esp32 Firmware Engineer (alxv2016/folloup-sticky, 116 stars), RuView mmWave Radar Setup (ruvnet/RuView, 97k stars), Auto Embedded (DunCanYounG-1/MICU-auto-embedded, 253 stars) and C64 Meatloaf Debug (idolpx/meatloaf, 128 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
BlueAndi (a GitHub user) maintains it in BlueAndi/Pixelix, which has 443 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.
Source: BlueAndi/Pixelix on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.