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 applies Go naming culture, package/API conventions, anti-stutter checks, and compatibility guidance.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Package name",
"description": "Replaces the generic util package with a short lowercase domain-specific package name.",
"max_score": 10
},
{
"name": "Export semantics",
"description": "Uses PascalCase only for exported Go names and camelCase/mixedCaps for unexported names as appropriate.",
"max_score": 8
},
{
"name": "No self receiver",
"description": "Replaces this with a short consistent Go receiver name.",
"max_score": 8
},
{
"name": "Interface naming",
"description": "Renames the interface without an I prefix and uses an er-style or descriptive interface name appropriate to its methods.",
"max_score": 10
},
{
"name": "Avoid Get",
"description": "Renames GetData to a name that reflects parsing/splitting rather than an accessor Get prefix.",
"max_score": 10
},
{
"name": "Avoid Manager",
"description": "Addresses the vague DataManager name with a role-specific type name or removes unnecessary type ceremony.",
"max_score": 8
},
{
"name": "Local names",
"description": "Replaces s, res, item, str, d, out, and flag with clearer role-based names where their scope warrants it.",
"max_score": 12
},
{
"name": "Boolean wrapper",
"description": "Identifies that a boolean parameter such as flag may deserve a clearer name or wrapper function.",
"max_score": 7
},
{
"name": "No stutter",
"description": "Avoids redundant package/type/function stutter in proposed public API names.",
"max_score": 8
},
{
"name": "Domain language",
"description": "Uses consistent allowlist/token/input terminology in replacements.",
"max_score": 9
},
{
"name": "Compatibility plan",
"description": "Mentions deprecation or migration considerations for changing exported Go API names.",
"max_score": 10
}
]
}