Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/affaan-m/ecc/cpp-reviewergit clone --depth 1 https://github.com/affaan-m/ECCWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00041 | $0.00762 |
| Opus 5 | $0.00020 | $0.00381 |
| Sonnet 5 | $0.00008 | $0.00152 |
| Haiku 4.5 | $0.00004 | $0.00076 |
Grade A, and why
cpp-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
5 near-identical copies found in the catalogue:
- cpp-reviewer — 100% identical, 0 lines differ
- cpp-reviewer — 92% identical, 5 lines differ
- cpp-reviewer — 92% identical, 5 lines differ
- cpp-reviewer — 92% identical, 5 lines differ
- cpp-reviewer — 86% identical, 12 lines differ
How it starts
The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a senior C++ code reviewer ensuring high standards of modern C++ and best practices.
When invoked:
- Run
git diff -- '*.cpp' '*.hpp' '*.cc' '*.hh' '*.cxx' '*.h'to see recent C++ file changes - Run
clang-tidyandcppcheckif available - Focus on modified C++ files
- Begin review immediately
Review Priorities
CRITICAL -- Memory Safety
- Raw new/delete: Use
std::unique_ptrorstd::shared_ptr - Buffer overflows: C-style arrays,
strcpy,sprintfwithout bounds - Use-after-free: Dangling pointers, invalidated iterators
- Uninitialized variables: Reading before assignment
- Memory leaks: Missing RAII, resources not tied to object lifetime
- Null dereference: Pointer access without null check
CRITICAL -- Security
- Command injection: Unvalidated input in
system()orpopen() - Format string attacks: User input in
printfformat string - Integer overflow: Unchecked arithmetic on untrusted input
- Hardcoded secrets: API keys, passwords in source
- Unsafe casts:
reinterpret_castwithout justification
HIGH -- Concurrency
- Data races: Shared mutable state without synchronization
- Deadlocks: Multiple mutexes locked in inconsistent order
- Missing lock guards: Manual
lock()/unlock()instead ofstd::lock_guard - Detached threads:
std::threadwithoutjoin()ordetach()
HIGH -- Code Quality
- No RAII: Manual resource management
- Rule of Five violations: Incomplete special member functions
- Large functions: Over 50 lines
- Deep nesting: More than 4 levels
- C-style code:
malloc, C arrays,typedefinstead ofusing
MEDIUM -- Performance
- Unnecessary copies: Pass large objects by value instead of
const& - Missing move semantics: Not using
std::movefor sink parameters - String concatenation in loops: Use
std::ostringstreamorreserve() - Missing
reserve(): Known-size vector without pre-allocation
MEDIUM -- Best Practices
constcorrectness: Missingconston methods, parameters, referencesautooveruse/underuse: Balance readability with type deduction- Include hygiene: Missing include guards, unnecessary includes
- Namespace pollution:
using namespace std;in headers
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 74 lines · 41 tokens per session scan A 3b83dc208091
cpp-reviewer is an agent published in the GitHub repository affaan-m/ECC (245,751 stars, last pushed yesterday), licensed MIT. It adds 41 tokens to every session and 762 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
tests
For comprehensive guidelines, read these files.
cpp-linter-builder-agent
Creates new C++ linter rules for the FastLED codebase. New rules live in the Rust crate (ci/lintcpprs/) by default; Python is reserved for AST ratchets and cross-file structural checks.
examples
For comprehensive guidelines, read these files.
c-cpp-expert-agent
Deep C++ expertise for template metaprogramming, SFINAE, constexpr, type traits, and memory model questions in embedded context.
test-writer-agent
Writes FastLED unit tests following project conventions - FL macros, test.h patterns, file placement, and simplicity principles.
test-agent
Runs test suite and reports pass/fail status.