cpp-header-inclusion
Enforce the strict topological header inclusion layering and reordering rules in Filament.
Skill by googleOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/google-cpp-header-inclusion
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cpp-header-inclusion
What's inside
- Skill name
cpp-header-inclusion- Description
- Enforce the strict topological header inclusion layering and reordering rules in Filament. Use this skill when adding or modifying `#include` directives in C++ source or header files.
- License
- Apache-2.0
- Instructions
- 37 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: "cpp-header-inclusion" does not match folder "cpp_header_inclusion"
Files (1)
- SKILL.md
SKILL.md (first lines)
# Dynamic C++ Header Inclusion & Reordering Filament enforces a strict, acyclic include layering hierarchy to optimize compile times, prevent header pollution, and identify missing dependencies. ## 1. Logical Layer Hierarchy Includes must be grouped and separated by **exactly one blank line** in the following order (top to bottom): 1. **Layer 0 (Corresponding Header):** `#include "details/Foo.h"` (isolated at the very top). 2. **Layer 0.5 (Windows Cleanup):** `#include <utils/unwindows.h>` (always second, only if needed). 3. **Layer 1 (Private/Local Headers):** `#include "PrivateStuff.h"` (using double quotes `" "` strictly for private local headers located under the local target's `src/` folder). 4. **Layer 2 (Internal Proprietary Libraries):** Public and private includes for other internal libraries (e.g. `<filaflat/...>`, `<backend/...>`, `<utils/...>`, `<math/...>`). All proprietary library includes **must** use `< >` syntax (including `private/` sub-folders). The layering priority order of these libraries is dynamically computed based on `CMakeLists.txt` target linkages. 5. **Layer 3 (Third-Party Libraries):** `<tsl/...>`, `<absl/...>`, `<jni.h>`. 6. **Layer 4 (C++ Standard Library):** `<algorithm>`, `<vector>`, `<cstddef>` (including standard `<c...>` wrappers). 7. **Layer 5 (POSIX System Headers):** `<unistd.h>`, `<sys/stat.h>` (C system headers below C++ std, but above C std). 8. **Layer 6 (C Standard Library):** Legacy C system headers ending in `.h` (e.g., `<stdint.h>`, `<stddef.h>`). --- ## 2. Sorting & Spacing Rules for Private Includes (Layer 1) * **Flat-First:** Flat/top-level includes (without a subdirectory prefix, e.g., `"Allocators.h"`) are sorted **above** nested subdirectory includes (e.g., `"components/Foo.h"`). * **Visual Grouping:** Private includes must be grouped by their first subdirectory path prefix, separated by **exactly one blank line**. --- ## 3. Running the Automated Include Formatter AI agents **must never manually sort includes** or guess target dependencies. Always run the repository's dynamic topological include formatter after modifying C++ files: ```bash ./tools/reorganize-headers/run.py <file_or_directory> ``` *Note: The tool dynamically parses `CMakeLists.txt` files to topologically sort proprietary libraries and includes preprocessor safety checks to avoid breaking platform-conditional include guards.*
From google/filament, Apache-2.0.
More from google/filament
- 0.690score
cpp-static-thread-safety
googleOfficial
Enforce C++ static thread safety annotations and correct synchronization primitives.
SkillAFreshness: A★ 20.6KClaude Code +9 - 0.690score
filament-desktop-testing
googleOfficial
Execute unit tests and performance benchmarks for Filament on desktop platforms.
SkillAFreshness: A★ 20.6KClaude Code +9 - 0.690score
filament-android-development
googleOfficial
Build, deploy, run, and benchmark Filament binaries on connected Android devices or emulators.
SkillAFreshness: A★ 20.6KClaude Code +9 - 0.687score
code-review
googleOfficial
Adversarial systems, concurrency, memory-model, and architecture code review protocol.
SkillAFreshness: A★ 20.6KClaude Code +9 - 0.687score
filament-build-clean
googleOfficial
Clean and build Filament targets for development, debugging, and production.
SkillAFreshness: A★ 20.6KClaude Code +9 - 0.687score
bindings-synchronization
googleOfficial
Guidelines and SOP for synchronizing public C++ API changes (methods, enums, options structs) to Java (Android JNI) and JavaScript/TypeScript (Web/WASM Embind).
SkillAFreshness: A★ 20.6KClaude Code +9 - 0.685score
verification-protocols
googleOfficial
Standard verification pipeline to execute after modifying C++ source or header files.
SkillAFreshness: A★ 20.6KClaude Code +9 - 0.685score
header-self-containment
googleOfficial
Enforce strict header self-containment so that every header file compiles independently.
SkillAFreshness: A★ 20.6KClaude Code +9 - 0.685score
preprocessor-guard-hygiene
googleOfficial
Enforce preprocessor guard rules and macro-dependent inclusion hygiene in C++.
SkillAFreshness: A★ 20.6KClaude Code +9
Signals
- Stars
- 20,648
- Forks
- 2,283
- Open issues
- 174
- Last commit (this folder)
- Jun 8, 2026 (4 months ago)
- Last release
- Oct 21, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/google/filament
- Website
- google.github.io/filament/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from google
- 0.699score
retrieving-developer-knowledge
googleOfficial
Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI/Gemini, Android, Chrome, Web, Flutter, Go, Firebase, and…
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
data-manager-api-setup
googleOfficial
Guides developers through client library installation and authentication setup steps for the Data Manager API.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
agent-platform-migrate-from-ai-studio
googleOfficial
Guides agents and users through migrating from Gemini API in Google AI Studio to Gemini Enterprise Agent Platform (formerly Vertex AI).
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
gcloud
googleOfficial
Provides safety-critical validation, guardrails, and data reduction for gcloud CLI operations across Google Cloud Platform (GCP) services and infrastructure.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
google-cloud-recipe-onboarding
googleOfficial
Guides a developer's first steps on Google Cloud, covering account creation, billing setup, project management, and deploying a first resource.
SkillAFreshness: A★ 21.5KClaude Code +9 - 0.699score
agent-platform-deploy
googleOfficial
Deploy open models or custom weights from Model Garden to Agent Platform endpoints, check the status of an in-progress deployment operation, or clean up…
SkillAFreshness: A★ 21.5KClaude Code +9
Cite this page
cpp-header-inclusion skill. Agent Mart. https://agentmart.dev/skills/google-cpp-header-inclusion (last updated 2026-10-24)