askill
naming-scan

naming-scanSafety 95Repository

Review names for clarity principles. Find jargon, ambiguity, inconsistency.

0 stars
1.2k downloads
Updated 2/20/2026

Package Files

Loading files...
SKILL.md

/naming-scan [path]

Review names in code or configuration for clarity, consistency, and intent.

No arguments? Describe this skill and stop. Do not execute.

"Say what you mean, simply and directly."

Also Detect: AI-Generated Naming Antipatterns

In addition to clarity-style naming issues, flag these AI naming smells:

AntipatternExampleProblem
Enterprise suffixesUserManager, DataHandler, ServiceHelperVague, adds no information
Unnecessary prefixesIUserService, AbstractBaseHungarian notation for types
Generic -er namesProcessor, Handler, ManagerSays nothing about what it does
Impl suffixesUserServiceImplOnly one implementation exists
Over-qualified namesUserEntityDataModelObjectAfraid to commit to a name

A name should say what it IS, not what category it belongs to.


Process

Step 1: Collect Names

Gather all names in scope:

  • Function/method names
  • Variable names
  • Class/type names
  • File/directory names
  • Config keys
  • CLI commands/flags
  • API endpoints

Step 2: Apply Naming Principles

Review each name against these criteria:

Naming Principles

1. Say What It Does (Clarity)

Names should describe behavior, not implementation.

BadGoodWhy
processData()validateUserInput()Says what it actually does
doStuff()sendEmailNotification()Specific action
handle()retryFailedPayment()Reveals intent

2. Verbs for Actions, Nouns for Things (Clean Code)

TypePatternExamples
Functions that DOverb-nouncreateUser, deleteFile, validateInput
Functions that ASKis/has/canisValid, hasPermission, canRetry
Classes/TypesnounUser, PaymentProcessor, FileReader
Booleansis/has/shouldisActive, hasErrors, shouldRetry

3. Consistent Patterns (Google Style)

Pick a pattern and stick to it across the codebase:

PatternStick WithDon't Mix
get/setgetUser, setUserfetchUser, updateUser
create/deletecreateOrder, deleteOrdernewOrder, removeOrder
start/stopstartJob, stopJobbeginJob, endJob
read/writereadFile, writeFileloadFile, saveFile

4. No Jargon or Insider Terms

Names should be clear to someone new to the codebase.

JargonClearWhy
canonReportskillUsageReport"Canon" is internal terminology
ralphLoopKeep if documentedProper noun, acceptable if explained
PSFpageSortFilterAbbreviations obscure meaning
ctxcontextDon't abbreviate unnecessarily

5. No Abbreviations (Unless Universal)

AcceptableUnacceptable
id, url, html, apiusr, msg, btn, cfg
max, min, avgcnt, idx, tmp
async, syncdb (use database)

6. Length Matches Scope (Code Complete)

ScopeLengthExample
Loop counter1 chari, j, k
Local variableshortuser, count
Function parametermediumuserId, filterOptions
Class fielddescriptiveactiveUserCount, lastLoginDate
Global/exportedvery clearMAX_RETRY_ATTEMPTS, defaultTimeoutMs

7. Suffix Patterns for Behavior

Use consistent suffixes to signal behavior:

SuffixMeaningExamples
-scanRead-only, reportsgemini-scan, qodana-scan
-fixModifies, repairsgemini-review, deduplication
-checkValidates, returns booltype-check, lint-check
-reportGenerates outputskill-usage-report
-configConfiguration objectappConfig, dbConfig
-handlerEvent/request handlererrorHandler, clickHandler
-factoryCreates instancesuserFactory, connectionFactory

8. Prefix Patterns for Type

PrefixMeaningExamples
is-, has-, can-BooleanisActive, hasError
get-, fetch-Retrieves datagetUser, fetchOrders
set-, update-Modifies datasetName, updateStatus
create-, build-Constructs newcreateUser, buildQuery
delete-, remove-DestroysdeleteFile, removeItem
on-Event handleronClick, onSubmit

Output Format

## Naming Review: [target]

### Summary

| Metric | Value |
|--------|-------|
| Names reviewed | N |
| Issues found | N |
| Patterns broken | N |

### Issues Found

#### Unclear Names πŸ”΄

| Current | Problem | Suggested |
|---------|---------|-----------|
| `processData()` | Vague verb | `validateUserInput()` |
| `handle()` | Says nothing | `routeHttpRequest()` |

#### Jargon/Abbreviations 🟠

| Current | Problem | Suggested |
|---------|---------|-----------|
| `getPSF()` | Abbreviation | `getPageSortFilter()` |
| `canonPath` | Insider jargon | `skillLibraryPath` |

#### Inconsistent Patterns 🟑

| Pattern A | Pattern B | Recommendation |
|-----------|-----------|----------------|
| `getUser` | `fetchOrder` | Standardize on `get-` |
| `createFile` | `newDirectory` | Standardize on `create-` |

#### Wrong Part of Speech 🟑

| Current | Problem | Suggested |
|---------|---------|-----------|
| `validation()` | Noun for action | `validate()` |
| `active` (function) | Adjective for action | `isActive()` or `activate()` |

### Patterns Detected

- [x] Consistent get/set usage
- [ ] Mixed create/new usage
- [x] Boolean prefixes (is/has)
- [ ] Unclear abbreviations

### Recommendations

1. **Standardize on `create-`** β€” Replace `new-` prefix with `create-`
2. **Expand abbreviations** β€” `cfg` β†’ `config`, `msg` β†’ `message`
3. **Add verb to vague names** β€” `data()` β†’ `fetchData()` or `processData()`

---
NAMES_REVIEWED: N
ISSUES_FOUND: N
NAMING_REVIEW_COMPLETE: yes

Rules

  • BE SPECIFIC β€” Point to exact names, not vague categories
  • SUGGEST ALTERNATIVES β€” Don't just criticize, propose better names
  • CHECK CONSISTENCY β€” Same concept should use same words everywhere
  • RESPECT CONTEXT β€” Domain terms (medical, financial) may look like jargon but are correct

When to Use

  • Before PR review
  • After major refactoring
  • Onboarding new codebase
  • API design review
  • CLI/config design

Anti-Patterns (Don't Do)

  • Renaming without understanding context
  • Enforcing personal preference over team conventions
  • Flagging domain-specific terms as jargon
  • Suggesting longer names just to be "clearer"
  • Ignoring existing codebase conventions

Install

Download ZIP
Requires askill CLI v1.0+β–Ά

AI Quality Score

90/100Analyzed 2/24/2026

Excellent, comprehensive skill for reviewing code naming conventions. Covers 8 detailed naming principles with examples, includes AI antipatterns detection, provides structured process and output format. Well-organized with tables, clear rules, and when-to-use guidance. Tags (api, ci-cd, database, linting, observability) show broad applicability. Located in dedicated skills folder. Highly reusable across projects with no internal-only indicators.

95
95
85
90
90

Metadata

Licenseunknown
Version-
Updated2/20/2026
PublisherObjective-Arts

Tags

apici-cddatabaselintingobservability