cpp-systems

cpp-systems is a skill for Claude Code from iliaal/ai-skills. It costs 78 tokens per session (1,287 once invoked), scanned A, original, MIT.

A guide to modern C++ programming, including object ownership, error handling, templates, API boundaries, and CMake build tools. It covers C++17 and notes where C++20 features may be used.

In plain words
What is it for?
Use it when writing, reviewing, refactoring, or debugging C++ code, including smart pointers, move operations, exceptions, CMake, and GoogleTest tests.
Why use it?
It helps avoid memory leaks, unsafe ownership, incompatible public interfaces, and build or template problems. It also accounts for project-specific compiler and formatting rules.

Skill for Claude Code

Written for Claude Code: paths in frontmatter.

Good fit Use it when writing, reviewing, refactoring, or debugging C++ code, including smart pointers, move operations, exceptions, CMake, and GoogleTest tests.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/iliaal/ai-skills/cpp-systems
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add iliaal/ai-skills --skill cpp-systems
Clone the repo
git clone --depth 1 https://github.com/iliaal/ai-skills

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cpp-systems

README.md
[![agentmods](https://agentmods.dev/badge/skills/iliaal/ai-skills/cpp-systems/github.svg)](https://agentmods.dev/skills/iliaal/ai-skills/cpp-systems)
Your own site
<a href="https://agentmods.dev/skills/iliaal/ai-skills/cpp-systems"><img src="https://agentmods.dev/badge/skills/iliaal/ai-skills/cpp-systems/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cpp-systems

Your own site · 80×15
<a href="https://agentmods.dev/skills/iliaal/ai-skills/cpp-systems"><img src="https://agentmods.dev/badge/skills/iliaal/ai-skills/cpp-systems.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 78 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,287 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00078 $0.01287
Opus 5.5 $0.00031 $0.00515
Sonnet 5.5 $0.00016 $0.00257
Haiku 4.5 $0.00008 $0.00129

Measured 9d ago against content hash 0fa2092c6c77, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cpp-systems scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

skills/cpp-systems/SKILL.md · 90 lines

How it starts

The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.

C++ Systems & Libraries

Covers C++17 as the baseline, with C++20 features called out where a project's standard allows them. For plain C (manual lifetimes, status enums, native extensions), see the ia-c-systems skill.

Working rules

  • Make resource ownership explicit and use RAII for release on every exit path.
  • Keep borrowed views within backing-storage lifetimes and review copy/move behavior when special members change.
  • Follow the project's error model and supported language standard.
  • Preserve ABI and avoid invoking unknown callbacks while holding locks or invalidatable container iterators.

Repo conventions outrank this skill

Check CMakeLists.txt for CXX_STANDARD, read .clang-format and .clang-tidy, and read two adjacent translation units before writing. Where they conflict with the rules below, they win.

The conflicts that actually happen:

Local constraint Consequence
-fno-exceptions Error handling is codes or expected-alikes. Constructors cannot report recoverable failure, so use a fallible factory or construct a valid fallback state. new (std::nothrow) only where the project's OOM policy is to observe null and recover; plain new is fine where the policy is termination
Standard pinned below C++17 No std::optional/string_view/structured bindings/if constexpr; check before using any
Public header is ABI-stable No layout changes, no inline-function changes, no added virtuals: load the ABI reference
Embedded or freestanding target No RTTI, no dynamic allocation in hot paths, possibly no STL containers

Ownership and RAII

Every resource has exactly one owner, and that owner is an object whose destructor releases it. A raw new or delete in application code is a defect.

  • std::unique_ptr<T> for sole ownership. It is the default; it costs nothing over a raw pointer.
  • std::shared_ptr<T> only where lifetime is genuinely shared and cannot be expressed as "the owner outlives the users". Reach for it third, not first.
  • std::weak_ptr<T> to break ownership cycles. LeakSanitizer does report a cycle that is unreachable from any root, but not one still reachable from a global or other registered root, and detection varies by platform and configuration. Do not rely on the sanitizer to find these.
  • Raw T* and T& mean non-owning observation, and are correct in that role. A parameter taking unique_ptr by value is announcing that it consumes ownership; one taking T* is announcing it does not.
  • std::span<T> (C++20) or a pointer-plus-length pair for a borrowed contiguous range in a new public API, since const std::vector<T>& there refuses every other container. On a C++17 baseline, or for internal code whose callers all hold vectors anyway, const std::vector<T>& is fine and simpler.

Read the full file on GitHub · 90 lines

Files

What ships with it

6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago Changed · +8 lines 0fa2092c6c77
  2. 24d ago Changed 6c0a8ee44203
  3. 1mo ago Changed · -65 lines a3e4e86a885e
  4. 1mo ago First seen · 147 lines · 78 tokens per session scan A 56385847391c

Subscribe to this mod's changes

cpp-systems is a skill published in the GitHub repository iliaal/ai-skills (43 stars, last pushed yesterday), licensed MIT. It adds 78 tokens to every session and 1,287 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories