← ClaudeAtlas

c99-opinionated-guidelisted

Use when editing systems or embedded C99 code in projects that follow the opinionated caller-owns-memory, data-oriented style. A focused overlay that covers only house-style decisions, not generic C99 idioms. Triggers on `.c`/`.h` files in systems/embedded/DOD projects and on prompts about caller-owns-memory, SoA/SIMD variants, alignment, index/handle references, caller-owned string views/builders, physical design, plugin architecture, strict file naming, and shaping a C API to be bound from other languages (Lua/C#/Python/Rust FFI, generated wrappers), even when the user doesn't say 'opinionated'.
xonovex/platform · ★ 5 · Web & Frontend · score 72
Install: claude install-skill xonovex/platform
# C99 Opinionated Guidelines (Systems/Game/Embedded) ## Essentials - **Overlay on c99-guide** - This guide carries only the opinionated decisions. For the shared C99 idioms: `const`-correctness, designated initializers (ZII), `inline`-over-macros, compound literals, fixed-width types, value-oriented APIs, and baseline error/return patterns, follow **c99-guide** - **Memory management** - This style's defining choice is caller-owned storage with no hidden library allocation; apply **memory-management-guide**, then enforce the C99 buffer boundary in [references/safety-validations.md](references/safety-validations.md) - **Data-oriented design** - Layout/cache is a core choice of this style: apply **data-oriented-design-guide** - **Quality** - Pin strict C99, `-Werror` for correctness but relax the unused-symbol family for libraries, keep an ASan/UBSan debug build, run static analysis, see [references/build-warnings-policy.md](references/build-warnings-policy.md) ## Architecture - **Implementation variants** - Ship scalar → AoS → SoA → SIMD with `_*` suffixes + parity tests; layout rationale in **data-oriented-design-guide**, see [references/implementation-variants.md](references/implementation-variants.md) - **Handles & indices** - Apply **data-oriented-design-guide** for stable-handle layout and iteration tradeoffs; enforce C99 check ordering and pointer lifetime in [references/safety-validations.md](references/safety-validations.md) - **Alignment** - Strict C99 has no porta