creating-commands

Design Claude Code custom commands with YAML frontmatter and Bash integration.

4|Updated Dec 11, 2025
One-click install
npx skills add https://github.com/tomada1114/tomada-claude-plugins --skill creating-commands-tomada1114
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: creating-commands
Source: https://github.com/tomada1114/tomada-claude-plugins/tree/main/claude-dev-kit/skills/creating-commands
Command: npx skills add https://github.com/tomada1114/tomada-claude-plugins --skill creating-commands-tomada1114

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps teams design and implement Claude Code custom commands, providing guidance on YAML frontmatter, command structure, and safe usage patterns to streamline automation.

Core Features & Use Cases

  • Frontmatter guidance: Clear fields like description, allowed-tools, argument-hint, model, and disable-model-invocation.
  • Argument pattern design: Uses $ARGUMENTS and positional patterns ($1, $2, $3...) to handle user input precisely.
  • Bash integration & file references: Explains pre-execution Bash (! prefix) and file references (@ prefix) for context loading and execution.
  • Troubleshooting & best practices: Provides structured guidance to resolve command invocation and pattern issues.
  • Patterns for teams: Helps design project-level, user-level, and grouped commands with examples.

Quick Start

Start by drafting a new command with a descriptive YAML frontmatter, then describe the workflow and example invocations in the body.

Frequently Asked Questions about creating-commands

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

FAQPage Schema
How do I create a Claude Code custom command with YAML frontmatter?▼

Custom commands use YAML frontmatter to define metadata like description, allowed-tools, argument-hint, and model settings. Structure your command with frontmatter fields at the top, then add the workflow logic and example invocations in the body to guide Claude's execution.

What's the best way to handle user input in Claude Code commands using argument patterns?▼

Use $ARGUMENTS for all inputs or positional patterns ($1, $2, $3) for specific parameters. Argument patterns let you pass user input precisely into your command logic, ensuring deterministic automation and safe parameter handling.

How do Bash integration and file references work in Claude Code commands?▼

Bash integration uses the ! prefix for pre-execution scripts, and the @ prefix loads files as context. Together they enable deterministic automation by executing Bash before Claude acts and injecting file content into prompts for context-aware command execution.

Can I design project-level and team-level commands with Claude Code?▼

Yes, Claude Code supports project-level, user-level, and grouped command patterns. You can craft reusable commands scoped to teams or projects, with structured YAML frontmatter and argument patterns that enforce best practices and security considerations across your workflow.

What security considerations should I follow when building Claude Code commands?▼

Configure allowed-tools in frontmatter to restrict which tools Claude can invoke, use argument patterns to validate user input, and avoid disable-model-invocation unless necessary. These guardrails prevent unsafe tool access and ensure commands remain predictable and secure.

How do I troubleshoot command invocation and argument pattern issues?▼

Verify YAML frontmatter syntax is valid, confirm argument patterns ($1, $2, $ARGUMENTS) match your workflow, check that file references (@) point to correct paths, and review allowed-tools settings. Structured debugging of these components resolves most command invocation failures.