arduino-coding-practiceslisted
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*`