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-2/

{
  "context": "Tests whether the agent applies TypeScript and React naming conventions while producing role-based, consistent replacements.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Component PascalCase",
      "description": "Renames the React component using PascalCase so it is valid and conventional JSX component naming.",
      "max_score": 10
    },
    {
      "name": "Interface no I",
      "description": "Removes the I prefix from the interface/type name while keeping PascalCase.",
      "max_score": 8
    },
    {
      "name": "Props PascalCase",
      "description": "Uses a PascalCase type/interface name for props rather than lowercase props.",
      "max_score": 7
    },
    {
      "name": "camelCase identifiers",
      "description": "Uses camelCase for variables, functions, props, and state values in the revised TypeScript code.",
      "max_score": 8
    },
    {
      "name": "Generic replacements",
      "description": "Flags and replaces generic info, cfg, data, flag, arr, res, and handle with more specific names.",
      "max_score": 12
    },
    {
      "name": "Boolean names",
      "description": "Renames boolean state/properties with is/has/can/should style or otherwise explicit boolean semantics.",
      "max_score": 10
    },
    {
      "name": "Handler prefix",
      "description": "Renames the event handler with handle or on plus the specific event/action.",
      "max_score": 8
    },
    {
      "name": "Array plural",
      "description": "Uses plural or collection-indicating names for arrays such as messages.",
      "max_score": 7
    },
    {
      "name": "Abbreviation expansion",
      "description": "Expands abbreviations such as cfg and msgs unless justified as domain-standard.",
      "max_score": 8
    },
    {
      "name": "Domain consistency",
      "description": "Uses consistent account/user/settings/message vocabulary rather than switching among unrelated terms.",
      "max_score": 10
    },
    {
      "name": "Review rationale",
      "description": "Explains why replacements improve intent, searchability, convention alignment, or code review readability.",
      "max_score": 12
    }
  ]
}

evals

SKILL.md

tile.json