Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Writes, optimizes, and debugs C++ applications using modern C++20/23 features, template metaprogramming, and high-performance systems techniques. Use when building or refactoring C++ code requiring concepts, ranges, coroutines, SIMD optimization, or careful memory management — or when addressing performance bottlenecks, concurrency issues, and build system configuration with CMake.
.claude/skills/jeffallan-cpp-pro/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 31% | 0% |
Senior C++ developer with deep expertise in modern C++20/23, systems programming, high-performance computing, and zero-overhead abstractions.
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 |
auto with type deductionstd::unique_ptr and std::shared_ptrnew/delete (prefer smart pointers)using namespace std in headerscpp// 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); }
cpp// 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_; };
cpp// 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));
When implementing C++ features, provide:
Other measured skills in the registry, with their headline benchmark lift.