This skill should be used when creating a Claude Code slash command. Use when users ask to "create a command", "make a slash command", "add a command", or want to document a workflow as a reusable command. Essential for creating optimized, agent-executable slash commands with proper structure and best practices.
This skill guides the creation of Claude Code slash commands - reusable workflows that can be invoked with /command-name in Claude Code conversations.
Slash commands are markdown files stored in .claude/commands/ (project-level) or ~/.claude/commands/ (global/user-level) that get expanded into prompts when invoked. They're ideal for:
Invoke this skill when users:
This skill includes reference documentation for detailed guidance:
Load these references as needed when creating commands to understand patterns, see examples, or ensure quality.
Every slash command is a markdown file with:
---
description: Brief description shown in /help (required)
argument-hint: <placeholder> (optional, if command takes arguments)
---
# Command Title
[Detailed instructions for the agent to execute autonomously]
Auto-detect the appropriate location:
git rev-parse --is-inside-work-tree 2>/dev/null.claude/commands/~/.claude/commands/~/.claude/commands/.claude/commands/Report the chosen location to the user before proceeding.
Help the user understand different command types. Load references/patterns.md to see available patterns:
Ask the user: "Which pattern is closest to what you want to create?" This helps frame the conversation.
Ask the user for key information:
Ask:
Guidelines:
submit-stack, ensure-ci, create-from-plansubmit_stack, ensure_ci, create_from_planmy-command.md → invoked as /my-command/help output)Ask:
If command takes arguments:
argument-hint: <placeholder> to frontmatter<angle-brackets> for required arguments[square-brackets] for optional argumentsAsk:
Gather details about:
Ask:
Create the command file with agent-optimized instructions. Load references/best-practices.md for:
Key principles:
Determine full file path:
.claude/commands/[command-name].md~/.claude/commands/[command-name].mdEnsure directory exists:
mkdir -p [directory-path]
Write the command file using the Write tool
Confirm with user:
/command-name [arguments]If the user wants to test:
You can test this command by running: /command-name [arguments]For detailed guidance, load the bundled references:
Common patterns to remember:
pytest, pyright, ruff, prettier, make, gt commands.PLAN.md) before proceedingWhen creating a command:
Focus on creating commands that agents can execute autonomously, with clear steps, explicit tool usage, and proper error handling.
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/command-creator · pinned to the source commit
# Run from your project root
git clone https://github.com/davila7/claude-code-templates.git .skillboard-tmp
git -C .skillboard-tmp checkout 5cc17cf267132cc690dee82239b80a99ec82e4f8
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/cli-tool/components/skills/development/command-creator" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/davila7/claude-code-templates.git .skillboard-tmp
git -C .skillboard-tmp checkout 5cc17cf267132cc690dee82239b80a99ec82e4f8
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/cli-tool/components/skills/development/command-creator" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/command-creator
Scanner static-checks@0.1.0 · commit 5cc17cf26713. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.