
write-command
Create effective Claude Code slash commands with proper YAML frontmatter and argument handling. Use when writing new slash commands, improving existing commands, or learning command best practices.
Create effective Claude Code slash commands with proper YAML frontmatter and argument handling. Use when writing new slash commands, improving existing commands, or learning command best practices.
Slash Command Creator
Create slash commands that users explicitly invoke with /command-name.
Command vs Skill
| Aspect | Slash Command | Skill |
|---|---|---|
| Activation | Manual /command |
Automatic (context) |
| Location | .claude/commands/<name>.md |
.claude/skills/<name>/SKILL.md |
| Best for | On-demand actions | Recurring workflows |
File Structure
.claude/
└── commands/
├── my-command.md
└── subdir/
└── nested-command.md
Creation Process
1. Initialize
Run the init script to create proper structure:
python3 scripts/init_command.py <command-name>
Options:
--path,-p: Output directory (default:.claude/commands)--no-args: Create without argument template
2. Edit the Command
Update the generated file with your instructions.
3. Test
Restart Claude Code, then run /<command-name>.
Command Template
---
name: command-name
description: Brief description of what this command does
arguments:
- name: required_arg
description: Something required
required: true
- name: optional_arg
description: Something optional
required: false
---
# Command Title
[What this command does]
## Process
### 1. [Step Name]
[Instructions with code examples]
### 2. [Step Name]
[Instructions]
## Example Usage
/command-name value1 value2
YAML Frontmatter
Required Fields
| Field | Format |
|---|---|
name |
lowercase, hyphens (must match filename) |
description |
Brief action description |
Optional Fields
| Field | Description |
|---|---|
arguments |
Array of argument definitions |
allowed-tools |
Pre-approved tools list |
Arguments
Define arguments as array:
arguments:
- name: issue-id
description: GitHub issue number
required: true
- name: branch
description: Branch name (default: main)
required: false
Accessing Arguments
| Syntax | Usage |
|---|---|
$ARGUMENTS |
Entire input string |
$1, $2 |
Positional parameters |
Example: /deploy app prod → $1=app, $2=prod
Body Guidelines
Do:
- Use imperative form ("Run" not "You should run")
- Provide concrete code examples
- Break into numbered steps
- Show example usage
Don't:
- Include "When to use" (goes in description)
- Be vague about commands
- Make it too long
Special Features
Bash Execution
!npm run build
!python scripts/process.py
File References
Review this:
@src/index.ts
Validation Checklist
- [ ] Name matches filename (kebab-case)
- [ ] Description is clear and actionable
- [ ] Arguments have descriptions and required flags
- [ ] Body uses imperative form
- [ ] Includes example usage
You Might Also Like
Related Skills

coding-agent
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
openclaw
add-uint-support
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
pytorch
at-dispatch-v2
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
pytorch
skill-writer
Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.
pytorch
implementing-jsc-classes-cpp
Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.
oven-sh
implementing-jsc-classes-zig
Creates JavaScript classes using Bun's Zig bindings generator (.classes.ts). Use when implementing new JS APIs in Zig with JSC integration.
oven-sh