Command Development

Create and validate reusable Claude Code slash commands with YAML frontmatter.

2|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/Clay-HHK/claude-config --skill command-development-clay-hhk
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Command Development
Source: https://github.com/Clay-HHK/claude-config/tree/main/skills/command-development
Command: npx skills add https://github.com/Clay-HHK/claude-config --skill command-development-clay-hhk

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Provides clear, practical guidance for creating, organizing, and validating Claude Code slash commands so teams and individuals can automate common workflows without accidental misuse or broken commands.

Core Features & Use Cases

  • Frontmatter & Configuration: Explains required and optional YAML fields (description, allowed-tools, model, argument-hint, disable-model-invocation) and best practices for discoverability.
  • Dynamic Arguments & File Inclusion: Shows how to author positional and aggregated arguments, include file contents for context, and safely combine inputs for robust commands.
  • Bash Execution, Validation & Plugins: Documents safe inline bash execution patterns, validation and error-handling strategies, multi-step workflows, AskUserQuestion interactive patterns, and plugin conventions using ${CLAUDE_PLUGIN_ROOT} for portable scripts and templates.
  • Use Case Example: Author a project-level review command that reads changed files, runs targeted scripts, validates inputs, and composes a human-readable report.

Quick Start

Create a command file with a concise description in YAML frontmatter, document expected arguments with argument-hint, include any required allowed-tools, and write the prompt instructing Claude what to do in imperative form.

Frequently Asked Questions about Command Development

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

FAQPage Schema
How do I create reusable slash commands with YAML frontmatter for Claude Code?

To create reusable slash commands in Claude Code, author a command file with YAML frontmatter containing required fields like description, optional fields like allowed-tools and argument-hint, and write the prompt in imperative form instructing Claude what to do.

What is the best way to handle dynamic arguments and file inclusion in Claude Code commands?

Dynamic arguments and file inclusion in Claude Code commands are handled by authoring positional and aggregated arguments, then including file contents for context to safely combine inputs and produce robust, stateful command workflows.

Does Claude Code support safe inline bash execution within custom slash commands?

Yes, Claude Code supports safe inline bash execution within custom slash commands by applying documented bash execution patterns, validation strategies, and error-handling requirements to prevent accidental misuse or broken command workflows.

Can I use interactive AskUserQuestion flows and multi-step workflows in Claude Code commands?

Yes, you can implement interactive AskUserQuestion flows and multi-step stateful workflows in Claude Code commands to handle complex project, user, and plugin command workflows including dynamic argument handling.

How do I make Claude Code plugin commands portable across different project environments?

To make Claude Code plugin commands portable, use the ${CLAUDE_PLUGIN_ROOT} variable for resolving plugin resources, allowing portable scripts and templates to function correctly across different project and user environments.

Why are my custom Claude Code commands not showing up or being discovered correctly?

Custom Claude Code commands may not be discovered if the YAML frontmatter lacks a concise description, missing required fields, or contains invalid metadata parsing, which prevents proper command file validation.