AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Cpp Formatting

skill-redtropig-harness-anchor-cpp-formatting · by Redtropig

Use in C/C++ projects for clang-format. Changed-lines-only; never reformat unchanged code mid-feature. .clang-format from root or LLVM baseline.

No reviews yet
0 installs
25 views
0.0% view→install

Install

$ agentstack add skill-redtropig-harness-anchor-cpp-formatting

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-redtropig-harness-anchor-cpp-formatting)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Cpp Formatting? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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-format reachable — see "Is clang-format actually here?" below before concluding

it's missing; only then brew install clang-format / apt install clang-format.

  • .clang-format config at project root (use templates/cpp/.clang-format.tpl if not present — /cpp-init drops 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.cc from 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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.