Skip to content

commands-deprecated-directory ​

Legacy commands directory; prefer skills for new work

Warning

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

text
.claude/
  commands/
    deploy.md
    test-all.md

Legacy command file in .claude/commands

markdown
# .claude/commands/deploy.md
Run the deployment script.

```bash
./scripts/deploy.sh
```

Correct ​

Project migrated to Skills

text
.claude/
  skills/
    deploy/
      SKILL.md
      deploy.sh
    test-all/
      SKILL.md
      test-all.sh

Equivalent skill with proper structure

markdown
# .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.

Resources ​

Version ​

Available since: v0.2.0