Code Style Checker
This skill provides direct access to the unified tools/code_format_check.py script for checking and fixing coding style in C++/Obj-C++ and CMake files. It uses the project's .clang-format configuration and excludes third_party directories by default.
About the Unified Script
The underlying tools/code_format_check.py script serves both GitHub CI and local development needs:
- Single codebase: No duplication between CI and local tools
- Consistent behavior: Same filtering and formatting logic everywhere
- Dual mode operation: Automatically adapts based on usage context
Usage
$code-style-checker ... is a conversation trigger syntax for agents, not a shell command.
For terminal usage, run python3 tools/code_format_check.py ....
Check staged files only
python3 tools/code_format_check.py --staged-only
Check all changed files (staged + unstaged)
python3 tools/code_format_check.py
Check and automatically fix formatting issues
python3 tools/code_format_check.py --fix
Include third_party directories (not recommended)
python3 tools/code_format_check.py --include-third-party
Emit machine-readable output for agents
python3 tools/code_format_check.py --json
Agent Contract
Exit codes
0: check passed1: check failed (formatting issues remain)2: infrastructure/tooling error (for example git/clang-format execution failed)3: usage error
JSON output (--json)
The script prints one JSON object with these keys:
mode:"skill"or"ci"status:"ok","check_failed", or"infra_error"checked_file_count: integerfailed_files: list of file paths still failing after optional--fixinfra_errors: list of{file, error}entries when tool execution failschecks: per-file results withfile,formatted,message,fixed,fix_errorduration_ms: total runtime in milliseconds
What it checks
The script checks these file types:
- C++ files:
.cpp,.cc,.cxx,.c++ - C++ headers:
.h,.hpp,.hxx,.h++ - Objective-C/C++ files:
.m,.mm - CMake files:
.cmake,CMakeLists.txt
What it ignores
By default, the script excludes files in these directories:
third_partythird-party3rdpartyexternalvendor.git
Requirements
clang-formatmust be installed and available in PATH, or specify custom path with--clang-format-path- Git repository with
.clang-formatconfiguration file - The unified script
tools/code_format_check.pymust exist in your repository
Integration with CI/CD
The same underlying script is used by your CI/CD workflow:
tools/code_format_check.py main --verbose
This ensures consistent behavior between local development and CI checks.