Install
$ agentstack add skill-redtropig-harness-anchor-cpp-formatting ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
C/C++ Formatting (clang-format)
clang-format is the de-facto C/C++ formatter. Like Prettier or rustfmt, it's deterministic and removes formatting debates.
Prerequisites
clang-formatreachable — see "Is clang-format actually here?" below before concluding
it's missing; only then brew install clang-format / apt install clang-format.
.clang-formatconfig at project root (usetemplates/cpp/.clang-format.tplif not present —/cpp-initdrops it for you)
Format changed lines only (preferred)
git diff -U0 --no-color HEAD | clang-format-diff -p1 -i
Or, for staged changes:
git clang-format
This formats only changed lines — does not touch unrelated code. Critical for keeping diffs clean.
Is clang-format actually here?
Before concluding clang-format is unavailable, resolve it properly:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/cpp-tool-discovery.sh clang-format
A FOUND line gives you an absolute path — invoke it directly; the binary does not need to be on PATH. Only NOT_FOUND licenses "unavailable", and then the honest phrasing is "searched PATH + \, not found (as of \)", never "not installed" / "on this machine" (an empty command -v only tells you about PATH — the VS-bundled LLVM on Windows and keg-only Homebrew llvm on macOS both sit off it). The date matters as much as the scope: a scope-less negative is wrong about where you looked, a date-less one is wrong about when.
Format a whole file
clang-format -i path/to/file.cpp
Only use this on files you OWN this session, or when starting fresh. Reformatting an unchanged file in the middle of a feature pollutes the diff and obscures review.
Verify (CI-friendly)
clang-format --dry-run --Werror path/to/file.cpp
Returns non-zero if anything would change. Useful in pre-commit / CI.
Common .clang-format settings
The template uses LLVM as the base with a few popular tweaks:
BasedOnStyle: LLVM
IndentWidth: 4
ColumnLimit: 100
AllowShortIfStatementsOnASingleLine: Never
AllowShortFunctionsOnASingleLine: Empty
SortIncludes: true
Project teams should agree on BasedOnStyle (LLVM / Google / Mozilla / WebKit) early and stick with it. Don't tweak per-PR.
When NOT to run clang-format
- Mid-merge / mid-rebase — let the merge complete first, then format
- On generated code (e.g.,
.pb.ccfrom protobuf) — exclude via.clang-format-ignore - On vendored third-party — exclude via the same
Hook integration
The harness-anchor Stop hook (Phase 3+) is currently advisory; it doesn't auto-format. Format manually with git clang-format before /session-end to keep the diff clean.
Sanity check after format
git diff --stat # should show only changed lines' format
If clang-format touched files you didn't change, your .clang-format may have drifted between machines (different versions produce different output). Pin clang-format major version in CI.
Looking up clang-format options
For an unfamiliar .clang-format key (e.g. PenaltyExcessCharacter, BreakInheritanceList) — invoke the docs-lookup skill. It encodes the Context7 → WebSearch fallback and the "Context7 unavailable" detection rules.
Typical entry query: clang-format or clang-format style options.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Redtropig
- Source: Redtropig/harness-anchor
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.