meta-command-creator
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.
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)
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.