commands-deprecated-directory
Legacy commands directory; prefer skills for new work
Rule Details
Commands were the original way to add custom slash commands to Claude Code, and remain supported with the same invocation behavior. Skills add a directory for supporting files and are preferred for new work. This rule fires when a .claude/commands directory exists in the project, as an optional migration advisory, not an unsupported-format error. The authority is the Skills reference.
Incorrect
Project with a .claude/commands directory
.claude/
commands/
deploy.md
test-all.mdLegacy command file in .claude/commands
# .claude/commands/deploy.md
Run the deployment script.
```bash
./scripts/deploy.sh
```Correct
Project migrated to Skills
.claude/
skills/
deploy/
SKILL.md
deploy.sh
test-all/
SKILL.md
test-all.shEquivalent skill with proper structure
# .claude/skills/deploy/SKILL.md
---
name: deploy
description: Run the deployment script
---
## Usage
Invoke with `/deploy` to run the deployment pipeline.How To Fix
For new work, create a .claude/skills/<skill-name>/ directory with a SKILL.md and move command scripts into it. Then remove the old .claude/commands/ directory. See the Skills documentation for the full format.
Options
This rule does not have any configuration options.
When Not To Use It
Disable this rule if you are intentionally maintaining legacy commands alongside skills during a gradual migration.
Related Rules
Resources
Version
Available since: v0.2.0