cpp-pro

jeffallan/claude-skills · updated Apr 8, 2026

$npx skills add https://github.com/jeffallan/claude-skills --skill cpp-pro
0 commentsdiscussion
summary

Modern C++20/23 specialist for writing, optimizing, and debugging high-performance systems code.

  • Covers C++20 concepts, ranges, coroutines, template metaprogramming, and SIMD optimization with zero-overhead abstractions
  • Enforces RAII, const-correctness, smart pointers, and comprehensive sanitizer/static analysis checks before delivery
  • Includes reference guides for modern features, templates, memory management, concurrency patterns, and CMake build configuration
  • Delivers header fil
skill.md

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:

Topic Reference Load When
Modern C++ Features references/modern-cpp.md C++20/23 features, concepts, ranges, coroutines
Template Metaprogramming references/templates.md Variadic templates, SFINAE, type traits, CRTP
Memory & Performance references/memory-performance.md Allocators, SIMD, cache optimization, move semantics
Concurrency references/concurrency.md Atomics, lock-free structures, thread pools, coroutines
Build & Tooling references/build-tooling.md CMake, 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

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.450 reviews
  • Anika Abebe· Dec 16, 2024

    cpp-pro has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Henry Sharma· Dec 8, 2024

    cpp-pro fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Sofia Singh· Nov 27, 2024

    I recommend cpp-pro for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Omar Nasser· Nov 7, 2024

    Solid pick for teams standardizing on skills: cpp-pro is focused, and the summary matches what you get after install.

  • Omar Ndlovu· Oct 26, 2024

    I recommend cpp-pro for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Arya Martin· Oct 18, 2024

    Solid pick for teams standardizing on skills: cpp-pro is focused, and the summary matches what you get after install.

  • Arjun Yang· Sep 25, 2024

    Registry listing for cpp-pro matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Omar Dixit· Sep 13, 2024

    Solid pick for teams standardizing on skills: cpp-pro is focused, and the summary matches what you get after install.

  • Sophia Haddad· Sep 9, 2024

    Keeps context tight: cpp-pro is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Arjun Chen· Sep 9, 2024

    I recommend cpp-pro for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

showing 1-10 of 50

1 / 5