Skip to content

Guide · Agent skill

How to use the Command Development agent skill for Claude Code

Updated · written with AI from the project's own documentation and checked against our catalogue data

The command-development skill teaches an agent how to design custom slash commands for Claude Code. A slash command is a Markdown prompt file that runs when you type something like /review-pr. This guide explains what the skill does, how to install it, how to trigger it with plain requests, and what to watch for. It is written for readers who have not used agent skills before.

Slash Command Developeranthropics/claude-plugins-official · Apache-2.0

Quick start

  1. 1Download the ZIP. Download the command-development ZIP file from this page.
  2. 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for personal use or into .claude/skills/ inside a project.
  3. 3Or upload it in the Claude apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the ZIP.
  4. 4Ask for a command in plain language. Describe the slash command you want, such as a command that reviews a file or a pull request.
  5. 5Set frontmatter and arguments. Add description, allowed-tools, model or argument-hint as needed, and use $ARGUMENTS or $1, $2 for inputs.
  6. 6Save and test the command. Save the Markdown file in the right commands folder and run it by typing its slash name in Claude Code.

What does the command-development skill make the agent do?

Once installed, the agent knows how to write slash commands for Claude Code. It treats each command as a Markdown file whose contents are instructions to Claude, not a message to the user. It can set YAML frontmatter options such as allowed tools and model, pass arguments using $ARGUMENTS or $1, $2, and include file contents using the @ syntax.

The skill is reference material and guidance. The files in the skill describe how to structure commands; they do not add new executable tools to Claude Code.

How do you install the command-development skill?

Download the ZIP file from this page. You can install it in one of two ways.

For a personal install, unzip it into ~/.claude/skills/. For a project install, unzip it into the project's .claude/skills/ folder. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.

  • Personal: unzip into ~/.claude/skills/
  • Project: unzip into .claude/skills/ inside your project
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

How do you trigger the skill with natural requests?

You do not need a special command to use the skill. Ask for help in plain language about slash commands. The skill's description lists phrases such as "create a slash command", "add a command", "define command arguments", "use command frontmatter", "create command with file references" and "use AskUserQuestion in command".

You can also ask about slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, or command development best practices for Claude Code.

  • "Create a slash command that reviews a pull request by number."
  • "Add a command that fixes an issue given its number."
  • "Show me how to define command arguments with $1 and $2."
  • "Write a command that includes package.json with an @ file reference."

What does a command look like?

A basic command is a Markdown file with no frontmatter. Frontmatter is optional and sits between two lines of three dashes. Common fields include description, allowed-tools, model, argument-hint and disable-model-invocation.

Arguments can be captured as one string with $ARGUMENTS, or individually with $1, $2 and so on. File references use the @ syntax, so @src/api/users.ts makes Claude read that file before processing the command.

  • description: shown in /help, ideally under 60 characters
  • allowed-tools: limits which tools the command can use, for example Read, Grep, Bash(git:*)
  • model: sonnet, opus or haiku
  • argument-hint: documents expected arguments for autocomplete
--- description: Review PR with priority and assignee argument-hint: [pr-number] [priority] [assignee] --- Review pull request #$1 with priority level $2. After review, assign to $3 for follow-up.

What are some examples of commands?

A positional-argument command takes its values in order. Running /review-pr 123 high alice fills $1 with 123, $2 with high and $3 with alice.

A $ARGUMENTS command passes everything after the command name as one string. The source example for fixing an issue turns /fix-issue 123 into a prompt asking Claude to fix issue #123 following the project's coding standards.

Commands can also combine arguments, such as Deploy $1 to $2 environment with options: $3, which turns /deploy api staging --force --skip-tests into a single instruction.

What does the skill need, and what are the safety notes?

The skill requires Claude Code, the environment where slash commands are run. It does not run scripts and does not use the network.

Bash execution inside commands can gather context such as repository state before Claude processes the prompt. The skill points to references/plugin-features-reference.md for the exact syntax. Limit risk by using allowed-tools to restrict what a command may do, such as Bash(git:*) for git commands only.

  • Requires: Claude Code
  • Runs scripts: no
  • Uses network: no

What tips help you write better commands?

Write commands as instructions to Claude. Compare "Review this code for security vulnerabilities" with "This command will review your code". The first tells Claude what to do; the second only describes the result to the user.

Choose the location deliberately. Project commands in .claude/commands/ are shared with a team, personal commands in ~/.claude/commands/ are available in every project, and plugin commands live in a plugin's commands folder. The skill notes that .claude/commands/ is a legacy format and that new skills should use the .claude/skills/<name>/SKILL.md format.

  • Keep descriptions short and actionable
  • Set argument-hint so users know what to type
  • Use allowed-tools to grant only the access a command needs

What people use it for

  • Create a /review command that checks code for quality, bugs and missing error handling.
  • Build a /review-pr command that takes a pull request number, priority and assignee.
  • Write a /review-file command that reads a file passed as an argument using @$1.
  • Set up a plugin command in a plugin's commands folder for a team's shared workflow.
  • Compare two files with @ references in a single reusable prompt.

Frequently asked questions

Is the command-development skill free to use?

The source material for this skill is licensed under Apache-2.0, which governs the code and files published in the repository. Check the licence file in the source before redistributing it. The skill itself requires Claude Code to run commands.

What do I need to use this skill?

You need Claude Code, the environment where slash commands are run. The skill does not run scripts and does not use the network.

Where do I put the unzipped skill?

Put it in ~/.claude/skills/ for personal use or in .claude/skills/ inside a project. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.

What is the difference between $ARGUMENTS and $1?

$ARGUMENTS captures all arguments as a single string. $1, $2 and $3 capture individual arguments by position, which is useful when a command needs separate values like a PR number, priority and assignee.

Why does my command describe what will happen instead of doing it?

Commands should be written as instructions to Claude, not as messages to the user. Write directives such as "Review this code for security vulnerabilities" rather than "This command will review your code".

Can I use this skill with other AI agents?

The guidance is specific to Claude Code's command format and may not apply to other agents. Use it for Claude Code projects and plugins.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits developers and plugin authors who want to build reusable slash commands for Claude Code, and it covers frontmatter, arguments and file references clearly. It is not a ready-made tool, so people who only want to run existing commands should skip it, and teams using other agents should look for guidance written for their own command format.

Download the skill