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). } }