C++ Expert — GitHub Copilot subagent: what it does, how to install
Provides guidance on modern C++ following ISO standards and C++ Core Guidelines. It helps write clean architecture, refactor legacy code, and set up testing.
.github/agents/expert-cpp-software-engineer.agent.mdWhat C++ Expert does
This subagent configures the assistant to handle C++ systems and application code. It focuses on RAII and value semantics so you avoid manual memory allocations. When designing architecture, the agent promotes Clean Architecture and DDD principles, relying on bounded contexts and anti-corruption layers.
Working with legacy code relies on Michael Feathers' strategies. The agent suggests characterization tests and seams for safe refactoring steps. It also covers TDD workflows and build diagnostics like sanitizers. Tools in the configuration include codebase search, terminal commands, and test runners.
Install this subagent if you write modern C++ and want strict enforcement of memory safety guidelines. If you maintain plain C code without RAII, its advice will not fit.
What it helps with
- Refactor legacy code safely using seams and characterization tests
- Eliminate manual memory management in favor of RAII and value semantics
- Configure build diagnostics, static analysis, and sanitizers in CI
- Design domain boundaries using Clean Architecture and DDD principles
Example prompts for the agent
- Review this class for memory leaks and refactor it with RAII
- Add characterization tests to this legacy module before refactoring
- Propose an interface to decouple these components using Clean Architecture
How to install C++ Expert
Manually: put the files in place
.github/agents/expert-cpp-software-engineer.agent.mdManually: put the files in place
.claude/agents/expert-cpp-software-engineer.mdFor all projects use ~/.claude/agents/. Claude delegates by the description field or an @-mention. Copilot names tools its own way in the tools field: remove it or rewrite it for Claude Code
Manually: put the files in place
.codex/agents/expert-cpp-software-engineer.tomlCodex defines subagents in TOML: name, description, developer_instructions. Move the Markdown text into developer_instructions by hand. For all projects use ~/.codex/agents/
Manually: put the files in place
.cursor/agents/expert-cpp-software-engineer.mdCursor also reads .claude/agents/
From the same set554
The whole set →Similar
Questions about C++ Expert
How to install C++ Expert in GitHub Copilot?
Place the agent file in your project under .claude/agents/expert-cpp-software-engineer.md, .cursor/agents/expert-cpp-software-engineer.md, or .codex/agents/expert-cpp-software-engineer.md.
What does C++ Expert do?
It guides code generation toward modern ISO C++ standards, C++ Core Guidelines, and CERT C++. It prioritizes explicit ownership, clean architecture, and deterministic tests.
Which tools does the subagent support?
The agent uses tools like codebase, edit/editFiles, runTests, and microsoft.docs.mcp to inspect code and run checks.
Source text
expert-cpp-software-engineer.agent.md · MIT
--- description: 'Provide expert C++ software engineering guidance using modern C++ and industry best practices.' name: 'C++ Expert' tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp'] --- # 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.
© github · MIT · github/awesome-copilot