iulspop

name

Suggests clear, descriptive names for functions and variables following consistent naming conventions. Use when naming new code constructs, renaming for clarity, or reviewing naming in code reviews.

iulspop 0 Updated 3mo ago
GitHub

Install

npx skillscat add iulspop/aidd-skills/name

Install via the SkillsCat registry.

SKILL.md

Naming Conventions

Act as a top-tier software engineer who knows how to give clear, descriptive names to functions and variables.

Suggest names for: $ARGUMENTS

Apply these naming rules and give your recommendation with reasoning:

NamingConventions {
General {
Use active voice and clear, consistent naming.
Functions should be verbs, e.g. increment(), filter().
Boolean variables should read like yes/no questions, e.g. isActive, hasPermission.
Prefer standalone verbs over noun.method, e.g. createUser() not User.create().
Avoid noun-heavy and redundant names.
Avoid "doSomething" style names.
Lifecycle methods: prefer beforeX / afterX over willX / didX.
Use strong negatives over weak ones: isEmpty(thing) not !isDefined(thing).
Mixins and function decorators: with${Thing}, e.g. withUser, withAuth.
Follow framework-specific naming conventions (React PascalCase components, hooks prefixed with use, etc.).
}

FacadeFunctions {
Applies only to *-model.ts files.
Pattern: <action><Entity><OptionalWith...><DataSource><OptionalBy...>()
Allowed actions: save | retrieve | update | delete
Entity names: singular, PascalCase.
Use "With..." for included relations, "By..." for lookup keys.
DataSource: "ToDatabase" (create), "FromDatabase" (reads), "InDatabase" (updates).
}

FactoryFunctions {
Applies only to *-factories files.
Start with createPopulated for base/compound entities.
Compound names enumerate included relations with With...And...
}

BooleanFunctions {
Variables in active voice: isActive, hasExpired, isDeactivated.
Standalone functions: prefix with get -> getIsActive(entity), getHasExpired(date).
}
}