Command Development

Create and organize Claude Code slash commands with YAML frontmatter and dynamic arguments.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Developers often struggle to define, reuse, and maintain consistent slash commands for Claude Code, leading to duplicated effort and unclear workflows.

Core Features & Use Cases

  • Define commands with YAML frontmatter to specify description, allowed tools, model, and argument hints.
  • Support dynamic arguments using $ARGUMENTS, positional $1, $2, etc., and combine them as needed.
  • Include file references with @ syntax and execute bash commands inline for context gathering.
  • Organize commands in flat or namespaced structures for project, personal, or plugin scopes.
  • Provide best‑practice guidelines for naming, validation, error handling, and marketplace readiness.

Quick Start

Ask Claude to generate a new slash command that reviews code changes 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 Claude Code slash commands with YAML frontmatter?

To create Claude Code slash commands, define YAML frontmatter to specify description, allowed tools, model, and argument hints. This establishes reusable command prompts for project, personal, or plugin contexts.

Can I use dynamic arguments and bash execution in Claude Code commands?

Dynamic arguments and bash execution are supported in Claude Code commands using `$ARGUMENTS`, positional variables like `$1`, and inline bash commands. These features allow dynamic context gathering and argument substitution.

How do I organize Claude Code commands for project, personal, or plugin scopes?

Organize Claude Code commands in flat or namespaced directory structures to separate project, personal, or plugin scopes. This structure manages command discovery and prevents conflicts across different execution contexts.

Do I need the CLAUDE_PLUGIN_ROOT variable for Claude Code plugin commands?

The `CLAUDE_PLUGIN_ROOT` variable is required for Claude Code plugin commands to access plugin resources. It provides the necessary path resolution for loading file references and dependencies within the plugin environment.

What's the best way to include file references in Claude Code slash commands?

Include file references in Claude Code slash commands using the `@` syntax. This directs the command to load specific file contents as context, combining with dynamic arguments for targeted code analysis.

How does argument substitution work in Claude Code command development?

Argument substitution in Claude Code command development uses `$ARGUMENTS` for all passed arguments or positional variables like `$1` and `$2` for specific inputs. These are replaced during command execution to customize prompt behavior.