---
name: google-header-self-containment
description: "Enforce strict header self-containment so that every header file compiles independently. Use this skill when creating or modifying C++ header files."
license: "Apache-2.0"
metadata:
  decimalai-skill-id: "b6097376-b35d-4055-99d0-54d30bcb4beb"
  decimalai-version-id: "2fc8bda5-b69c-43df-addd-d84945e6edda"
  decimalai-version: "1"
  decimalai-body-sha256: "5ba901820d1f32971bddc328a05991bc63b1b4b80ea6503ea308a1fa49119dd3"
  decimalai-name: "google/header-self-containment"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "coding"
  decimalai-source: "https://app.decimal.ai/s/google-header-self-containment@1/SKILL.md"
---
# Strict Header Self-Containment

Every header file (`.h`) in Filament **must be fully self-contained** and compile independently.

*   **Rule:** Never assume a header's type dependencies (like `FrameGraphHandle`) are pre-declared by preceding includes in a `.cpp` file.
*   **Action:** Always explicitly `#include` the declaring header (e.g., `fg/FrameGraphId.h`) inside the header itself.
