command-development

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

1|Updated Jul 6, 2015
One-click install
npx skills add https://github.com/ksolomon/dotfiles --skill command-development-ksolomon
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: command-development
Source: https://github.com/ksolomon/dotfiles/tree/main/AI/.claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development
Command: npx skills add https://github.com/ksolomon/dotfiles --skill command-development-ksolomon

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing custom slash commands for Claude Code requires knowing the Markdown file format, YAML frontmatter fields, dynamic argument syntax, and plugin integration patterns, which are easy to get wrong without structured guidance. ## Core Features & Use Cases - Command Format Guidance: Covers Markdown command structure, YAML frontmatter fields (description, allowed-tools, model, argument-hint, disable-model-invocation), and file locations for project, personal, and plugin commands. - Dynamic Features: Explains $ARGUMENTS and positional arguments, @ file references, inline bash execution, and interactive prompts via the AskUserQuestion tool. - Plugin Integration: Documents ${CLAUDE_PLUGIN_ROOT} usage, command namespacing, coordination with agents, skills, and hooks, plus validation and error-handling patterns. - Use Case: When you ask to create a /review-pr command that accepts a PR number, fetches details with gh, and restricts tools to Bash(gh:*), this Skill produces a correctly structured command file with proper frontmatter and argument handling. ## Quick Start Ask Claude to create a slash command that reviews a pull request by number using the command-development skill.

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 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 as instructions directed at Claude.

How to pass arguments to a Claude Code slash command?▼

Use $ARGUMENTS to capture all arguments as one string, or positional variables 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 does a slash command support?▼

Slash commands support description, allowed-tools, model (sonnet, opus, haiku), argument-hint, and disable-model-invocation. All fields are optional; commands work with no frontmatter at all.

Can a slash command run bash commands or read files?▼

Yes. Use !`command` syntax to execute bash and include output, and @path/to/file to include file contents. Bash execution requires the allowed-tools frontmatter field to permit the relevant commands, such as Bash(git:*).

Why is my slash command not appearing in Claude Code?▼

Check that the file sits in the correct commands directory, has a .md extension, and contains valid Markdown and YAML frontmatter. Restarting Claude Code resolves most discovery issues.

When should I use disable-model-invocation in a command?▼

Use it for commands requiring human judgment, destructive operations, or interactive workflows that should only run when manually typed. It prevents the SlashCommand tool from invoking the command programmatically.