Skip to content
Development
Command

/commands-deprecated-directory

Commands directory is deprecated, migrate to Skills

From plugin
claudelint
111 skill13 agents1 command1 hook
Install
$ npx -y skills add pdugan20/claudelint --agent claude-code

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.md
description: "Commands directory is deprecated, migrate to Skills"

commands-deprecated-directory

<RuleHeader description="Commands directory is deprecated, migrate to Skills" severity="warn" :fixable="false" :configurable="false" category="Commands" />

Rule Details

Commands were the original way to add custom slash commands to Claude Code, but they have been superseded by Skills. Skills provide better structure with YAML frontmatter, versioning, documentation, and reference file support. This rule fires when a `.claude/commands` directory exists in the project, prompting migration to the Skills format.

Incorrect

Project with a .claude/commands directory

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

Legacy 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.sh

Equivalent 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

Create a `.claude/skills/<skill-name>/` directory with a `SKILL.md` (YAML frontmatter for name and description) 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
Ships withclaudelint

A linter for Claude Code projects. Validates CLAUDE.md files, skills, settings, hooks, MCP servers, plugins, and more.

Get the whole plugin, auto-invoked
Stats
11
Stars
0
Views
0
Forks
Active
Maintenance
TypeScript
Language
MIT
License
3d ago
Last commit
6mo ago
Created

Repo: pdugan20/claudelint