Command creator

This skill should be used when creating a Claude Code slash command.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/command-creator, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit jdrhyne/agent-skills/codex/command-creator#main ~/.claude/skills/command-creator

For one project only, change the path to .claude/skills/command-creator. This skill also uses patterns.md, examples.md, best-practices.md, my-command.md — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Command creator

Show the full text221 lines
namedescriptionpermissions
command-creatorThis 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. - exec: "Runs lightweight local commands such as git checks or directory creation while building the command. - file_write: "Creates or updates the requested slash-command file in the chosen commands directory.

Command Creator

This skill guides the creation of Claude Code slash commands - reusable workflows that can be invoked with /command-name in Claude Code conversations.

About Slash Commands

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:

  • Repetitive workflows (code review, PR submission, CI fixing)
  • Multi-step processes that need consistency
  • Agent delegation patterns
  • Project-specific automation

When to Use This Skill

Invoke this skill when users:

  • Ask to "create a command" or "make a slash command"
  • Want to automate a repetitive workflow
  • Need to document a consistent process for reuse
  • Say "I keep doing X, can we make a command for it?"
  • Want to create project-specific or global commands

Bundled Resources

This skill includes reference documentation for detailed guidance:

  • patterns.md in this skill's references folder - Command patterns (workflow automation, iterative fixing, agent delegation, simple execution)
  • examples.md in this skill's references folder - Real command examples with full source (submit-stack, ensure-ci, create-implementation-plan)
  • best-practices.md in this skill's references folder - Quality checklist, common pitfalls, writing guidelines, template structure

Load these references as needed when creating commands to understand patterns, see examples, or ensure quality.

Safety Boundaries

  • Do not create or overwrite commands outside the user-chosen project or global commands directory.
  • Do not include destructive steps, hidden network calls, or irreversible operations unless the user asked for them explicitly.
  • Do not assume a command should be global when the project directory is the safer default.
  • Do not read unrelated files for context when the command can be built from the request and this skill's bundled guides.

Command Structure Overview

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]

Command Creation Workflow

Step 1: Determine Location

Auto-detect the appropriate location:

  1. Check git repository status: git rev-parse --is-inside-work-tree 2>/dev/null
  2. Default location:
    • If in git repo → Project-level: .claude/commands/
    • If not in git repo → Global: ~/.claude/commands/
  3. Allow user override:
    • If user explicitly mentions "global" or "user-level" → Use ~/.claude/commands/
    • If user explicitly mentions "project" or "project-level" → Use .claude/commands/

Report the chosen location to the user before proceeding.

Step 2: Show Command Patterns

Help the user understand different command types. Load patterns.md from this skill's references folder to see available patterns:

  • Workflow Automation - Analyze → Act → Report (e.g., submit-stack)
  • Iterative Fixing - Run → Parse → Fix → Repeat (e.g., ensure-ci)
  • Agent Delegation - Context → Delegate → Iterate (e.g., create-implementation-plan)
  • Simple Execution - Run command with args (e.g., codex-review)

Ask the user: "Which pattern is closest to what you want to create?" This helps frame the conversation.

Step 3: Gather Command Information

Ask the user for key information:

A. Command Name and Purpose

Ask:

  • "What should the command be called?" (for filename)
  • "What does this command do?" (for description field)

Guidelines:

  • Command names MUST be kebab-case (hyphens, NOT underscores)
    • ✅ CORRECT: submit-stack, ensure-ci, create-from-plan
    • ❌ WRONG: submit_stack, ensure_ci, create_from_plan
  • File names match command names: my-command.md → invoked as /my-command
  • Description should be concise, action-oriented (appears in /help output)
B. Arguments

Ask:

  • "Does this command take any arguments?"
  • "Are arguments required or optional?"
  • "What should arguments represent?"

If command takes arguments:

  • Add argument-hint: <placeholder> to frontmatter
  • Use <angle-brackets> for required arguments
  • Use [square-brackets] for optional arguments
C. Workflow Steps

Ask:

  • "What are the specific steps this command should follow?"
  • "What order should they happen in?"
  • "What tools or commands should be used?"

Gather details about:

  • Initial analysis or checks to perform
  • Main actions to take
  • How to handle results
  • Success criteria
  • Error handling approach
D. Tool Restrictions and Guidance

Ask:

  • "Should this command use any specific agents or tools?"
  • "Are there any tools or operations it should avoid?"
  • "Should it read any specific files for context?"
Step 4: Generate Optimized Command

Create the command file with agent-ready instructions. Load best-practices.md from this skill's references folder for:

  • Template structure
  • Best practices for agent execution
  • Writing style guidelines
  • Quality checklist

Key principles:

  • Use imperative/infinitive form (verb-first instructions)
  • Be explicit and specific
  • Include expected outcomes
  • Provide concrete examples
  • Define clear error handling
Step 5: Create the Command File
  1. Determine full file path:

    • Project: .claude/commands/[command-name].md
    • Global: ~/.claude/commands/[command-name].md
  2. Ensure directory exists:

    mkdir -p [directory-path]
    
  3. Write the command file using the Write tool

  4. Confirm with user:

    • Report the file location
    • Summarize what the command does
    • Explain how to use it: /command-name [arguments]
Step 6: Test and Iterate (Optional)

If the user wants to test:

  1. Suggest testing: You can test this command by running: /command-name [arguments]
  2. Be ready to iterate based on feedback
  3. Update the file with improvements as needed

Quick Tips

For detailed guidance, load the bundled references:

  • Load patterns.md from this skill's references folder when designing the command workflow
  • Load examples.md from this skill's references folder to see how existing commands are structured
  • Load best-practices.md from this skill's references folder before finalizing to ensure quality

Common patterns to remember:

  • Use Bash tool for pytest, pyright, ruff, prettier, make, gt commands
  • Use Task tool to invoke subagents for specialized tasks
  • Check for specific files first (e.g., .PLAN.md) before proceeding
  • Mark todos complete immediately, not in batches
  • Include explicit error handling instructions
  • Define clear success criteria

Summary

When creating a command:

  1. Detect location (project vs global)
  2. Show patterns to frame the conversation
  3. Gather information (name, purpose, arguments, steps, tools)
  4. Generate optimized command with agent-executable instructions
  5. Create file at appropriate location
  6. Confirm and iterate as needed

Focus on creating commands that agents can execute autonomously, with clear steps, explicit tool usage, and proper error handling.

1---
2name: command-creator
3description: 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.
4permissions:
5 - exec: "Runs lightweight local commands such as git checks or directory creation while building the command."
6 - file_write: "Creates or updates the requested slash-command file in the chosen commands directory."
7---
8 
9# Command Creator
10 
11This skill guides the creation of Claude Code slash commands - reusable workflows that can be invoked with `/command-name` in Claude Code conversations.
12 
13## About Slash Commands
14 
15Slash 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:
16 
17- Repetitive workflows (code review, PR submission, CI fixing)
18- Multi-step processes that need consistency
19- Agent delegation patterns
20- Project-specific automation
21 
22## When to Use This Skill
23 
24Invoke this skill when users:
25 
26- Ask to "create a command" or "make a slash command"
27- Want to automate a repetitive workflow
28- Need to document a consistent process for reuse
29- Say "I keep doing X, can we make a command for it?"
30- Want to create project-specific or global commands
31 
32## Bundled Resources
33 
34This skill includes reference documentation for detailed guidance:
35 
36- **patterns.md** in this skill's `references` folder - Command patterns (workflow automation, iterative fixing, agent delegation, simple execution)
37- **examples.md** in this skill's `references` folder - Real command examples with full source (submit-stack, ensure-ci, create-implementation-plan)
38- **best-practices.md** in this skill's `references` folder - Quality checklist, common pitfalls, writing guidelines, template structure
39 
40Load these references as needed when creating commands to understand patterns, see examples, or ensure quality.
41 
42## Safety Boundaries
43 
44- Do not create or overwrite commands outside the user-chosen project or global commands directory.
45- Do not include destructive steps, hidden network calls, or irreversible operations unless the user asked for them explicitly.
46- Do not assume a command should be global when the project directory is the safer default.
47- Do not read unrelated files for context when the command can be built from the request and this skill's bundled guides.
48 
49## Command Structure Overview
50 
51Every slash command is a markdown file with:
52 
53```markdown
54---
55description: Brief description shown in /help (required)
56argument-hint: <placeholder> (optional, if command takes arguments)
57---
58 
59# Command Title
60 
61[Detailed instructions for the agent to execute autonomously]
62```
63 
64## Command Creation Workflow
65 
66### Step 1: Determine Location
67 
68**Auto-detect the appropriate location:**
69 
701. Check git repository status: `git rev-parse --is-inside-work-tree 2>/dev/null`
712. Default location:
72 - If in git repo → Project-level: `.claude/commands/`
73 - If not in git repo → Global: `~/.claude/commands/`
743. Allow user override:
75 - If user explicitly mentions "global" or "user-level" → Use `~/.claude/commands/`
76 - If user explicitly mentions "project" or "project-level" → Use `.claude/commands/`
77 
78Report the chosen location to the user before proceeding.
79 
80### Step 2: Show Command Patterns
81 
82Help the user understand different command types. Load **patterns.md** from this skill's `references` folder to see available patterns:
83 
84- **Workflow Automation** - Analyze → Act → Report (e.g., submit-stack)
85- **Iterative Fixing** - Run → Parse → Fix → Repeat (e.g., ensure-ci)
86- **Agent Delegation** - Context → Delegate → Iterate (e.g., create-implementation-plan)
87- **Simple Execution** - Run command with args (e.g., codex-review)
88 
89Ask the user: "Which pattern is closest to what you want to create?" This helps frame the conversation.
90 
91### Step 3: Gather Command Information
92 
93Ask the user for key information:
94 
95#### A. Command Name and Purpose
96 
97Ask:
98 
99- "What should the command be called?" (for filename)
100- "What does this command do?" (for description field)
101 
102Guidelines:
103 
104- Command names MUST be kebab-case (hyphens, NOT underscores)
105 - ✅ CORRECT: `submit-stack`, `ensure-ci`, `create-from-plan`
106 - ❌ WRONG: `submit_stack`, `ensure_ci`, `create_from_plan`
107- File names match command names: `my-command.md` → invoked as `/my-command`
108- Description should be concise, action-oriented (appears in `/help` output)
109 
110#### B. Arguments
111 
112Ask:
113 
114- "Does this command take any arguments?"
115- "Are arguments required or optional?"
116- "What should arguments represent?"
117 
118If command takes arguments:
119 
120- Add `argument-hint: <placeholder>` to frontmatter
121- Use `<angle-brackets>` for required arguments
122- Use `[square-brackets]` for optional arguments
123 
124#### C. Workflow Steps
125 
126Ask:
127 
128- "What are the specific steps this command should follow?"
129- "What order should they happen in?"
130- "What tools or commands should be used?"
131 
132Gather details about:
133 
134- Initial analysis or checks to perform
135- Main actions to take
136- How to handle results
137- Success criteria
138- Error handling approach
139 
140#### D. Tool Restrictions and Guidance
141 
142Ask:
143 
144- "Should this command use any specific agents or tools?"
145- "Are there any tools or operations it should avoid?"
146- "Should it read any specific files for context?"
147 
148### Step 4: Generate Optimized Command
149 
150Create the command file with agent-ready instructions. Load **best-practices.md** from this skill's `references` folder for:
151 
152- Template structure
153- Best practices for agent execution
154- Writing style guidelines
155- Quality checklist
156 
157Key principles:
158 
159- Use imperative/infinitive form (verb-first instructions)
160- Be explicit and specific
161- Include expected outcomes
162- Provide concrete examples
163- Define clear error handling
164 
165### Step 5: Create the Command File
166 
1671. Determine full file path:
168 - Project: `.claude/commands/[command-name].md`
169 - Global: `~/.claude/commands/[command-name].md`
170 
1712. Ensure directory exists:
172 
173 ```bash
174 mkdir -p [directory-path]
175 ```
176 
1773. Write the command file using the Write tool
178 
1794. Confirm with user:
180 - Report the file location
181 - Summarize what the command does
182 - Explain how to use it: `/command-name [arguments]`
183 
184### Step 6: Test and Iterate (Optional)
185 
186If the user wants to test:
187 
1881. Suggest testing: `You can test this command by running: /command-name [arguments]`
1892. Be ready to iterate based on feedback
1903. Update the file with improvements as needed
191 
192## Quick Tips
193 
194**For detailed guidance, load the bundled references:**
195 
196- Load **patterns.md** from this skill's `references` folder when designing the command workflow
197- Load **examples.md** from this skill's `references` folder to see how existing commands are structured
198- Load **best-practices.md** from this skill's `references` folder before finalizing to ensure quality
199 
200**Common patterns to remember:**
201 
202- Use Bash tool for `pytest`, `pyright`, `ruff`, `prettier`, `make`, `gt` commands
203- Use Task tool to invoke subagents for specialized tasks
204- Check for specific files first (e.g., `.PLAN.md`) before proceeding
205- Mark todos complete immediately, not in batches
206- Include explicit error handling instructions
207- Define clear success criteria
208 
209## Summary
210 
211When creating a command:
212 
2131. **Detect location** (project vs global)
2142. **Show patterns** to frame the conversation
2153. **Gather information** (name, purpose, arguments, steps, tools)
2164. **Generate optimized command** with agent-executable instructions
2175. **Create file** at appropriate location
2186. **Confirm and iterate** as needed
219 
220Focus on creating commands that agents can execute autonomously, with clear steps, explicit tool usage, and proper error handling.
221 

Discussion