Knowledge base/Agent ReadinessAUTO

skill.md name format valid

The name field in your skill.md must contain only lowercase letters, numbers, and hyphens.

What is the format rule?

Skill names follow the same convention as npm package names, Docker image tags, and Kubernetes resource names: lowercase letters, digits, and hyphens. No spaces, no uppercase, no underscores, no special characters.

The regular expression is simple: ^[a-z0-9-]+$. A valid name is something like acme-crm, openai-mcp, or sales-pipeline-2. An invalid name is Acme CRM, acme_crm, or Acme!.

Why does the format matter?

Machine identifiers appear in URLs, filesystem paths, command-line tools, and registries. Every one of those contexts has edge cases with spaces, uppercase, or punctuation. Sticking to the lowercase-and-hyphens rule means your name works everywhere an agent might want to reference it.

It also keeps the identifier distinct from the display name of your brand. Acme CRM (the brand) and acme-crm (the identifier) can coexist — the first goes on your website, the second goes in skill.md.

How to fix a bad name

Take your brand name, lowercase it, and replace any spaces or punctuation with hyphens. Drop anything that is not a letter, a digit, or a hyphen.

Brand name              Valid identifier
Acme CRM          →     acme-crm
OpenAI Plugin     →     openai-plugin
Sales Pipeline 2  →     sales-pipeline-2
My_Product!       →     my-product