Guide through creating a new Claude Code slash command with proper hierarchy and location
Scanned 9/20/2026
Install to Claude Code
npx -y skills add tstapler/dotfiles --skill new-command --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of New Command?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tstapler-new-command)More formats (shields.io, HTML) on the badges page.
---
description: Guide through creating a new Claude Code slash command with proper hierarchy and location
---
# Creating a new Claude Code slash command: `{{args}}`
I'll guide you through creating a new Claude Code slash command based on the specified command name and type.
## Command Hierarchy and Locations
Claude Code supports different types of slash commands with specific locations and visibility:
1. **Project Commands** (shared with team)
- Location: `.claude/commands/` (in project directory)
- Visible to: Anyone with access to the repository
- Marked as: "(project)" in `/help`
- Use for: Project-specific workflows, team conventions, shared templates
2. **Personal Commands** (available across all projects)
- Location: `~/.claude/commands/` (in home directory)
- Visible to: Only you, on your machine
- Marked as: "(user)" in `/help`
- Use for: Personal preferences, workflows you use across projects
3. **Namespaced Commands** (organizational structure)
- Use subdirectories to create command namespaces
- Example: `.claude/commands/frontend/component.md` creates `/frontend:component`
- Helps organize related commands into logical groups
## Creating Your Command
Let's create a new command based on your inputs:
Command Name: `${1:-example_command}`
Command Type: `${2:-personal}` (Options: project, personal)
Command Description: `${3:-A helpful command for Claude Code}`
### Steps to Create This Command:
1. **Choose the correct directory** based on command type:
- Project command: `.claude/commands/` (in current project)
- Personal command: `~/.claude/commands/` (in your home directory)
2. **Create the command file**:
```bash
# For project command:
mkdir -p .claude/commands
touch .claude/commands/${1:-example_command}.md
# For personal command:
mkdir -p ~/.claude/commands
touch ~/.claude/commands/${1:-example_command}.md
```
3. **Edit the command file** with your desired prompt content:
The file should contain the text you want Claude to process when the command is invoked.
4. **Optional: Add YAML frontmatter** for additional metadata:
```yaml
---
title: ${1:-Example Command}
description: ${3:-A helpful command for Claude Code}
arguments: [arg1, arg2] # Optional arguments the command accepts
---
```
5. **Add argument support** with `{{args}}` or numbered variables:
- Use `{{args}}` to access all arguments as a single string
- Use `$1`, `$2`, etc. to access specific arguments
- Use `${1:-default}` to provide default values
## Example Command Structure
Here's an example structure for your new `/${1:-example_command}` command:
```markdown
---
title: ${1:-Example Command}
description: ${3:-A helpful command for Claude Code}
arguments: [arg1, arg2]
---
# ${1:-Example Command}
This is the content of your command. When you invoke /${1:-example_command},
Claude will process this text as a prompt.
You can reference arguments:
- First argument: $1
- Second argument: $2
- All arguments: {{args}}
## Using This Command
Explain how to use this command effectively.
```
## Using Your New Command
Once created, you can invoke your command by typing:
`/${1:-example_command} [arguments]`
The command will be available:
- Project commands: Only in the specific project
- Personal commands: In all your Claude Code conversations
## Advanced Features
1. **File references**:
```
Please analyze the code in @path/to/file.js
```
2. **Bash command execution**:
```
Results of running a command:
\`\`\`bash
ls -la
\`\`\`
```
3. **Command nesting**:
You can invoke other commands from within a command.
## Command Template Based on Your Inputs
Here's a template for your new `/${1:-example_command}` command that incorporates your description:
```markdown
---
title: ${1:-Example Command}
description: ${3:-A helpful command for Claude Code}
arguments: [arg1, arg2]
---
# ${1:-Example Command}
${3:-A helpful command for Claude Code}
This command was created to help with specific tasks related to this purpose.
## Usage
How to use this command:
/${1:-example_command} [arguments]
## Implementation
The command will execute the following:
1. Step one
2. Step two
3. Step three
```
Would you like me to create this command file for you now? If so, please confirm the command name (`$1`), type (`$2`), and description (`$3`) I should use.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!