Naming Conventions and Metadata Patterns for Discoverable Skills
A single Skill can get away with a rough name. A library of thirty Skills cannot.
Search across all documentation pages
A single Skill can get away with a rough name. A library of thirty Skills cannot.
Naming and metadata patterns matter less for how any one Skill triggers - that's the description field's job - and more for how a whole team keeps its Skill library organized, scannable, and free of near-duplicates as it grows.
This page collects the patterns that keep a Skill library legible: to Claude, and to the people building and maintaining it. This is a general-purpose list of naming and metadata habits rather than a single fixed checklist - not every item will apply to every team's setup.
name field. format-release-notes, summarize-support-transcript, apply-style-guide read clearly at a glance and describe an action, not a vague category.name field exactly. A Skill named pr-review-checklist should live in a folder called pr-review-checklist/, not pr-review/ or checklist/ - mismatches make a library harder to scan and harder to search.helper, assistant, utility, and tool describe nothing about what the Skill actually does, and they collide easily once a second "helper" Skill shows up.draft-status-update than process-meeting-notes - the output is usually what a teammate remembers wanting.summarize-and-format-and-tag-support-conversations-for-review is accurate but unreadable; trim to the essential action and object.description is what Claude actually matches against a task. See Writing an Effective Skill Description That Claude Will Trigger On for the full pattern.pr-review-checklist, pr-summary-draft, and pr-changelog-entry sort together in a folder listing and signal at a glance that they're part of one family.pr-review-checklist-v2/ fragments the library and breaks any existing references; a one-line "last updated" comment inside SKILL.md communicates the same thing without splitting the name.style-guide.md and ticket-schema.md are clear on their own; notes.md or data.md require opening the file to know what it holds.normalize-dates.py is reusable in spirit and clear in a folder listing; helper1.py is neither.reference.md makes the connection harder to verify at a glance.The description drives triggering, but names are what a human scans when browsing a folder of Skills, and mismatched or vague names make it much harder to spot duplicates, gaps, and the right existing Skill to extend.
format-release-notes, summarize-support-transcript.They describe a category, not an action, so they collide easily as a library grows and tell a scanning teammate nothing about what the Skill actually produces.
Check new Skills' descriptions against existing ones before adding them, and keep a simple index (name plus one-line purpose) once the library grows past a dozen or so Skills.
style-guide.md or normalize-dates.py are clear without opening the file, unlike generic names like notes.md or helper1.py.The name is a short, scannable identifier. The description carries the actual discovery signal - what the Skill does and when it should trigger - and should stay free of internal implementation detail like tool or file names.
pr-review-checklist, pr-summary-draft, and pr-changelog-entry, so they sort together in a folder listing and visibly signal they're part of one family.Retire or merge it rather than leaving it in place. An unused Skill with a name similar to an active one is a common source of accidental collisions and confusion later.
Stack versions: Written against the Claude model lineup current as of ~June 2026 - Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5 (the default), and Claude Haiku 4.5. Model names, pricing, and product features move quickly - verify current specifics at platform.claude.com/docs before relying on them.
Reviewed by Chris St. John·Last updated Jul 16, 2026