Command creator
This skill should be used when creating a Claude Code slash command.
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/command-creator, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit jdrhyne/agent-skills/codex/command-creator#main ~/.claude/skills/command-creatorFor 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)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- 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.
Paste into Claude, ChatGPT or Cursor.
Source of Command creator
Show the full text221 lines
| name | description | permissions |
|---|---|---|
| command-creator | 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. | - 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
referencesfolder - Command patterns (workflow automation, iterative fixing, agent delegation, simple execution) - examples.md in this skill's
referencesfolder - Real command examples with full source (submit-stack, ensure-ci, create-implementation-plan) - best-practices.md in this skill's
referencesfolder - 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:
- Check git repository status:
git rev-parse --is-inside-work-tree 2>/dev/null - Default location:
- If in git repo → Project-level:
.claude/commands/ - If not in git repo → Global:
~/.claude/commands/
- If in git repo → Project-level:
- 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/
- If user explicitly mentions "global" or "user-level" → Use
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
- ✅ CORRECT:
- File names match command names:
my-command.md→ invoked as/my-command - Description should be concise, action-oriented (appears in
/helpoutput)
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
Determine full file path:
- Project:
.claude/commands/[command-name].md - Global:
~/.claude/commands/[command-name].md
- Project:
Ensure directory exists:
mkdir -p [directory-path]Write the command file using the Write tool
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:
- Suggest testing:
You can test this command by running: /command-name [arguments] - Be ready to iterate based on feedback
- Update the file with improvements as needed
Quick Tips
For detailed guidance, load the bundled references:
- Load patterns.md from this skill's
referencesfolder when designing the command workflow - Load examples.md from this skill's
referencesfolder to see how existing commands are structured - Load best-practices.md from this skill's
referencesfolder before finalizing to ensure quality
Common patterns to remember:
- Use Bash tool for
pytest,pyright,ruff,prettier,make,gtcommands - 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:
- Detect location (project vs global)
- Show patterns to frame the conversation
- Gather information (name, purpose, arguments, steps, tools)
- Generate optimized command with agent-executable instructions
- Create file at appropriate location
- 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 | |
| 2 | name command-creator |
| 3 | description 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. |
| 4 | permissions |
| 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 | |
| 11 | This 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 | |
| 15 | 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: |
| 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 | |
| 24 | Invoke 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 | |
| 34 | This 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 | |
| 40 | Load 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 | |
| 51 | Every slash command is a markdown file with: |
| 52 | |
| 53 | |
| 54 | |
| 55 | description: Brief description shown in /help (required) |
| 56 | argument-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 | |
| 70 | Check git repository status: `git rev-parse --is-inside-work-tree 2>/dev/null` |
| 71 | Default location: |
| 72 | If in git repo → Project-level: `.claude/commands/` |
| 73 | If not in git repo → Global: `~/.claude/commands/` |
| 74 | 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 | |
| 78 | Report the chosen location to the user before proceeding. |
| 79 | |
| 80 | ### Step 2: Show Command Patterns |
| 81 | |
| 82 | Help 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 | |
| 89 | Ask 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 | |
| 93 | Ask the user for key information: |
| 94 | |
| 95 | #### A. Command Name and Purpose |
| 96 | |
| 97 | Ask: |
| 98 | |
| 99 | "What should the command be called?" (for filename) |
| 100 | "What does this command do?" (for description field) |
| 101 | |
| 102 | Guidelines: |
| 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 | |
| 112 | Ask: |
| 113 | |
| 114 | "Does this command take any arguments?" |
| 115 | "Are arguments required or optional?" |
| 116 | "What should arguments represent?" |
| 117 | |
| 118 | If 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 | |
| 126 | Ask: |
| 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 | |
| 132 | Gather 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 | |
| 142 | Ask: |
| 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 | |
| 150 | Create 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 | |
| 157 | Key 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 | |
| 167 | Determine full file path: |
| 168 | Project: `.claude/commands/[command-name].md` |
| 169 | Global: `~/.claude/commands/[command-name].md` |
| 170 | |
| 171 | Ensure directory exists: |
| 172 | |
| 173 | |
| 174 | mkdir -p [directory-path] |
| 175 | |
| 176 | |
| 177 | Write the command file using the Write tool |
| 178 | |
| 179 | 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 | |
| 186 | If the user wants to test: |
| 187 | |
| 188 | Suggest testing: `You can test this command by running: /command-name [arguments]` |
| 189 | Be ready to iterate based on feedback |
| 190 | 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 | |
| 211 | When creating a command: |
| 212 | |
| 213 | **Detect location** (project vs global) |
| 214 | **Show patterns** to frame the conversation |
| 215 | **Gather information** (name, purpose, arguments, steps, tools) |
| 216 | **Generate optimized command** with agent-executable instructions |
| 217 | **Create file** at appropriate location |
| 218 | **Confirm and iterate** as needed |
| 219 | |
| 220 | Focus on creating commands that agents can execute autonomously, with clear steps, explicit tool usage, and proper error handling. |
| 221 |
Discussion
Browse more free Claude skills.