--- name: command-builder type: standard depth: base description: Creates and configures Claude Code slash commands with YAML frontmatter, argument handling, and tool permissions. Use when building new commands, adding $ARGUMENTS or $1-$N parameters, configuring allowed-tools, organizing command namespaces, or fixing command failures. --- # [H1][COMMAND-BUILDER] >**Dictum:** *Reusable prompt templates reduce repetition and enforce consistency.*
Load commands from `.claude/commands/` (project) or `~/.claude/commands/` (user). Filename becomes command name. **Tasks:** 1. Read [index.md](./index.md) — Reference file listing for navigation 2. Read [workflow.md](./references/workflow.md) — 5-phase creation process 3. Read [variables.md](./references/variables.md) — Argument capture, file references, skill loading 4. Read [hints.md](./references/hints.md) — Argument-hint syntax, enum patterns 5. (prose) Load `style-standards` skill — Voice, formatting, constraints 6. Execute per workflow — UNDERSTAND, ACQUIRE, RESEARCH, AUTHOR, VALIDATE 7. Validate — Quality gate; see §VALIDATION [REFERENCE]: [index.md](./index.md) — Complete reference file listing --- ## [1][FRONTMATTER] >**Dictum:** *Declarative constraints gate command execution.*
```yaml --- description: Brief description shown in /help menu argument-hint: [required-arg] [optional-arg?] allowed-tools: Read, Write, Edit, Glob, Grep, Task, Bash, TodoWrite model: opus --- ``` | [INDEX] | [FIELD] | [TYPE] | [PURPOSE] | [SYNTAX] | | :-----: | ------------------- | ------ | ----------------------- | --------------------------------------- | | [1] | **`description`** | string | `/help` menu text | Verb-first. <80 chars. Outcome-focused. | | [2] | **`argument-hint`** | string | Autocomplete guidance | `[required]` `[optional?]` `[--flag]`. | | [3] | **`allowed-tools`** | list | Scoped tool permissions | Comma-separated tool names. | | [4] | **`model`** | string | Override default model | Full model ID or alias. | [IMPORTANT]: - [ALWAYS] Use `---` delimiters (three dashes, no spaces). - [ALWAYS] Quote strings containing `:`, `#`, `[`, `]`, `{`, `}`. - [NEVER] Use tabs; YAML requires spaces. [CRITICAL]: - [ALWAYS] Declare `Read` for every `@path` reference. - [ALWAYS] Declare `Bash` for every `!command` reference. - [NEVER] Omit required tools—command fails without output. --- ## [2][MODELS] >**Dictum:** *Model selection balances capability against cost and latency.*
[CRITICAL] Session inherits default model. Override for specific capability requirements. | [INDEX] | [MODEL_ID] | [ALIAS] | [STRENGTH] | [LATENCY] | [COST] | | :-----: | -------------------------------- | ------- | -------------------- | :-------: | :----: | | [1] | **`claude-opus-4-5-20251101`** | opus | Complex reasoning | High | High | | [2] | **`claude-sonnet-4-5-20250929`** | sonnet | Balanced performance | Medium | Medium | | [3] | **`claude-3-5-haiku-20241022`** | haiku | Fast, simple tasks | Low | Low | | [INDEX] | [CHARACTERISTIC] | [OPUS] | [SONNET] | [HAIKU] | | :-----: | ------------------------ | :----: | :------: | :-----: | | [1] | **Multi-file scope** | X | | | | [2] | **Architectural impact** | X | | | | [3] | **Standard development** | | X | | | [4] | **Speed priority** | | | X | | [5] | **Deep analysis** | X | X | | --- ## [3][VARIABLES] >**Dictum:** *Dynamic substitution enables reusable commands.*
| [INDEX] | [SYNTAX] | [CAPTURES] | [REQUIRED_TOOL] | [USE_WHEN] | | :-----: | ----------------- | --------------------- | --------------- | -------------------- | | [1] | **`$ARGUMENTS`** | All args as string | None | Free-form input | | [2] | **`$1`, `$2`...** | Positional parameters | None | Structured multi-arg | | [3] | **`${1:-val}`** | Default if missing | None | Optional parameters | | [4] | **`@path`** | Include file contents | `Read` | File analysis | | [5] | **`!command`** | Shell execution | `Bash` | Dynamic context | [CRITICAL]: - [NEVER] Mix `$ARGUMENTS` and `$1-$N` in same command. - [ALWAYS] Declare required tools for `@path` and `!command`. [→references/variables.md](./references/variables.md): Complete reference—examples, skill loading, anti-patterns. --- ## [4][PATTERNS] >**Dictum:** *Canonical patterns accelerate development.*
### [4.1][FILE_ANALYSIS] ```markdown --- description: Analyze file for issues argument-hint: [file-path] allowed-tools: Read --- ## Target @$1 ## Task Identify security, performance, and code quality issues. ``` --- ### [4.2][MULTI_FILE_OPERATION] ```markdown --- description: Process files matching pattern argument-hint: [glob-pattern] allowed-tools: Read, Edit, Glob, TodoWrite --- ## Task Match files via $1. Analyze content. Apply fixes. Track progress via TodoWrite. ``` --- ### [4.3][AGENT_WORKFLOW] ```markdown --- description: Multi-agent analysis argument-hint: [target-folder] allowed-tools: Task, Read, Glob, TodoWrite --- ## Task 1. Match files in $1 via Glob 2. Spawn analysis agents via Task 3. Synthesize findings, track via TodoWrite ``` --- ### [4.4][SKILL_CONTEXT] ```markdown --- description: Validate target against skill standards argument-hint: [target] [focus?] allowed-tools: Read, Task, Glob, Edit, TodoWrite --- ## Skill Context @.claude/skills/[skill-name]/SKILL.md @.claude/skills/[skill-name]/references/[domain]/*.md ## Task Load context above. Spawn Task agents. Verify findings against loaded context. Apply corrections. ``` [→templates/command-template.md](./templates/command-template.md) — canonical template. --- ## [5][ORGANIZATION] >**Dictum:** *Namespaces prevent command collision.*
| [INDEX] | [SCOPE] | [LOCATION] | [USE_CASE] | | :-----: | ------------ | --------------------- | --------------------- | | [1] | **Personal** | `~/.claude/commands/` | Individual workflows | | [2] | **Project** | `.claude/commands/` | Shared team workflows | | [INDEX] | [CONVENTION] | [PATTERN] | [EXAMPLE] | | :-----: | -------------------- | --------------- | ------------------ | | [1] | **Verb-first** | `action-target` | `create-component` | | [2] | **Lowercase** | No capitals | `review-pr` | | [3] | **Hyphen-separated** | No underscores | `run-tests` | | [4] | **Descriptive** | Clear purpose | `analyze-coverage` | ```text .claude/commands/ ├── git/ │ ├── commit.md -> /git:commit │ └── pr.md -> /git:pr └── test/ └── unit.md -> /test:unit ``` --- ## [6][VALIDATION] >**Dictum:** *Validation gates prevent incomplete artifacts.*
[VERIFY] Completion: - [ ] Workflow: All 5 phases executed (UNDERSTAND → VALIDATE). - [ ] Frontmatter: Valid YAML, description present, tools declared. - [ ] Variables: No `$ARGUMENTS` + `$1-$N` mixing. - [ ] Tools: All `@path` have `Read`, all `!command` have `Bash`. - [ ] Quality: LOC < 125, verb-first naming. [REFERENCE] Operational checklist: [→validation.md](./references/validation.md)