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

{
  "context": "Tests whether the agent applies Rust API naming guidelines for types, methods, conversions, predicates, constants, and public rename compatibility.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Type PascalCase",
      "description": "Renames structs and enums to PascalCase.",
      "max_score": 10
    },
    {
      "name": "Variants PascalCase",
      "description": "Renames enum variants to PascalCase.",
      "max_score": 7
    },
    {
      "name": "Constant style",
      "description": "Renames the constant to SCREAMING_SNAKE_CASE.",
      "max_score": 8
    },
    {
      "name": "Field clarity",
      "description": "Replaces generic data/items names with role-appropriate cache entry/value names where clearer.",
      "max_score": 7
    },
    {
      "name": "Getter idiom",
      "description": "Renames get_data to a Rust-style getter without get_ or to a more specific borrowed-view name.",
      "max_score": 10
    },
    {
      "name": "Conversion idiom",
      "description": "Renames convert_to_vec according to Rust ownership semantics, such as into_* for consuming or as_* for borrowed views.",
      "max_score": 10
    },
    {
      "name": "Predicate prefix",
      "description": "Renames check_empty to an is_/has_ predicate name.",
      "max_score": 8
    },
    {
      "name": "Verb function",
      "description": "Replaces do_thing with a verb phrase that states the operation performed.",
      "max_score": 8
    },
    {
      "name": "Constructor nuance",
      "description": "Notes whether new(Vec<T>) is acceptable or whether from_* / with_* would better describe an argument-taking constructor.",
      "max_score": 7
    },
    {
      "name": "Generic parameter",
      "description": "Keeps or uses appropriate Rust generic parameter naming such as T or a descriptive PascalCase type parameter.",
      "max_score": 5
    },
    {
      "name": "Public migration",
      "description": "Mentions compatibility/deprecation concerns for renaming public Rust APIs.",
      "max_score": 10
    },
    {
      "name": "Rationale",
      "description": "Explains choices in terms of Rust culture, role, truthfulness, and readability.",
      "max_score": 10
    }
  ]
}

evals

SKILL.md

tile.json