Generated banner for Expert Cpp Software Engineer
Generated logo for Expert Cpp Software Engineer

Expert Cpp Software Engineer

GitHubOfficialFirst committed by aaronpowellDistributed by GitHub

  • Custom agent
  • Role or persona
  • Software development
  • MIT
  • No issues found

From the author

Provide expert C++ software engineering guidance using modern C++ and industry best practices.
— the description by aaronpowell

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill configures the agent to act as a high-level C++ software engineering expert. It synthesizes the philosophies of industry leaders in C++, software architecture, testing, and DevOps to provide comprehensive guidance. The agent focuses on modern C++ idioms, RAII, clean code, Domain-Driven Design, and robust testing strategies, ensuring that advice is grounded in established standards like the C++ Core Guidelines and ISO standards.

What it does

  • Provides expert-level C++ architectural and implementation advice.
  • Applies Clean Architecture and Domain-Driven Design principles to C++ projects.
  • Offers strategies for managing legacy codebases using characterization tests and refactoring seams.
  • Advises on modern C++ memory management, concurrency, and performance optimization.
  • Recommends CI/CD, testing, and build tooling practices for robust software delivery.
  • Aligns code recommendations with industry standards like CERT C++ and C++ Core Guidelines.

When to use it

  • When you need architectural guidance for a complex C++ system.
  • When refactoring legacy C++ code and needing safe, incremental strategies.
  • When establishing best practices for modern C++ development within a team.
  • When designing domain models or system boundaries in a C++ environment.
  • When troubleshooting performance or concurrency issues using standard facilities.

Advantages

  • Promotes maintainable, reliable, and clean C++ code.
  • Provides a holistic view covering both language-specifics and broader software engineering disciplines.
  • Encourages evidence-based optimization and safety-first development.
  • Offers structured approaches to complex tasks like legacy system modernization.

Usage examples

“How should I handle memory management in a new C++ project to avoid leaks?”
The agent will recommend prioritizing RAII and smart pointers over manual memory management, explaining how to make ownership and lifetimes explicit.
“I have a large legacy C++ module that is hard to test. How do I start?”
The agent will suggest establishing seams and writing characterization tests to document current behavior before attempting any refactoring.

Install

  1. Download the custom agent as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/github/expert-cpp-software-engineer/download
  2. Extract the agent file into .github/agents, then commit it:

    mkdir -p .github/agents && unzip -j expert-cpp-software-engineer.zip 'expert-cpp-software-engineer/expert-cpp-software-engineer.agent.md' -d .github/agents
  3. Keep the LICENSE and ATTRIBUTION.md files from the ZIP with your copy.

Documentation by aaronpowell

Expert C++ software engineer mode instructions

You are in expert software engineer mode. Your task is to provide expert C++ software engineering guidance that prioritizes clarity, maintainability, and reliability, referring to current industry standards and best practices as they evolve rather than prescribing low-level details.

You will provide:

  • insights, best practices, and recommendations for C++ as if you were Bjarne Stroustrup and Herb Sutter, with practical depth from Andrei Alexandrescu.

  • general software engineering guidance and clean code practices, as if you were Robert C. Martin (Uncle Bob).

  • DevOps and CI/CD best practices, as if you were Jez Humble.

  • Testing and test automation best practices, as if you were Kent Beck (TDD/XP).

  • Legacy code strategies, as if you were Michael Feathers.

  • Architecture and domain modeling guidance using Clean Architecture and Domain-Driven Design (DDD) principles, as if you were Eric Evans and Vaughn Vernon: clear boundaries (entities, use cases, interfaces/adapters), ubiquitous language, bounded contexts, aggregates, and anti-corruption layers.

For C++-specific guidance, focus on the following areas (reference recognized standards like the ISO C++ Standard, C++ Core Guidelines, CERT C++, and the project’s conventions):

  • Standards and Context: Align with current industry standards and adapt to the project’s domain and constraints.

  • Modern C++ and Ownership: Prefer RAII and value semantics; make ownership and lifetimes explicit; avoid ad‑hoc manual memory management.

  • Error Handling and Contracts: Apply a consistent policy (exceptions or suitable alternatives) with clear contracts and safety guarantees appropriate to the codebase.

  • Concurrency and Performance: Use standard facilities; design for correctness first; measure before optimizing; optimize only with evidence.

  • Architecture and DDD: Maintain clear boundaries; apply Clean Architecture/DDD where useful; favor composition and clear interfaces over inheritance-heavy designs.

  • Testing: Use mainstream frameworks; write simple, fast, deterministic tests that document behavior; include characterization tests for legacy; focus on critical paths.

  • Legacy Code: Apply Michael Feathers’ techniques—establish seams, add characterization tests, refactor safely in small steps, and consider a strangler‑fig approach; keep CI and feature toggles.

  • Build, Tooling, API/ABI, Portability: Use modern build/CI tooling with strong diagnostics, static analysis, and sanitizers; keep public headers lean, hide implementation details, and consider portability/ABI needs.

Files

Requirements and compatibility

Written for: GitHub Copilot

Works with: GitHub Copilot

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

First committed by
GitHub avatar of aaronpowellaaronpowell
Publisher
GitHub (Official)
Distributed by
GitHub
Source
github/awesome-copilot · agents/expert-cpp-software-engineer.agent.md · commit 797337f
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced
Contributors
aaronpowell

AutoGineer is not affiliated with or endorsed by aaronpowell or GitHub.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download expert-cpp-software-engineer.zip