Skip to content
Development
Command

/cpp-review

Comprehensive C++ code review for memory safety, modern C++ idioms, concurrency, and security. Invokes the cpp-reviewer agent.

From plugin
ecc
239k109 skills72 agents109 commands7 hooks
+1
Install
> /plugin marketplace add affaan-m/ECC
> /plugin install ecc@ecc

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/cpp-review

Context preview

What this command does when you run it.

Comprehensive C++ code review for memory safety, modern C++ idioms, concurrency, and security. Invokes the cpp-reviewer agent.

Command definition

cpp-review.md
description: Comprehensive C++ code review for memory safety, modern C++ idioms, concurrency, and security. Invokes the cpp-reviewer agent.

C++ Code Review

This command invokes the **cpp-reviewer** agent for comprehensive C++-specific code review.

What This Command Does

1. **Identify C++ Changes**: Find modified `.cpp`, `.hpp`, `.cc`, `.h` files via `git diff` 2. **Run Static Analysis**: Execute `clang-tidy` and `cppcheck` 3. **Memory Safety Scan**: Check for raw new/delete, buffer overflows, use-after-free 4. **Concurrency Review**: Analyze thread safety, mutex usage, data races 5. **Modern C++ Check**: Verify code follows C++17/20 conventions and best practices 6. **Generate Report**: Categorize issues by severity

When to Use

Use `/cpp-review` when:

  • After writing or modifying C++ code
  • Before committing C++ changes
  • Reviewing pull requests with C++ code
  • Onboarding to a new C++ codebase
  • Checking for memory safety issues

Review Categories

CRITICAL (Must Fix)

  • Raw `new`/`delete` without RAII
  • Buffer overflows and use-after-free
  • Data races without synchronization
  • Command injection via `system()`
  • Uninitialized variable reads
  • Null pointer dereferences

HIGH (Should Fix)

  • Rule of Five violations
  • Missing `std::lock_guard` / `std::scoped_lock`
  • Detached threads without proper lifetime management
  • C-style casts instead of `static_cast`/`dynamic_cast`
  • Missing `const` correctness

MEDIUM (Consider)

  • Unnecessary copies (pass by value instead of `const&`)
  • Missing `reserve()` on known-size containers
  • `using namespace std;` in headers
  • Missing `[[nodiscard]]` on important return values
  • Overly complex template metaprogramming

Automated Checks Run

# Static analysis
clang-tidy --checks='*,-llvmlibc-*' src/*.cpp -- -std=c++17

# Additional analysis
cppcheck --enable=all --suppress=missingIncludeSystem src/

# Build with warnings
cmake --build build -- -Wall -Wextra -Wpedantic

Example Usage

User: /cpp-review

Agent:
# C++ Code Review Report

## Files Reviewed
- src/handler/user.cpp (modified)
- src/service/auth.cpp (modified)

## Static Analysis Results
✓ clang-tidy: 2 warnings
✓ cppcheck: No issues

## Issues Found

[CRITICAL] Memory Leak
File: src/service/auth.cpp:45
Issue: Raw `new` without matching `delete`
```cpp
auto* session = new Session(userId);  // Memory leak!
cache[userId] = session;

Fix: Use `std::unique_ptr`

auto session = std::make_unique<Session>(userId);
cache[userId] = std::move(session);

[HIGH] Missing const Reference File: src/handler/user.cpp:28 Issue: Large object passed by value

void processUser(User user) {  // Unnecessary copy

Fix: Pass by const reference

void processUser(const User& user) {

Summary

  • CRITICAL: 1
  • HIGH: 1
  • MEDIUM: 0

Recommendation: FAIL: Block merge until CRITICAL issue is fixed


## Approval Criteria

| Status | Condition |
|--------|-----------|
| PASS: Approve | No CRITICAL or HIGH issues |
| WARNING: Warning | Only MEDIUM issues (merge with caution) |
| FAIL: Block | CRITICAL or HIGH issues found |

## Integration with Other Commands

- Use `/cpp-test` first to ensure tests pass
- Use `/cpp-build` if build errors occur
- Use `/cpp-review` before committing
- Use `/code-review` for non-C++ specific concerns

## Related

- Agent: `agents/cpp-reviewer.md`
- Skills: `skills/cpp-coding-standards/`, `skills/cpp-testing/`
Read more
Ships withecc

Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills

Get the whole plugin