Agent skill · AI & Agents

command-development

This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.

Anthropic33,591★ · +352/wk · 2 repos on radarProfile →
claude-codeApache-2.0
Install
npx skills add anthropics/claude-plugins-official --skill command-development --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 11
SKILL.md size: 19 KB
Bundled scripts: none
Version: 0.2.0
Path: plugins/plugin-dev/skills/command-development/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 33,027 · +241 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Guides how to create and manage slash commands for Claude Code, including using Markdown files as command prompts, configuring with YAML frontmatter, handling dynamic and positional arguments, referencing files, executing Bash for context, and organizing commands with flat or namespaced structures. It emphasizes that commands are instructions for Claude to execute, not messages to users, and provides examples of both basic and frontmattered commands, as well as patterns and troubleshooting.

How it works

  • Defines a slash command as a Markdown file containing a prompt Claude will execute when invoked. Commands can be simple or configured with YAML frontmatter to set description, allowed-tools, model, argument-hint, disable-model-invocation, and more.
  • Supports dynamic arguments: using $ARGUMENTS to capture all or $1, $2, etc., for positional inputs, and demonstrates combining both.
  • Allows file references via @ syntax, including multiple and static references, to read files as part of the command’s context.
  • Describes Bash execution in commands to gather repository state or environment data, with guidance to limit scope and handle errors.
  • Outlines command organization: flat vs namespaced structures, with examples showing project, user, and plugin command locations.
  • Presents best practices: single responsibility, clear descriptions, explicit dependencies, documented arguments, and consistent naming; also covers argument handling, file references, and bash usage.
  • Provides common patterns (Review, Testing, Documentation, Workflow) with concrete frontmatter where applicable.
  • Includes troubleshooting steps for common issues (misplacement, syntax, missing arguments, bash failures, file references).
  • Details integration points for plugins and agent usage, including how to reference CLAUDE_PLUGIN_ROOT and how to structure plugin-based commands.

When to use it

Use this skill when the user asks to create or manage slash commands, define command arguments, use command frontmatter, organize commands, reference files, or seek guidance on command development best practices for Claude Code.

What it can touch

  • Commands are Markdown files under the configured command directories.
  • YAML frontmatter fields such as description, allowed-tools, model, argument-hint, and disable-model-invocation.
  • File references using the @ syntax to include file contents.
  • Bash execution blocks within commands that rely on Bash tool access.
  • Plugin resources via CLAUDE_PLUGIN_ROOT for plugin-based patterns.

Caveats

  • Emphasizes that commands are instructions for Claude to execute, not human-facing messages.
  • Frontmatter and command structure must adhere to documented fields and patterns; incorrect usage can cause failures.
  • Bash execution requires appropriate allowed-tools and careful handling of errors.
  • Namespaces and file paths must align with the repository layout (project/user/plugin scopes).
From the SKILL.md

# Command Development for Claude Code > **Note:** The `.claude/commands/` directory is a legacy format. For new skills, use the `.claude/skills/<name>/SKILL.md` directory format. Both are loaded identically — the only difference is file layout. See the `skill-development` skill for the preferred format. ## Overview Slash commands are frequently-used prompts defined as Markdown files that Claude executes during interactive sessions. Understanding command structure, frontmatter options, and dynamic features enables creating powerful, reusable workflows. **Key concepts:** - Markdown file format for commands - YAML frontmatter for configuration - Dynamic arguments and file references - Bash execution for context - Command organization and namespacing ## Command Basics ### What is a Slash Command? A slash command is a Markdown file containing a prompt that Claude executes when invoked. Commands provide: - **Reusability**: Define once, use repeatedly - **Consistency**: Standardize common workflows - **Sharing**: Distribute across team or projects - **Efficiency**: Quick access to complex prompts ### Critical: Commands are Instructions FOR Claude **Commands are written for agent consumpti

What's inside
Steps it walks through
  1. Overview
  2. Command Basics
  3. What is a Slash Command?
  4. Critical: Commands are Instructions FOR Claude
  5. Command Locations
  6. File Format
  7. Basic Structure
  8. With YAML Frontmatter
  9. YAML Frontmatter Fields
  10. description
  11. allowed-tools
  12. model
  13. argument-hint
  14. disable-model-invocation
Ships with 10 files
  • README.md
  • examples/plugin-commands.md
  • examples/simple-commands.md
  • references/advanced-workflows.md
  • references/documentation-patterns.md
  • references/frontmatter-reference.md
  • references/interactive-commands.md
  • references/marketplace-considerations.md
  • references/plugin-features-reference.md
  • references/testing-strategies.md
More from claude-plugins-official
All skills →
About this skill
What does the command-development skill do?

This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.

How do I install it?

Run `npx skills add anthropics/claude-plugins-official --skill command-development --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From anthropics/claude-plugins-official, a repository with 33,027 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going