Naming Plugins and Atoms
Brainstorm and validate names for plugins and their components (atoms = skills/agents/commands).
The Core Convention
Verb Form by Type
Type Grammatical Form Meaning Suffix Pattern
Skill Gerund (-ing) "the activity of..." -ing
Agent Agent noun "one who does..." -er, -or, role noun
Command Imperative "do this" base verb
The Golden Rule
Plugin name = Common prefix of all atoms = Neutral noun
✅ GOOD prefix (noun): skillsmith- → skillsmith-authoring, skillsmith-tester, /skillsmith-create codeforge- → codeforge-reviewing, codeforge-reviewer, /codeforge-review datakit- → datakit-processing, datakit-processor, /datakit-process
❌ BAD prefix (already verb-formed): skill-authoring- → skill-authoring-??? (prefix is already -ing!) code-review- → code-review-??? (prefix looks like imperative!)
No Type Postfixes
✅ GOOD: metaskill-authoring, metaskill-tester ❌ BAD: metaskill-authoring-skill, metaskill-tester-agent
The directory structure already indicates the type.
Brainstorming Process
Step 1: Identify the Domain
What is this plugin about? Write 3-5 words describing the core activity:
-
"creating skills for Claude Code"
-
"reviewing code for security"
-
"managing database migrations"
Step 2: Find Neutral Noun Candidates
Transform the domain into neutral noun forms:
Domain Noun Candidates
creating skills skillsmith, skillforge, skillcraft, skillkit
reviewing code codeforge, codescan, codeguard, codewatch
managing databases datakit, dataforge, dbsmith, migrator
Naming patterns that work:
-
-smith: One who forges (skillsmith, codesmith)
-
-forge: Place where things are made (skillforge, codeforge)
-
-craft: The craft of making (skillcraft, codecraft)
-
-kit: Toolkit for (skillkit, datakit)
-
-bench: Workbench for (skillbench, codebench)
-
-works: Workshop (skillworks, dataworks)
-
meta-: Meta-level tools (metaskill, metadata)
-
-guard/-watch: Protective monitoring (codeguard, datawatch)
Step 3: Generate Atom Names
For each candidate prefix, generate the full set:
Prefix: skillsmith ├── Skills (-ing): │ ├── skillsmith-authoring │ ├── skillsmith-triggering │ └── skillsmith-packaging ├── Agents (role noun): │ ├── skillsmith-trigger-tester │ └── skillsmith-quality-checker └── Commands (imperative): ├── /skillsmith-create └── /skillsmith-test
Step 4: Validate Names
Check each name against:
-
Prefix is neutral noun - not a verb form
-
Skills end in -ing - gerund form
-
Agents end in role noun - -er/-or or natural role
-
Commands end in imperative - base verb
-
No type postfixes - no -skill, -agent, -command
-
Pronounceable - can say it out loud
-
Memorable - distinctive enough to remember
-
No conflicts - doesn't clash with existing plugins
Step 5: Test with Full Table
Prefix Skill Agent Command
skillsmith skillsmith-authoring skillsmith-author /skillsmith-author
skillsmith-triggering skillsmith-trigger-tester /skillsmith-trigger
skillsmith-grouping skillsmith-group-designer /skillsmith-group
Does the table look consistent? Do the names feel natural?
Example: This Plugin
Domain: "meta-tooling for creating Claude Code skills"
Brainstorming:
-
skillsmith, skillforge, skillcraft → good but generic
-
metaskill → captures "meta" aspect, clear noun
-
skillet → fun but might confuse with cooking
Chosen: metaskill
Type Name Follows Convention?
Plugin metaskill ✓ Neutral noun
Skill metaskill-authoring ✓ Ends in -ing
Skill metaskill-triggering ✓ Ends in -ing
Skill metaskill-grouping ✓ Ends in -ing
Skill metaskill-packaging ✓ Ends in -ing
Skill metaskill-naming ✓ Ends in -ing
Agent metaskill-trigger-tester ✓ Ends in role noun
Common Pitfalls
- Verb-Form Prefix
❌ skill-authoring-trigger # "skill-authoring" is already -ing ✅ metaskill-triggering # "metaskill" is noun, "-triggering" is -ing
- Awkward -ing Forms
When -ing sounds unnatural, rephrase the activity:
❌ metaskill-trigger # Missing -ing ❌ metaskill-triggering # Could mean "firing events" ✅ metaskill-triggering # Context: "configuring triggers" (acceptable) ✅ metaskill-trigger-tuning # Alternative: explicit "tuning"
- Conflicting Meanings
Test if the name could mean something else:
-
"triggering" → firing events? or configuring triggers?
-
Context usually disambiguates, but consider alternatives if confusing
Quick Reference Card
┌─────────────────────────────────────────────────────────────────┐ │ NAMING CONVENTION │ ├─────────────────────────────────────────────────────────────────┤ │ Plugin Name = Common Prefix = NEUTRAL NOUN │ │ │ │ ┌──────────┬────────────────────┬─────────────────────────┐ │ │ │ Type │ Suffix Form │ Example │ │ │ ├──────────┼────────────────────┼─────────────────────────┤ │ │ │ Skill │ -ing (gerund) │ metaskill-authoring │ │ │ │ Agent │ -er/-or (role) │ metaskill-trigger-tester│ │ │ │ Command │ imperative verb │ /metaskill-create │ │ │ └──────────┴────────────────────┴─────────────────────────┘ │ │ │ │ ❌ NO type postfixes: -skill, -agent, -command │ │ ❌ NO verb-form prefixes: reviewing-, authoring- │ └─────────────────────────────────────────────────────────────────┘
Related Skills
-
For skill structure and writing, see /metaskill-authoring
-
For trigger optimization, see /metaskill-triggering
-
For skill group patterns, see /metaskill-grouping
-
For plugin packaging, see /metaskill-packaging