c99-opinionated-guidelisted
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