SKM-N03 · Error
`name` contains disallowed characters
`name` may contain only lowercase letters, digits, and hyphens.
What the rule is
The specification restricts `name` to lowercase letters, digits, and hyphens. Uppercase letters, underscores, spaces, and punctuation are all outside the allowed set.
This constraint exists alongside the directory-matching rule (SKM-N05): since `name` must equal the folder name, and most filesystems are more permissive than this character set, it's easy to end up with a folder name that violates the format's rule even though the filesystem itself allowed it.
Where it comes from
- Agent Skills — SpecificationSpecification
Which runtimes enforce it
| Runtime | Effect | Note |
|---|---|---|
| Claude Code | Not documented | The spec states the character set; no runtime documents behaviour on a name that violates it. |
| Codex | Not documented | The spec states the character set; no runtime documents behaviour on a name that violates it. |
| Cursor | Not documented | The spec states the character set; no runtime documents behaviour on a name that violates it. |
| OpenClaw | Not documented | The spec states the character set; no runtime documents behaviour on a name that violates it. |
| Hermes Agent | Not documented | The spec states the character set; no runtime documents behaviour on a name that violates it. |
How to fix it
- Replace any character outside `a-z`, `0-9`, and `-` — most commonly, lowercase any uppercase letters and replace spaces or underscores with hyphens.
Elsewhere
- SKILL.md, the formatThe full frontmatter field table this rule is drawn from.
- Agent Skills Not WorkingThe diagnostic reference this rule’s portability and failure evidence comes from.
- All rulesEvery check the validator runs, grouped by class.