/commands-deprecated-directory
Commands directory is deprecated, migrate to Skills
> /plugin marketplace add pdugan20/claudelint > /plugin install claudelint@claudelint
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/commands-deprecated-directory
Context preview
What this command does when you run it.
Commands directory is deprecated, migrate to Skills
Command definition
commands-deprecated-directory.mddescription: "Legacy commands directory; prefer skills for new work"
commands-deprecated-directory
<RuleHeader description="Legacy commands directory; prefer skills for new work" severity="warn" :fixable="false" :configurable="false" category="Commands" />
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](https://code.claude.com/docs/en/skills).
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
```text
.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](https://code.claude.com/docs/en/skills) 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
- [`plugin-commands-deprecated`](/rules/plugin/plugin-commands-deprecated)
Resources
- [Rule Implementation](https://github.com/pdugan20/claudelint/blob/main/src/rules/commands/commands-deprecated-directory.ts)
- [Rule Tests](https://github.com/pdugan20/claudelint/blob/main/tests/rules/commands/commands-deprecated-directory.test.ts)
Version
Available since: v0.2.0
Read more
description: "Legacy commands directory; prefer skills for new work"
commands-deprecated-directory
<RuleHeader description="Legacy commands directory; prefer skills for new work" severity="warn" :fixable="false" :configurable="false" category="Commands" />
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](https://code.claude.com/docs/en/skills).
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
```text
.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](https://code.claude.com/docs/en/skills) 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
- [`plugin-commands-deprecated`](/rules/plugin/plugin-commands-deprecated)
Resources
- [Rule Implementation](https://github.com/pdugan20/claudelint/blob/main/src/rules/commands/commands-deprecated-directory.ts)
- [Rule Tests](https://github.com/pdugan20/claudelint/blob/main/tests/rules/commands/commands-deprecated-directory.test.ts)
Version
Available since: v0.2.0
A linter for Claude Code projects. Validates CLAUDE.md files, skills, settings, hooks, MCP servers, plugins, and more.
Repo: pdugan20/claudelint

