Skip to content
Back to skills

New Command

ASecurity

Guide through creating a new Claude Code slash command with proper hierarchy and location

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 20, 2026
developmentbashfrontend

Works with

  • claude code

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add tstapler/dotfiles --skill new-command --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of New Command?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for New Command
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tstapler-new-command/badge)](https://www.skillsdirectory.com/skills/tstapler-new-command)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…