SkillAtlasSkill 详情

naming-analyzer

Opinionated skills shared by @leonardocouy for improving daily work efficiency with Claude Code.

审核状态:已审核Quality 72Security 70

复制安装命令

用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。

复制前请先查看来源、License 和安全提示。

项目 README

来源文件:README.md

抓取于 2026年8月15日

Softaworks Agent Skills

Opinionated skills shared by @leonardocouy for improving daily work efficiency with Claude Code. Skills are packaged instructions and scripts that extend agent capabilities across development, documentation, planning, and professional workflows.

Skills follow the Agent Skills format.


🧭 Quick Navigation

🚀 Installation • 📚 Available Skills • 🤖 Agents & Commands • 📖 Skill Structure • 🤝 Contributing • 📄 License • 🔗 Links


🚀 Installation

Quick Install (Recommended)

npx skills add softaworks/agent-toolkit

This method works with multiple AI coding agents (Claude Code, Codex, Cursor, AdaL, etc.)

Register as Plugin Marketplace

Run the following commands in Claude Code:

/plugin marketplace add softaworks/agent-toolkit
/plugin

Install Plugins

Option 1: Via Browse UI

  1. Switch to Marketplaces tab (use arrow keys or Tab)
  2. Select agent-toolkit, press Enter
  3. Browse and select the plugin(s) you want to install
  4. Select Install now

Option 2: Direct Install

# Install specific skill
/plugin install codex@agent-toolkit
/plugin install humanizer@agent-toolkit

# Install specific agent
/plugin install agent-codebase-pattern-finder@agent-toolkit

# Install specific command
/plugin install command-codex-plan@agent-toolkit

Option 3: Ask the Agent

Simply tell Claude Code:

Please install Skills from github.com/softaworks/agent-toolkit

Available Plugins

Each skill, agent, and command is an individual plugin that can be installed separately:

  • Skills → See Available Skills for the full list
  • Agents → See Agents (install as agent-<name>@agent-toolkit)
  • Commands → See Slash Commands (install as command-<name>@agent-toolkit)

Update Plugins

To update plugins to the latest version:

  1. Run /plugin in Claude Code
  2. Switch to Marketplaces tab
  3. Select agent-toolkit
  4. Choose Update marketplace

You can also Enable auto-update to get the latest versions automatically.

Manual Installation

For Claude Code (Manual) — Skills only

cp -r skills/<skill-name> ~/.claude/skills/

For claude.ai — Skills only

Add skills to project knowledge or paste SKILL.md contents into the conversation.


📚 Available Skills

CategorySkillDescription
🤖 AI ToolscodexAdvanced code analysis with GPT-5.2
🤖 AI ToolsgeminiLarge-scale review (200k+ context)
🤖 AI ToolsperplexityWeb search & research
🔮 Metaagent-md-refactorRefactor bloated agent instruction files
🔮 Metacommand-creatorCreate Claude Code slash commands
🔮 Metaplugin-forgeBuild Claude Code plugins & manifests
🔮 Metaskill-judgeEvaluate skill design quality
📝 Documentationbackend-to-frontend-handoff-docsAPI handoff docs for frontend
📝 Documentationc4-architectureC4 architecture diagrams with Mermaid
📝 Documentationcrafting-effective-readmesWrite effective README files
📝 Documentationdraw-ioCreate & edit draw.io diagrams
📝 DocumentationexcalidrawWork with Excalidraw diagrams
📝 Documentationfrontend-to-backend-requirementsDocument API requirements
📝 Documentationmarp-slideProfessional presentation slides
📝 Documentationmermaid-diagramsSoftware diagrams with Mermaid
📝 Documentationwriting-clearly-and-conciselyClear, professional writing
🎨 Design & Frontenddesign-system-starterCreate design systems
🎨 Design & FrontendmuiMaterial-UI v7 patterns
🎨 Design & Frontendopenapi-to-typescriptConvert OpenAPI to TypeScript
🎨 Design & Frontendreact-devType-safe React 18-19 with TypeScript
🎨 Design & Frontendreact-useeffectReact useEffect best practices
🛠️ Developmentdatabase-schema-designerDesign robust database schemas
🛠️ Developmentdependency-updaterSmart dependency management
🛠️ Developmentnaming-analyzerSuggest better variable/function names
🛠️ Developmentlesson-learnedExtract SE lessons from recent code changes
🛠️ Developmentreducing-entropyMinimize codebase size
🛠️ Developmentsession-handoffSeamless AI session transfers
🎯 Planninggame-changing-featuresFind 10x product opportunities
🎯 PlanninggepettoDetailed implementation planning
🎯 Planningrequirements-clarityClarify requirements before coding
🎯 Planningship-learn-nextTurn learning into actionable reps
👔 Professionaldaily-meeting-updateInteractive daily standup generator
👔 Professionaldifficult-workplace-conversationsNavigate difficult conversations
👔 Professionalfeedback-masteryDeliver constructive feedback
👔 Professionalprofessional-communicationTechnical communication guide
🧪 Testingqa-test-plannerComprehensive QA test planning
📦 Gitcommit-workHigh-quality git commits
🔧 Utilitiesdatadog-cliDebug with Datadog logs & metrics
🔧 Utilitiesdomain-name-brainstormerGenerate & check domain names
🔧 UtilitieshumanizerRemove AI writing patterns
🔧 Utilitiesmeme-factoryGenerate memes with API
🔧 UtilitiesjiraNatural language Jira interaction
🔧 Utilitiesweb-to-markdownConvert webpages to Markdown

🤖 Agents & Commands

Requires Claude Code CLI — These agents and commands are exclusive to Claude Code users.

For full access, add the marketplace and install plugins:

/plugin marketplace add softaworks/agent-toolkit
/plugin install codex@agent-toolkit

Agents

Specialized sub-agents that Claude Code can delegate tasks to:

AgentDescription
ascii-ui-mockup-generatorVisualize UI concepts through ASCII mockups
codebase-pattern-finderFind similar implementations and patterns
communication-excellence-coachEmail refinement, tone calibration, roleplay
general-purposeDefault agent for complex multi-step tasks
mermaid-diagram-specialistCreate flowcharts, sequence diagrams, ERDs
ui-ux-designerResearch-backed UI/UX design feedback

Slash Commands

Reusable workflows invoked with /command-name:

CommandDescription
/codex-planCreate implementation plans using Codex 5.2
/compose-emailDraft professional emails
/explain-changes-mental-modelBuild mental model of code changes
/explain-pr-changesGenerate PR summaries
/sync-branchSync feature branch with main
/sync-skills-readmeUpdate README skills table
/viral-tweetOptimize tweet ideas for X engagement

📖 Skill Structure

Each skill contains:

  • SKILL.md - Detailed instructions for the agent (with YAML frontmatter)
  • README.md - User-friendly documentation with examples
  • scripts/ - Helper scripts for automation (optional)
  • references/ - Supporting documentation (optional)

🤝 Contributing

Contributions are welcome! When adding new skills:

  1. Follow the Agent Skills format
  2. Include both SKILL.md (for agents) and README.md (for users)
  3. Add YAML frontmatter to SKILL.md with name: and description: fields
  4. Update this README.md with a link to your skill

📄 License

MIT


🔗 Links

其他

中风险

  • 来源需自行核对维护者身份。
  • 包含脚本或命令调用,安装前请复核。
  • 可能需要外部 token、网络权限或第三方服务。
  • 未检测到高风险命令。
  • 扫描发现:1 条。

Codex — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/softaworks/agent-toolkit.git
  3. 将 "skills/naming-analyzer" 文件夹复制到 Codex 的 skills 目录中。
  4. 重启 Codex 让新的 skill 生效。

Codex — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Codex 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Codex 让新的 skill 生效。

Claude Code — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/softaworks/agent-toolkit.git
  3. 将 "skills/naming-analyzer" 文件夹复制到 Claude Code 的 skills 目录中。
  4. 重启 Claude Code 让新的 skill 生效。

Claude Code — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Claude Code 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Claude Code 让新的 skill 生效。

Cursor — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/softaworks/agent-toolkit.git
  3. 将 "skills/naming-analyzer" 文件夹复制到 Cursor 的 skills 目录中。
  4. 重启 Cursor 让新的 skill 生效。

Cursor — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Cursor 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Cursor 让新的 skill 生效。

GitHub Copilot — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/softaworks/agent-toolkit.git
  3. 将 "skills/naming-analyzer" 文件夹复制到 GitHub Copilot 的 skills 目录中。
  4. 重启 GitHub Copilot 让新的 skill 生效。

GitHub Copilot — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 GitHub Copilot 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 GitHub Copilot 让新的 skill 生效。

Windsurf — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/softaworks/agent-toolkit.git
  3. 将 "skills/naming-analyzer" 文件夹复制到 Windsurf 的 skills 目录中。
  4. 重启 Windsurf 让新的 skill 生效。

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: naming-analyzer
description: Suggest better variable, function, and class names based on context and conventions.

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

// ❌ 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;

Misleading Names

// ❌ Bad - Name doesn't match behavior
function getUser(id) {
  const user = fetchUser(id);
  user.lastLogin = Date.now();
  saveUser(user); // Side effect! Not just "getting"
  return user;
}

// ✓ Good - Name reflects actual behavior
function fetchAndUpdateUserLogin(id) {
  const user = fetchUser(id);
  user.lastLogin = Date.now();
  saveUser(user);
  return user;
}

Abbreviations

// ❌ Bad - Unclear abbreviations
const usrCfg = loadConfig();
function calcTtl(arr) { }

// ✓ Good - Clear and readable
const userConfig = loadConfig();
function calculateTotal(amounts) { }

// ✓ Acceptable - Well-known abbreviations
const htmlElement = document.getElementById('main');
const apiUrl = process.env.API_URL;

Boolean Naming

// ❌ Bad - Unclear state
const login = user.authenticated;
const status = checkUser();

// ✓ Good - Clear boolean intent
const isLoggedIn = user.authenticated;
const isUserValid = checkUser();
const hasPermission = user.roles.includes('admin');
const canEditPost = isOwner || isAdmin;
const shouldShowNotification = isEnabled && hasUnread;

Magic Numbers

// ❌ Bad - Unnamed constants
if (age > 18) { }
setTimeout(callback, 3600000);

// ✓ Good - Named constants
const LEGAL_AGE = 18;
const ONE_HOUR_IN_MS = 60 * 60 * 1000;

if (age > LEGAL_AGE) { }
setTimeout(callback, ONE_HOUR_IN_MS);

Usage Examples

@naming-analyzer
@naming-analyzer src/
@naming-analyzer UserService.js
@naming-analyzer --conventions
@naming-analyzer --fix-all

Report Format

# Naming Analysis Report

## Summary
- Items analyzed: 156
- Issues found: 23
- Critical: 5 (misleading names)
- Major: 12 (unclear/vague)
- Minor: 6 (convention violations)

---

## Critical Issues (5)

### src/services/UserService.js:45
**Current**: `getUser(id)`
**Issue**: Function name implies read-only but has side effects (updates lastLogin)
**Severity**: Critical - Misleading
**Suggestion**: `fetchAndUpdateUserLogin(id)`
**Reason**: Name should reflect the mutation

### src/utils/helpers.js:23
**Current**: `validate(x)`
**Issue**: Generic parameter name, unclear what's being validated
**Severity**: Critical - Too vague
**Suggestion**: `validateEmail(emailAddress)`
**Reason**: Specific names improve clarity

---

## Major Issues (12)

### src/components/DataList.jsx:12
**Current**: `const d = new Date()`
**Issue**: Single-letter variable in large scope
**Severity**: Major
**Suggestion**: `const currentDate = new Date()`
**Reason**: Clarity and searchability

### src/api/client.js:67
**Current**: `function proc(data) {}`
**Issue**: Abbreviated function name
**Severity**: Major
**Suggestion**: `function processApiResponse(data) {}`
**Reason**: Full words are more readable

### src/models/User.js:34
**Current**: `user.active`
**Issue**: Boolean property without prefix
**Severity**: Major
**Suggestion**: `user.isActive`
**Reason**: Follow boolean naming convention

### src/utils/format.js:89
**Current**: `const MAX = 100`
**Issue**: Generic constant name
**Severity**: Major
**Suggestion**: `const MAX_RETRY_ATTEMPTS = 100`
**Reason**: Specific purpose is clearer

---

## Minor Issues (6)

### src/config/settings.js:12
**Current**: `const API_url = '...'`
**Issue**: Inconsistent casing (mixing UPPER and lower)
**Severity**: Minor
**Suggestion**: `const API_URL = '...'` or `const apiUrl = '...'`
**Reason**: Consistency in convention

### src/helpers/string.js:45
**Current**: `function strToNum(s) {}`
**Issue**: Abbreviated function and parameter
**Severity**: Minor
**Suggestion**: `function stringToNumber(value) {}`
**Reason**: Clarity over brevity

---

## Convention Violations

### Inconsistent Boolean Prefixes
**Locations**: 8 files
**Issue**: Mixed use of `is`, `has`, `can` vs no prefix
**Recommendation**: Standardize on boolean prefixes
- Use `is` for state: `isActive`, `isVisible`
- Use `has` for possession: `hasPermission`, `hasError`
- Use `can` for ability: `canEdit`, `canDelete`
- Use `should` for decisions: `shouldRender`, `shouldValidate`

### Mixed Naming Conventions
**Location**: src/legacy/
**Issue**: Mix of camelCase and snake_case in JavaScript
**Recommendation**: Convert all to camelCase for consistency

---

## Suggested Renaming

### High Priority (Misleading or Critical)
1. `getUser` → `fetchAndUpdateUserLogin` (src/services/UserService.js:45)
2. `validate` → `validateEmail` (src/utils/helpers.js:23)
3. `process` → `processPaymentTransaction` (src/payment/processor.js:67)

### Medium Priority (Clarity)
1. `d` → `currentDate` (7 locations)
2. `temp` → `previousValue` (4 locations)
3. `data` → `apiResponse` or more specific (12 locations)
4. `arr` → `items`, `values`, or more specific (8 locations)

### Low Priority (Convention)
1. `active` → `isActive` (12 locations)
2. `error` → `hasError` (6 locations)
3. `API_url` → `API_URL` (3 locations)

---

## Naming Patterns to Follow

### Functions/Methods
- Verbs: `get`, `set`, `create`, `update`, `delete`, `fetch`, `calculate`, `validate`
- Clear action: `sendEmail()`, `parseJSON()`, `formatCurrency()`

### Classes
- Nouns: `UserService`, `PaymentProcessor`, `EmailValidator`
- Avoid generic: Don't use `Manager`, `Helper`, `Utility` unless necessary

### Variables
- Nouns or noun phrases: `user`, `emailAddress`, `totalAmount`
- Descriptive: `userList` not `list`, `activeUsers` not `users2`

### Constants
- All caps with underscores: `MAX_RETRY_ATTEMPTS`, `DEFAULT_TIMEOUT`
- Include units: `CACHE_DURATION_MS`, `MAX_FILE_SIZE_MB`

### Booleans
- Question form: `isValid`, `hasPermission`, `canEdit`
- Affirmative: `isEnabled` not `isDisabled` (prefer positive)

---

## Refactoring Script

Would you like me to create a refactoring script to apply these changes?
This will:
1. Rename all suggested items
2. Update all references
3. Maintain git history
4. Generate migration guide

---

## Best Practices

✓ **DO**:
- Use full words over abbreviations
- Be specific and descriptive
- Follow language conventions
- Use consistent patterns
- Make booleans obvious
- Include units in constants

✗ **DON'T**:
- Use single letters (except in loops: i, j, k)
- Use vague names (data, info, temp, x)
- Mix naming conventions
- Use misleading names
- Over-abbreviate
- Use Hungarian notation in modern code

Naming Decision Tree

Is it a boolean?
├─ Yes → Use is/has/can/should prefix
└─ No → Is it a function?
    ├─ Yes → Use verb phrase (action)
    └─ No → Is it a class?
        ├─ Yes → Use noun (PascalCase)
        └─ No → Is it a constant?
            ├─ Yes → Use UPPER_SNAKE_CASE
            └─ No → Use descriptive noun (camelCase/snake_case)

Notes

  • Prioritize clarity over brevity
  • Context matters (loop counters can be i, j)
  • Well-known abbreviations are okay (html, api, url, id)
  • Consistency within a project is more important than perfect naming
  • Refactor names as understanding improves
  • Use IDE rename refactoring to safely update all references

发现问题?提交给管理员复核

评分:

评论 (0)

暂无评论,成为第一个评论者吧!