Meaningful identifiers

SkillDev tools

Naming guidance for callback parameters and local variables in TypeScript. Use when writing or refactoring loops, array callbacks (map/filter/find/reduce), or local accumulators.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Meaningful identifiers skill

What this skill tells your AI

The instructions your AI receives, as published by hashintel/hash in .agents/skills/meaningful-identifiers/SKILL.md and read by ahel’s review.

Callback parameters and local variables must describe the value they hold.

Rules

  • Name array callback params after the element's domain type: batches.map((batch) => …), bins.filter((bin) => …), checkpoints.find((checkpoint) => …). Never reuse right/left/column for values that are not sort operands or table columns.
  • Name reduce accumulators after what they accumulate: sum/total for a running total, not step.
  • Name percentile/ratio arguments for the quantity they represent (percentileRank, multiplier), not an unrelated domain noun.

Leave correct uses untouched

  • Sort comparators: (left, right) => left - right.
  • (column) => column.key over a real .columns array.
  • for (const row of …Rows) where the items are genuinely rows.

Signals

GitHub stars
2k
Forks
122
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
meaningful-identifiers
Source
github.com/hashintel/hash