format

SkillDev tools

Run clang-format on the current git changes. Only keep the formatting fix on the changed lines.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the format skill

What this skill tells your AI

The instructions your AI receives, as published by openharmonyinsight/openharmony-skills in skills/graphic-2d-format/SKILL.md and read by ahel’s review.

Tool Locations

  • clang-format: ../../../prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang-format
  • clang-format-diff.py: ../../../prebuilts/clang/ohos/linux-x86_64/llvm/share/clang/clang-format-diff.py

Approach

Use clang-format-diff.py which is designed specifically for this use case - it reads a diff from stdin and only applies formatting to lines that were changed.

Working Command

# Navigate to repo root and run:
git diff HEAD -- 'graphic_2d/**/*.cpp' 'graphic_2d/**/*.h' 2>/dev/null | \
  python3 prebuilts/clang/ohos/linux-x86_64/llvm/share/clang/clang-format-diff.py \
  -p1 -binary prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang-format -i

Why This Works

  1. git diff HEAD - Shows all unstaged changes relative to HEAD
  2. -- 'graphic_2d/**/*.cpp' 'graphic_2d/**/*.h' - Filters to C++ source files
  3. clang-format-diff.py - Reads the diff and only formats changed lines
  4. -p1 - Strips one path component (graphic_2d/) from diff paths
  5. -binary ... - Specifies the clang-format executable to use
  6. -i - Applies edits directly to files

Important Notes

  • Must run from repo root of OpenHarmony so file paths in the diff match actual file locations
  • The tool only applies formatting if changed lines violate style rules
  • If changed lines are already properly formatted, no changes are made
  • This avoids the problem of formatting thousands of unchanged lines in a file

Signals

GitHub stars
34
Forks
7
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
format-openharmonyinsight
Source
github.com/openharmonyinsight/openharmony-skills