Claude
Skills
Sign in
Back

meta-command-creator

Included with Lifetime
$97 forever

Create custom slash commands for Claude Code with markdown and YAML frontmatter. Use when building workflow automations, creating reusable prompts, or defining custom /commands. Use for slash commands, argument handling, file references, bash execution.

AI Agentsscripts

What this skill does


# Custom Slash Command Creator

## Overview

Claude Code slash commands are markdown files with optional YAML frontmatter that create reusable `/command` workflows. Commands and skills are unified: `.claude/commands/` files and `.claude/skills/` directories both create slash commands. Skills are the recommended approach since they support additional features like supporting files, but single-file commands still work.

**When to use:** Repeatable prompts, team workflow standardization, guardrailed operations (deploy, commit), multi-phase tasks, dynamic context injection with bash output.

**When NOT to use:** Complex capabilities needing multiple files and scripts (use a full skill directory instead), one-off prompts, built-in commands that already exist (`/compact`, `/help`, `/init`).

## Quick Reference

| Feature                 | Syntax / Location                   | Key Points                                              |
| ----------------------- | ----------------------------------- | ------------------------------------------------------- |
| Project command         | `.claude/commands/name.md`          | Shows "(project)" in `/help`                            |
| Project skill           | `.claude/skills/name/SKILL.md`      | Recommended over commands, supports extra files         |
| Personal command        | `~/.claude/commands/name.md`        | Available across all projects                           |
| Personal skill          | `~/.claude/skills/name/SKILL.md`    | Available across all projects                           |
| Plugin command          | `<plugin>/skills/name/SKILL.md`     | Namespaced as `plugin-name:skill-name`                  |
| Subdirectory commands   | `.claude/commands/git/commit.md`    | Shows "(project:git)" in `/help`                        |
| All arguments           | `$ARGUMENTS`                        | Entire argument string                                  |
| Positional arguments    | `$0`, `$1`, `$2` or `$ARGUMENTS[0]` | Zero-based index                                        |
| Bash injection          | `` !`git status` ``                 | Runs before prompt is sent, output replaces placeholder |
| File reference          | `@src/file.ts`                      | Inlines file contents into prompt                       |
| Extended thinking       | Include "ultrathink" in content     | Triggers deeper reasoning mode                          |
| Session ID              | `${CLAUDE_SESSION_ID}`              | Current session identifier for logging                  |
| Frontmatter description | `description: What it does`         | Required for `/help` listing and Skill tool             |
| Tool restrictions       | `allowed-tools: Read, Grep, Glob`   | Limits tools without per-use approval                   |
| Manual-only invocation  | `disable-model-invocation: true`    | Prevents Claude from auto-triggering                    |
| Hide from menu          | `user-invocable: false`             | Background knowledge only Claude loads                  |
| Argument hint           | `argument-hint: [issue-number]`     | Shown in autocomplete                                   |
| Model override          | `model: claude-sonnet-4-20250514`   | Specific model for this command                         |
| Subagent execution      | `context: fork`                     | Runs in isolated context                                |
| Subagent type           | `agent: Explore`                    | Built-in or custom agent when `context: fork`           |

## Priority Order

When commands share the same name across levels, higher-priority locations win:

1. **Enterprise** (managed settings)
2. **Personal** (`~/.claude/`)
3. **Project** (`.claude/`)

Plugin commands use namespacing (`plugin:name`) so they never conflict. If a skill and a command share the same name, the skill takes precedence.

## Common Mistakes

| Mistake                                  | Impact                              | Correct Pattern                                            |
| ---------------------------------------- | ----------------------------------- | ---------------------------------------------------------- |
| Adding `name` field in command files     | Ignored for `.md` commands          | Name is inferred from filename                             |
| Missing `description` frontmatter        | Invisible in `/help` and Skill tool | Always include `description`                               |
| Using `category` or `tags` fields        | Silently ignored                    | Use subdirectories for organization                        |
| `$ARGUMENTS` without handling empty case | Unexpected behavior                 | Check if empty and provide default                         |
| `` !`bash` `` without `allowed-tools`    | Commands fail to execute            | Add `allowed-tools: Bash(...)` to frontmatter              |
| Expecting project to override personal   | Personal wins over project          | Personal commands take priority; rename to avoid conflicts |
| Using `context: fork` without a task     | Subagent has no actionable work     | Only fork skills with explicit step-by-step instructions   |
| Overriding built-in command names        | Built-ins cannot be overridden      | Use different names (`/my-help` not `/help`)               |

## Delegation

- **Command pattern discovery**: Use `Explore` agent to find existing commands in `.claude/commands/` or `.claude/skills/`
- **Complex workflow skills**: For multi-file capabilities, create a full skill directory with `SKILL.md` and supporting files

## References

- [Command anatomy: markdown structure, YAML frontmatter fields, file locations, and priority order](references/command-anatomy.md)
- [Arguments and references: $ARGUMENTS, positional args, bash injection, and file references](references/arguments-and-refs.md)
- [Templates: ready-to-use command templates for common patterns](references/templates.md)
Files: 5
Size: 37.7 KB
Complexity: 67/100
Category: AI Agents

Related in AI Agents