Command Development

Create Claude Code slash commands with frontmatter, arguments, and bash execution.

1|1|Updated Apr 1, 2026
One-click install
npx skills add https://github.com/voxxov222/Claude-code- --skill command-development-voxxov222
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Command Development
Source: https://github.com/voxxov222/Claude-code-/tree/main/temp-repo/plugins/plugin-dev/skills/command-development
Command: npx skills add https://github.com/voxxov222/Claude-code- --skill command-development-voxxov222

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing custom slash commands for Claude Code requires knowing the exact Markdown file format, YAML frontmatter fields, argument syntax, and plugin integration rules, which are easy to get wrong without structured guidance. ## Core Features & Use Cases - Command Authoring Guidance: Covers file format, frontmatter fields (description, allowed-tools, model, argument-hint, disable-model-invocation), dynamic arguments ($ARGUMENTS, $1, $2), file references (@ syntax), and bash execution (!syntax). - **Plugin Integration Patterns**: Explains ${CLAUDE_PLUGIN_ROOT} usage, plugin command discovery, and coordination with agents, skills, and hooks. - **Reference Documentation**: Includes detailed references on frontmatter specifications, interactive commands with AskUserQuestion, advanced workflows, testing strategies, documentation patterns, and marketplace considerations. - **Use Case**: A developer wants to add a/deploy` command to their project that takes an environment argument, runs git checks via bash, and restricts tools to git commands only; this Skill provides the exact structure and validation patterns to build it. ## Quick Start Ask Claude to create a slash command for your project, such as a code review command with a file path argument and git-only bash access.

Frequently Asked Questions about Command Development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a custom slash command in Claude Code?

Create a Markdown file in .claude/commands/ for project commands or ~/.claude/commands/ for personal commands. Add optional YAML frontmatter with a description field, then write the prompt content as instructions for Claude to execute when the command is invoked.

How do I add arguments to a Claude Code slash command?

Use $ARGUMENTS to capture all arguments as one string, or positional parameters like $1, $2, $3 for individual arguments. Document expected arguments with the argument-hint frontmatter field so users see them in autocomplete.

What frontmatter fields are available for slash commands?

Available fields are description, allowed-tools, model (sonnet, opus, or haiku), argument-hint, and disable-model-invocation. All fields are optional, and commands work without any frontmatter at all.

Can slash commands run bash commands in Claude Code?

Yes, commands can execute bash inline using the backtick syntax with an exclamation prefix to gather context like git status before Claude processes the prompt. You must include Bash in the allowed-tools frontmatter field, ideally scoped like Bash(git:*).

Why is my slash command not appearing in Claude Code?

Check that the file is in the correct directory (.claude/commands/ or ~/.claude/commands/), has a .md extension, and contains valid Markdown. Restart Claude Code after adding the file so it gets discovered.

How do plugin commands differ from project commands?

Plugin commands live in a plugin's commands/ directory and are available when the plugin is installed, with access to the ${CLAUDE_PLUGIN_ROOT} variable for referencing plugin scripts and resources. Project commands live in .claude/commands/ and are shared with the team.