← ClaudeAtlas

arduino-coding-practiceslisted

Use when authoring or reviewing Arduino libraries/sketches, camelCase read/write/begin API,.h/.cpp structure, setup/loop lifecycle, Stream-aware serial, keywords/examples, and arduino-cli compile verify.
ryan-brosas/universal-template · ★ 1 · Code & Development · score 60
Install: claude install-skill ryan-brosas/universal-template
# Arduino Coding Practices Application skill for Arduino library + sketch guides (archived `awesome-guidelines` capsules). For portable C++ outside Arduino core, load `cpp-coding-practices`. Professional embedded without Arduino APIs: follow project RTOS/SDK docs. ## Core Principle Arduino quality is **beginner-first APIs and compile-ready packaging**, camelCase high-level methods, hardware init in `begin()` not constructors, guarded `.h`/`.cpp` pairs, examples that build. ## When to Use / NOT - Arduino libraries (`*.h`/`*.cpp`), sketch `.ino`, `library.properties`, Library Manager prep. - Reviewing public API names, Stream serial ports, Morse-style class layout. **NOT when:** - Generic C++ desktop/server code, `cpp-coding-practices`. - Bare-metal non-Arduino SDK firmware with no Arduino core. - Python MicroPython/CircuitPython, stack-specific docs. ## Workflow 1. **API**, naming, read/write/begin, Stream, no pointer traps (`arduino-style-library-api.md`). 2. **Structure**, guards, ctor vs begin, `_private` fields (`arduino-style-library-structure.md`). 3. **Sketches**, setup/loop, camelCase, braces, AVR loop discipline (`arduino-style-sketch-code.md`). 4. **Packaging**, keywords, examples, properties, compile (`arduino-style-packaging-verify.md`). 5. **Verify**, `arduino-cli compile` on example; hardware smoke if available. ## Red Flags - `pinMode` or bus init inside constructor - snake_case public library methods - Public API requiring pointer args (`&x`, `char*`