Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jeffallan avatar

Cpp Pro

  • 3.9k installs
  • 10.8k repo stars
  • Updated May 20, 2026
  • jeffallan/claude-skills

Senior C++ developer that writes, optimizes, and debugs modern C++20/23 code with zero-overhead abstractions, systems programming expertise, and performance profiling.

About

cpp-pro is a specialist skill for senior C++ development using modern C++20/23 standards, template metaprogramming, and systems programming techniques. It guides developers through architecture analysis, type-safe interface design with concepts, zero-cost abstraction implementation, memory safety verification with sanitizers, and performance profiling with real workloads. Core workflows include RAII resource management, smart pointer ownership patterns, constexpr optimization, SIMD acceleration, and CMake build configuration. The skill enforces C++ Core Guidelines, concept-based templates, and const-correctness while prohibiting raw pointers, C-style casts, and undefined behavior. Load detailed references for modern features, template metaprogramming, memory optimization, concurrency primitives, and tooling configuration. C++20/23 concepts for type-safe, self-documenting template constraints. RAII wrappers and smart pointer patterns (unique_ptr, shared_ptr) eliminating manual resource cleanup. Sanitizer-driven verification: AddressSanitizer and UndefinedBehaviorSanitizer before optimization. Zero-overhead abstractions via constexpr, move semantics, and cache-aware layout.

  • C++20/23 concepts for type-safe, self-documenting template constraints
  • RAII wrappers and smart pointer patterns (unique_ptr, shared_ptr) eliminating manual resource cleanup
  • Sanitizer-driven verification: AddressSanitizer and UndefinedBehaviorSanitizer before optimization
  • Zero-overhead abstractions via constexpr, move semantics, and cache-aware layout
  • CMake build configuration with compiler warnings, static analysis, and performance benchmarking

Cpp Pro by the numbers

  • 3,863 all-time installs (skills.sh)
  • +125 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #162 of 4,386 Backend & APIs skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

cpp-pro capabilities & compatibility

Capabilities
c++20/23 concept design and validation · template metaprogramming and type traits · raii resource management and smart pointers · simd and cache optimization · concurrency (atomics, lock free, coroutines) · cmake build configuration and tooling · sanitizer driven debugging and verification · performance profiling and benchmarking
Use cases
code review · debugging · refactoring · api development · devops
Platforms
Linux · macOS · Windows
Runs
Runs locally
From the docs

What cpp-pro says it does

Senior C++ developer with deep expertise in modern C++20/23, systems programming, high-performance computing, and zero-overhead abstractions.
cpp-pro.md (description)
npx skills add https://github.com/jeffallan/claude-skills --skill cpp-pro

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3.9k
repo stars10.8k
Security audit3 / 3 scanners passed
Last updatedMay 20, 2026
Repositoryjeffallan/claude-skills

What it does

Write and optimize C++20/23 applications with modern patterns, high-performance techniques, and zero-overhead abstractions.

Who is it for?

Senior developers building systems libraries, high-performance APIs, game engines, financial systems, or refactoring legacy C++ to modern standards.

Skip if: Quick prototypes, C++11/14 legacy codebases without refactoring appetite, or projects avoiding modern C++ dependency.

When should I use this skill?

Building C++20/23 features, optimizing performance bottlenecks, addressing memory/concurrency issues, designing type-safe interfaces, or configuring CMake build systems.

What you get

Developers receive production-ready C++20/23 implementations following Core Guidelines, verified with sanitizers, optimized via profiling, and architected for maintainability and performance.

  • CMakeLists.txt
  • Install and target configuration

By the numbers

  • Supports C++20/23 standards and features per cppreference
  • Enforces 8 MUST-DO guidelines: Core Guidelines compliance, concepts, RAII, sanitizers, const-correctness, smart pointers

Files

SKILL.mdMarkdownGitHub ↗

C++ Pro

Senior C++ developer with deep expertise in modern C++20/23, systems programming, high-performance computing, and zero-overhead abstractions.

Core Workflow

1. Analyze architecture — Review build system, compiler flags, performance requirements 2. Design with concepts — Create type-safe interfaces using C++20 concepts 3. Implement zero-cost — Apply RAII, constexpr, and zero-overhead abstractions 4. Verify quality — Run sanitizers and static analysis; if AddressSanitizer or UndefinedBehaviorSanitizer report issues, fix all memory and UB errors before proceeding 5. Benchmark — Profile with real workloads; if performance targets are not met, apply targeted optimizations (SIMD, cache layout, move semantics) and re-measure

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Modern C++ Featuresreferences/modern-cpp.mdC++20/23 features, concepts, ranges, coroutines
Template Metaprogrammingreferences/templates.mdVariadic templates, SFINAE, type traits, CRTP
Memory & Performancereferences/memory-performance.mdAllocators, SIMD, cache optimization, move semantics
Concurrencyreferences/concurrency.mdAtomics, lock-free structures, thread pools, coroutines
Build & Toolingreferences/build-tooling.mdCMake, sanitizers, static analysis, testing

Constraints

MUST DO

  • Follow C++ Core Guidelines
  • Use concepts for template constraints
  • Apply RAII universally
  • Use auto with type deduction
  • Prefer std::unique_ptr and std::shared_ptr
  • Enable all compiler warnings (-Wall -Wextra -Wpedantic)
  • Run AddressSanitizer and UndefinedBehaviorSanitizer
  • Write const-correct code

MUST NOT DO

  • Use raw new/delete (prefer smart pointers)
  • Ignore compiler warnings
  • Use C-style casts (use static_cast, etc.)
  • Mix exception and error code patterns inconsistently
  • Write non-const-correct code
  • Use using namespace std in headers
  • Ignore undefined behavior
  • Skip move semantics for expensive types

Key Patterns

Concept Definition (C++20)

// Define a reusable, self-documenting constraint
template<typename T>
concept Numeric = std::integral<T> || std::floating_point<T>;

template<Numeric T>
T clamp(T value, T lo, T hi) {
    return std::clamp(value, lo, hi);
}

RAII Resource Wrapper

// Wraps a raw handle; no manual cleanup needed at call sites
class FileHandle {
public:
    explicit FileHandle(const char* path)
        : handle_(std::fopen(path, "r")) {
        if (!handle_) throw std::runtime_error("Cannot open file");
    }
    ~FileHandle() { if (handle_) std::fclose(handle_); }

    // Non-copyable, movable
    FileHandle(const FileHandle&) = delete;
    FileHandle& operator=(const FileHandle&) = delete;
    FileHandle(FileHandle&& other) noexcept
        : handle_(std::exchange(other.handle_, nullptr)) {}

    std::FILE* get() const noexcept { return handle_; }
private:
    std::FILE* handle_;
};

Smart Pointer Ownership

// Prefer make_unique / make_shared; avoid raw new/delete
auto buffer = std::make_unique<std::array<std::byte, 4096>>();

// Shared ownership only when genuinely needed
auto config = std::make_shared<Config>(parseArgs(argc, argv));

Output Templates

When implementing C++ features, provide: 1. Header file with interfaces and templates 2. Implementation file (when needed) 3. CMakeLists.txt updates (if applicable) 4. Test file demonstrating usage 5. Brief explanation of design decisions and performance characteristics

Documentation

Related skills

How it compares

Pick cpp-pro over generic C++ advice skills when the deliverable must be a complete Modern CMake file with install rules and FetchContent rather than snippet-level syntax help.

FAQ

When should I use concepts vs. SFINAE?

Concepts (C++20) are preferred: clearer, more readable, better error messages. SFINAE only when targeting C++17 or earlier.

How do I avoid undefined behavior in systems code?

Enable AddressSanitizer and UndefinedBehaviorSanitizer in development. Follow C++ Core Guidelines: use RAII, smart pointers, const-correctness, and avoid raw casts.

What is zero-overhead abstraction?

Code that enforces correctness at compile-time (constexpr, concepts, templates) with no runtime penalty compared to manual implementations.

Is Cpp Pro safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Backend & APIsbackenddevops

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.