Agent skill

Embedded Cpp14 Misra

by BlueAndi in BlueAndi/Pixelix

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…

MITAuto-check passedDevelopment

Install Embedded Cpp14 Misra

skills CLI
$ npx skills add BlueAndi/Pixelix --skill embedded-cpp14-misra -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install BlueAndi/Pixelix embedded-cpp14-misra --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
embedded-cpp14-misra
GitHub stars
443
Token cost
~2k tokens
SKILL.md length
798 words
Files
5 (incl. references, assets)
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

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…

  • Works in 5 steps: Yoda conditions → Single point of exit → Pathfinder rule → …
  • Refactoring C/C++ firmware code in this repository (src/
  • SKILL.md covers Overview, The Non-Negotiables, Safety Rules (MISRA-oriented) and Naming, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • Refactoring C/C++ firmware code in this repository (src/
  • Test/) — creating
  • Editing .h/.hpp/.cpp files
  • Applying MISRA-oriented and defensive rules

Example prompts

  • “/embedded-cpp14-misra”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Yoda conditions
  2. Single point of exit
  3. Pathfinder rule
  4. Doxygen is mandatory
  5. Section banners in fixed order

What it can do on your machine

Read from SKILL.md and the folder at commit 0f92652. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from BlueAndi/Pixelix at commit 0f92652, republished under its MIT licence (© BlueAndi). 798 words, ~2,001 tokens.

Download SKILL.mdSave it as .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.
name
embedded-cpp14-misra
description
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.

Embedded C++14 (MISRA-Oriented) House Style

Overview

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:

  1. Formatting — mechanical, owned by clang-format (v18.1.3, .clang-format). Never hand-tune against it; run it.
  2. Structure & safety — the rules below. clang-format cannot check these; you must.

CI enforces layer 1 on src/ and lib/ only:

bash
find src lib -iname '*.h' -o -iname '*.hpp' -o -iname '*.cpp' | xargs clang-format -i --dry-run -Werror

The Non-Negotiables

Five rules distinguish this codebase from generic modern C++. Violating any of them will fail review.

1. Yoda conditions

Constant or literal on the left of every equality/boolean comparison. Prevents =-for-== typos.

cpp
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.

2. Single point of exit

One return per function, at the end. Use a result variable, not early returns.

cpp
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:

cpp
if (false == m_isInitialized)
{
    /* Guard path: do not process before initialization. */
}
else
{
    ++m_counter;
}
3. Pathfinder rule

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.

4. Doxygen is mandatory

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 /**< ... */.

5. Section banners in fixed order

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
IncludesCompile SwitchesIncludes
Compiler SwitchesIncludesCompiler Switches
MacrosMacrosMacros
Types and ClassesTypes and ClassesTypes and classes
VariablesFunctionsPrototypes
FunctionsLocal Variables
Public / Protected / Private Methods
External / Local Functions

Safety Rules (MISRA-oriented)

  • Fixed-width types from <stdint.h> (uint32_t, int16_t); unsigned literals get a U suffix.
  • No implicit narrowing or signed/unsigned mixing — cast explicitly and say why if non-obvious.
  • No dynamic allocation unless justified in a comment; prefer fixed-size buffers and static/member storage. Heap fragmentation is a real failure mode on long-running devices.
  • Explicitly initialize every member in the constructor initializer list, in declaration order.
  • const-correct: const parameters, const methods, const/constexpr over macros.
  • No side effects inside conditions (no assignment, no ++, no state-mutating calls in an if).
  • Bound every loop; bounds-check every index and every buffer write.
  • Validate all external input and every pointer parameter before use.
  • On failure, leave the object in a valid, consistent state and report status — never half-initialized.
  • Guard shared mutable state with Mutex / MutexGuard wherever a second task can reach it.

Full detail and rationale → references/coding-rules.md

Show full SKILL.md (321 more words)Show less

Naming

KindConventionExample
Class / structPascalCaseAudioDrv
Method / functioncamelCasegetSampleRate()
Member variablem_ + camelCasem_isInitialized
Local variablecamelCaseisSuccessful
Constant / enum valueUPPER_SNAKE_CASEMAX_SLOTS
MacroUPPER_SNAKE_CASELOG_INFO
Include guard<FILE_NAME>_H / _HPPAUDIO_DRV_H
Plugin classmust end in PluginDateTimePlugin

Boolean names read as predicates: isRunning, hasData, isSuccessful.

Workflow

Creating a file

  1. Pick the type: .h for module and regular class headers, .hpp only for header-only / template code, .cpp for implementation.
  2. Copy the matching template and replace the placeholders — ClassName, CLASS_NAME, GROUP, @brief, @author:
  3. Place it beside its peers (lib/<Module>/src/, src/<Subsystem>/), and mirror the neighbors' patterns for anything the template doesn't cover.
  4. Write guard checks and error paths before the happy path.
  5. Document as you write, not after.

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

bash
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 touched

Then walk the checklist:

  • Yoda conditions on all equality/bool tests
  • Exactly one return per function
  • Guard paths first; nesting shallow
  • Fixed-width types; no implicit conversions; U suffixes
  • All members initialized in declaration order
  • No unjustified dynamic allocation
  • Shared state mutex-protected
  • Doxygen on file, class, every public method, every member
  • Section banners present and correctly ordered
  • clang-format clean

Common Mistakes

MistakeHouse style
if (!ptr)if (nullptr == ptr)
Early return false; in a guardSet result variable, fall through to the single return
int / unsigned for sizes and countsuint32_t, size_t, uint8_t — fixed width
new / std::vector growth in a hot or long-lived pathFixed-size buffer, or a justifying comment
Member assigned in the constructor bodyConstructor initializer list, declaration order
Public method with no doc block@brief, @param, @return — always
#define MAX_LEN 10static const uint32_t MAX_LEN = 10U;
Deleting an empty section bannerKeep it — the layout is the convention
Reformatting a whole file while fixing three linesTouch 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

Files

SKILL.md and 4 other files (references, assets) in .claude/skills/embedded-cpp14-misra of BlueAndi/Pixelix.

  • SKILL.md
  • assets/template.cpp
  • assets/template.h
  • assets/template.hpp
  • references/coding-rules.md

Open the folder on GitHubat commit 0f92652

Compare with similar skills

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.

Embedded Cpp14 Misra compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Embedded Cpp14 Misra this skillBlueAndi/Pixelix443—~2kAutomated safety check: PassMIT
Esp32 Firmware Engineeralxv2016/folloup-sticky1161 repos~3.8kAutomated safety check: PassGPL-3.0
RuView mmWave Radar Setupruvnet/RuView97k—~907Automated safety check: NotesMIT
Auto EmbeddedDunCanYounG-1/MICU-auto-embedded253—~1.6kAutomated safety check: PassCC-BY-NC-4.0
C64 Meatloaf Debugidolpx/meatloaf128—~12kAutomated safety check: PassGPL-3.0
Vibepulseniclasvestlund-YT/vibepulse208—~1.6kAutomated safety check: PassMIT

Similar skills

  • Esp32 Firmware Engineer

    alxv2016/folloup-sticky

    ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.

    116 GitHub starsUsed in 1 repo~3.8k tokens
    DevelopmentAuto-check passed
  • Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI.

    97k GitHub stars~907 tokensUpdated today
    DevelopmentAuto-check: notes
  • Auto Embedded

    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…

    253 GitHub stars~1.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • C64 Meatloaf Debug

    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.

    128 GitHub stars~12k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Vibepulse

    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.

    208 GitHub stars~1.6k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Format Code

    ROCm/FlyDSL

    Format, clean up, and style-check changed files, matching the project's CI style gate.

    288 GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes

More from BlueAndi/Pixelix

All 10 skills in this repo
  • Embedded Cpp14 Misra

    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…

    443 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Openscad Mechanical

    BlueAndi/Pixelix

    Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings.

    443 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Openapi Spec

    BlueAndi/Pixelix

    Write and update OpenAPI 3.0 specification files from REST API code.

    443 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Plantuml Diagrams

    BlueAndi/Pixelix

    Model, create, update, and embed PlantUML diagrams (.wsd files).

    443 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Bootstrap Reference

    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…

    443 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Html5 Reference

    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…

    443 GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Embedded Cpp14 Misra

What does Embedded Cpp14 Misra do?

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.

When should I use Embedded Cpp14 Misra?

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.

How do I install Embedded Cpp14 Misra in Claude Code?

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.

How do I install Embedded Cpp14 Misra in Codex?

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.

Can I use Embedded Cpp14 Misra in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Embedded Cpp14 Misra need to run?

SKILL.md names no scripts, command-line tools or credentials: Embedded Cpp14 Misra is instructions for the agent only. Our summary lists: Python 3.

Does Embedded Cpp14 Misra access the network?

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.

Is Embedded Cpp14 Misra safe to install?

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.

What licence does Embedded Cpp14 Misra use?

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.

How many tokens does Embedded Cpp14 Misra use?

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.

What are the alternatives to Embedded Cpp14 Misra?

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.

Who maintains Embedded Cpp14 Misra?

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.