Reviews and improves **names** in code — variables, functions, classes, modules, parameters — for clarity, intent, and consistency with language/team conventions. Triggers when asked to review names, rename things, improve code readability, clean up confusing code, or when examining code with generic/vague names like "data", "info", "manager", "temp", "util". Does NOT trigger for general code review unrelated to naming, architecture design, debugging, or performance optimization. Identifies naming anti-patterns (generic names, misleading names, type-encoding, abbreviations), suggests role-based names that reveal intent, checks consistency with project/domain vocabulary, and flags misalignment with language culture.
91
90%
Does it follow best practices?
Impact
94%
1.05xAverage score across 5 eval scenarios
Passed
No known issues
{
"context": "Tests whether the agent follows C++ project style first, identifies anti-patterns, and proposes safe, conventional names.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Project style first",
"description": "Explicitly follows the provided nearby project style rather than choosing an unrelated C++ convention.",
"max_score": 10
},
{
"name": "Namespace style",
"description": "Renames the namespace according to the project lowercase style.",
"max_score": 7
},
{
"name": "Type PascalCase",
"description": "Renames classes/structs to PascalCase.",
"max_score": 8
},
{
"name": "Function snake",
"description": "Renames methods/functions to snake_case following the project style.",
"max_score": 8
},
{
"name": "Getter setter",
"description": "Uses getter without get_ and setter with set_ according to common/project convention.",
"max_score": 8
},
{
"name": "Boolean predicate",
"description": "Renames Active to an is_/has_/can_ predicate that states the boolean meaning.",
"max_score": 8
},
{
"name": "Constant macro",
"description": "Replaces or renames the macro toward a project-style constant such as kPascalCase and notes macros should be rare.",
"max_score": 8
},
{
"name": "Member suffix",
"description": "Renames private members with trailing underscores and removes mixed m_ or bare generic styles.",
"max_score": 8
},
{
"name": "Reserved underscore",
"description": "Flags _name or leading underscore private member style as risky/reserved and changes it.",
"max_score": 7
},
{
"name": "No Hungarian",
"description": "Removes Hungarian/type-encoded names such as strName, m_intCount, pszName.",
"max_score": 8
},
{
"name": "Role names",
"description": "Replaces tmp, data, and i with names that reveal their role in networking/packets rather than type or position.",
"max_score": 10
},
{
"name": "Compatibility safety",
"description": "Mentions public API rename risks and safe rename steps such as symbol refactoring, tests, and grepping stale references.",
"max_score": 10
}
]
}