glittercowboy/taches-cc-resources/create-slash-commands
- community
Checking that the SKILL.md file is still in the repository.
Expert guidance for creating Claude Code slash commands. Use when working with slash commands, creating custom commands, understanding command structure, or learning YAML configuration.
Install
npx vskill@latest install glittercowboy/taches-cc-resources/create-slash-commandsSKILL.md
<objective> Create effective slash commands for Claude Code that enable users to trigger reusable prompts with /command-name syntax. Slash commands expand as prompts in the current conversation, allowing teams to standardize workflows and operations. This skill teaches you to structure commands with XML tags, YAML frontmatter, dynamic context loading, and intelligent argument handling. </objective>
<quick_start>
<workflow>
- Create
.claude/commands/directory (project) or use~/.claude/commands/(personal) - Create
command-name.mdfile - Add YAML frontmatter (at minimum:
description) - Write command prompt
- Test with
/command-name [args]
</workflow>
<example> File: .claude/commands/optimize.md
Usage: /optimize
Claude receives the expanded prompt and analyzes the code in context. </example> </quick_start>
<xml_structure> All generated slash commands should use XML tags in the body (after YAML frontmatter) for clarity and consistency.
<required_tags>
`<objective>` - What the command does and why it matters
`<process>` or `<steps>` - How to execute the command
`<success_criteria>` - How to know the command succeeded
</required_tags>
<conditional_tags>
`<context>` - When loading dynamic state or files
(Note: Remove the space after @ in actual usage)
`<verification>` - When producing artifacts that need checking
`<testing>` - When running tests is part of the workflow
`<output>` - When creating/modifying specific files
</conditional_tags>
<structure_example>
</structure_example>
<intelligence_rules>
Simple commands (single operation, no artifacts):
- Required:
<objective>,<process>,<success_criteria> - Example:
/check-todos,/first-principles
Complex commands (multi-step, produces artifacts):
- Required:
<objective>,<process>,<success_criteria> - Add:
<context>(if loading state),<verification>(if creating files),<output>(what gets created) - Example:
/commit,/create-prompt,/run-prompt
Commands with dynamic arguments:
- Use
$ARGUMENTSin<objective>or<process>tags - Include
argument-hintin frontmatter - Make it clear what the arguments are for
Commands that produce files:
- Always include
<output>tag specifying what gets created - Always include
<verification>tag with checks to perform
Commands that run tests/builds:
- Include
<testing>tag with specific commands - Include pass/fail criteria in
<success_criteria>
</intelligence_rules> </xml_structure>
<arguments_intelligence> The skill should intelligently determine whether a slash command needs arguments.
<commands_that_need_arguments>
User provides specific input:
/fix-issue [issue-number]- Needs issue number/review-pr [pr-number]- Needs PR number/optimize [file-path]- Needs file to optimize/commit [type]- Needs commit type (optional)
Pattern: Task operates on user-specified data
Include argument-hint: [description] in frontmatter and reference $ARGUMENTS in the body. </commands_that_need_arguments>
<commands_without_arguments>
Self-contained procedures:
/check-todos- Operates on known file (TO-DOS.md)/first-principles- Operates on current conversation/whats-next- Analyzes current context
Pattern: Task operates on implicit context (current conversation, known files, project state)
Omit argument-hint and don't reference $ARGUMENTS. </commands_without_arguments>
<incorporating_arguments>
In `<objective>` tag:
In `<process>` tag:
In `<context>` tag:
(Note: Remove the space after the exclamation mark in actual usage) </incorporating_arguments>
<positional_arguments>
For structured input, use $1, $2, $3:
Usage: /review-pr 456 high alice </positional_arguments> </arguments_intelligence>
<file_structure>
Project commands: .claude/commands/
- Shared with team via version control
- Shows
(project)in/helplist
Personal commands: ~/.claude/commands/
- Available across all your projects
- Shows
(user)in/helplist
File naming: command-name.md → invoked as /command-name </file_structure>
<yaml_frontmatter>
<field name="description"> Required - Describes what the command does
Shown in the /help command list. </field>
<field name="allowed-tools"> Optional - Restricts which tools Claude can use
Formats:
- Array:
allowed-tools: [Read, Edit, Write] - Single tool:
allowed-tools: SequentialThinking - Bash restrictions:
allowed-tools: Bash(git add:*)
If omitted: All tools available </field> </yaml_frontmatter>
<arguments> <all_arguments_string>
Command file: .claude/commands/fix-issue.md
Usage: /fix-issue 123 high-priority
Claude receives: "Fix issue #123 high-priority following our coding standards" </all_arguments_string>
<positional_arguments_syntax>
Command file: .claude/commands/review-pr.md
Usage: /review-pr 456 high alice
Claude receives: "Review PR #456 with priority high and assign to alice"
See references/arguments.md for advanced patterns. </positional_arguments_syntax> </arguments>
<dynamic_context>
Execute bash commands before the prompt using the exclamation mark prefix directly before backticks (no space between).
Note: Examples below show a space after the exclamation mark to prevent execution during skill loading. In actual slash commands, remove the space.
Example:
The bash commands execute and their output is included in the expanded prompt. </dynamic_context>
<file_references>
Use @ prefix to reference specific files:
(Note: Remove the space after @ in actual usage)
Claude can access the referenced file's contents. </file_references>
<best_practices>
1. Always use XML structure
After frontmatter, use XML tags:
<objective>- What and why (always)<process>- How to do it (always)<success_criteria>- Definition of done (always)- Additional tags as needed (see xml_structure section)
2. Clear descriptions
3. Use dynamic context for state-dependent tasks
4. Restrict tools when appropriate
5. Use $ARGUMENTS for flexibility
6. Reference relevant files
(Note: Remove the space after @ in actual usage) </best_practices>
<common_patterns>
Simple analysis command:
Git workflow with context:
Parameterized command:
File-specific command:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/create-slash-commands/SKILL.md
Popularity
- Repository stars
- 1,589
- Repository forks
- 378
- 7-day trend score
- 37
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 17 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/glittercowboy/taches-cc-resources/create-slash-commands)