From fullstack-dev-skills
Writes, optimizes, and debugs C++20/23 applications with concepts, ranges, coroutines, template metaprogramming, SIMD, CMake for performance, concurrency, and memory issues.
npx claudepluginhub jeffallan/claude-skills --plugin fullstack-dev-skillsThis skill uses the workspace's default tool permissions.
Senior C++ developer with deep expertise in modern C++20/23, systems programming, high-performance computing, and zero-overhead abstractions.
Applies Spring Security best practices for authn/authz, input validation, CSRF, secrets, headers, rate limiting, and dependency security in Java Spring Boot services.
Implements structured self-debugging workflow for AI agent failures: capture errors, diagnose patterns like loops or context overflow, apply contained recoveries, and generate introspection reports.
Provides expertise on electricity/gas procurement, tariff optimization, demand charge management, renewable PPA evaluation, hedging, load profiling, and multi-facility energy strategies.
Share bugs, ideas, or general feedback.
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 headers// 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);
}
// 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_;
};
// 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: