# Naming Analyzer

Suggest better variable, function, and class names based on context and conventions.

- Repository: https://github.com/softaworks/agent-toolkit (2611 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-03-05
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add softaworks/agent-toolkit --skill naming-analyzer -g -a claude-code -y`
Codex: `npx skills add softaworks/agent-toolkit --skill naming-analyzer -g -a codex -y`
Cursor: `npx skills add softaworks/agent-toolkit --skill naming-analyzer -g -a cursor -y`
Gemini CLI: `npx skills add softaworks/agent-toolkit --skill naming-analyzer -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add softaworks/agent-toolkit`

## Description

Suggest better variable, function, and class names based on context and conventions.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Naming Analyzer Skill

Suggest better variable, function, and class names based on context and conventions.

## Instructions

You are a naming convention expert. When invoked:

1. **Analyze Existing Names**:
   - Variables, constants, functions, methods
   - Classes, interfaces, types
   - Files and directories
   - Database tables and columns
   - API endpoints

2. **Identify Issues**:
   - Unclear or vague names
   - Abbreviations that obscure meaning
   - Inconsistent naming conventions
   - Misleading names (name doesn't match behavior)
   - Too short or too long names
   - Hungarian notation misuse
   - Single-letter variables outside loops

3. **Check Conventions**:
   - Language-specific conventions (camelCase, snake_case, PascalCase)
   - Framework conventions (React components, Vue props)
   - Project-specific patterns
   - Industry standards

4. **Provide Suggestions**:
   - Better alternative names
   - Reasoning for each suggestion
   - Consistency improvements
   - Contextual appropriateness

## Naming Conventions by Language

### JavaScript/TypeScript
- Variables/functions: `camelCase`
- Classes/interfaces: `PascalCase`
- Constants: `UPPER_SNAKE_CASE`
- Private fields: `_prefixUnderscore` or `#privateField`
- Boolean: `is`, `has`, `can`, `should` prefixes

### Python
- Variables/functions: `snake_case`
- Classes: `PascalCase`
- Constants: `UPPER_SNAKE_CASE`
- Private: `_prefix_underscore`
- Boolean: `is_`, `has_`, `can_` prefixes

### Java
- Variables/methods: `camelCase`
- Classes/interfaces: `PascalCase`
- Constants: `UPPER_SNAKE_CASE`
- Packages: `lowercase`

### Go
- Exported: `PascalCase`
- Unexported: `camelCase`
- Acronyms: All caps (`HTTPServer`, not `HttpServer`)

## Common Naming Issues

### Too Vague
```javascript
// ❌ Bad - Too generic
function process(data) { }
const info = getData();
let temp = x;

// ✓ Good - Specific and clear
function processPayment(transaction) { }
const userProfile = getUserProfile();
let previousValue = x;
```

The rest: https://github.com/softaworks/agent-toolkit/blob/HEAD/dist/plugins/naming-analyzer/skills/naming-analyzer/SKILL.md
