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 / reference validator
- skills-ref validate (official reference validator, v0.1.5)Specification / reference validator
Strict spec conformance
Non-conformant. The official reference validator (skills-ref) rejects this — tested directly, not inferred from severity.
This is a separate question from the severity above and from which runtimes enforce it below — a rule can be a real, working extension in its home runtime while the reference validator still rejects the file outright, or vice versa. Both facts are reported, never one inferred from the other.
Which runtimes enforce it
| Runtime | Effect | Note |
|---|---|---|
| Claude Code | Not documented | The spec states the character set (confirmed: skills-ref hard-fails on this); no runtime documents behaviour on a name that violates it. |
| Codex | Not documented | The spec states the character set (confirmed: skills-ref hard-fails on this); no runtime documents behaviour on a name that violates it. |
| Cursor | Not documented | The spec states the character set (confirmed: skills-ref hard-fails on this); no runtime documents behaviour on a name that violates it. |
| OpenClaw | Not documented | The spec states the character set (confirmed: skills-ref hard-fails on this); no runtime documents behaviour on a name that violates it. |
| Hermes Agent | Not documented | The spec states the character set (confirmed: skills-ref hard-fails on this); 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.