---
name: google-preprocessor-guard-hygiene
description: "Enforce preprocessor guard rules and macro-dependent inclusion hygiene in C++. Use this skill when modifying conditional imports or preprocessor directives."
license: "Apache-2.0"
metadata:
  decimalai-skill-id: "f39d87b8-0455-4c99-9fba-bf32320738e4"
  decimalai-version-id: "e9d3edd0-3406-4914-8bfe-1cd8cd16c2fd"
  decimalai-version: "1"
  decimalai-body-sha256: "bc5e744168697378e01d542256ff154066daf3006a917df76c40949a6aaead7c"
  decimalai-name: "google/preprocessor-guard-hygiene"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "coding"
  decimalai-source: "https://app.decimal.ai/s/google-preprocessor-guard-hygiene@1/SKILL.md"
---
# Preprocessor Guard Hygiene

*   **Simple Guarded Includes:** Headers wrapped inside single-line preprocessor guards (like `#if __EXCEPTIONS` or `#if defined(__ARM_NEON)`) must remain wrapped and are sorted alphabetically within their correct layer.
*   **Macro-Dependent Templating:** Never modify or split includes that are tightly coupled with macro configurations (such as `#define UTILS_PRIVATE_IMPLEMENTATION_NON_COPYABLE` in `ostream.cpp`). The `reorganize_headers.py` safety check will automatically detect and skip these; respect these skips.
