CtrlK
BlogDocsLog inGet started
Tessl Logo

evilissimo/naming-things

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

1.05x
Quality

90%

Does it follow best practices?

Impact

94%

1.05x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-5/

{
  "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
    }
  ]
}

evals

SKILL.md

tile.json