claude-command-naming¶
Command files should use kebab-case naming
Formerly known as command-naming. The legacy name still works in configs, --rule/--skip-rule, suppression comments, and baselines.
| Severity | warning |
| Autofix | auto |
| Since | v0.1.0 |
| Category | Claude Code |
Why¶
Command file names are used as identifiers in invocation syntax
(/plugin:command-name). Non-kebab-case names break conventions and
may not be recognized by all runtimes.
Examples¶
Bad:
Good:
How to fix¶
Rename the command file to use kebab-case (lowercase letters and
hyphens only). skillsaw fix can suggest the correct filename.
Codex plugins¶
This is a Claude-format convention. A directory claimed only by OpenAI
Codex — a .codex-plugin/plugin.json, or a local-source listing in a
Codex catalog, with no .claude-plugin marker or Claude marketplace
listing — is exempt: Claude never loads it, so Claude command naming
conventions do not apply to its commands/. A dual-manifest
directory keeps this check, and the ecosystem-neutral content and
security rules read every plugin's files regardless of provenance.
Configuration¶
Run skillsaw explain claude-command-naming to see this documentation and the rule's effective configuration in your terminal.