Command Creator
$ARGUMENTS
Create a new Claude Code slash command following ai-toolkit conventions.
Workflow
- Capture intent -- what should the command do and who invokes it?
- Pick scope -- project command, user command, or plugin command?
- Define frontmatter -- description, argument hint, allowed tools, model if needed
- Write command body -- instructions for Claude, not explanation for the user
- Add validation context -- expected output, constraints, follow-up checks
- Test and iterate -- invoke the command with representative arguments
Command Locations
- Project:
.claude/commands/<name>.md
- User:
~/.claude/commands/<name>.md
- Plugin:
plugin-name/commands/<name>.md
In ai-toolkit, command-development guidance belongs in skill form and any reusable command templates should live under app/skills/<skill-name>/templates/ or KB docs.
Frontmatter Template
---
description: "One-line help text shown in /help"
argument-hint: "[target]"
allowed-tools: Read, Grep, Bash
model: sonnet
---
Command Authoring Rules
- Write commands as instructions for Claude, not marketing copy for the user
- Keep the first paragraph action-oriented and deterministic
- Use
$ARGUMENTS early when the command takes user input
- Prefer numbered phases for multi-step workflows
- List required checks explicitly (
lint, tests, docs, etc.)
- Avoid hidden assumptions about project structure unless the command is project-specific
- Description ≥50 chars with a trigger hint (
Use when…) — short descriptions cause adjacent commands to fight for the same query
- Include hard rules (MUST / NEVER / CRITICAL) so the agent cannot improvise around safety boundaries
- Include "When NOT to use" naming 2-3 adjacent commands, to prevent over-triggering
Minimal Template
---
description: "{Third-person description, min 50 chars, with trigger hint like 'Use when...'}"
argument-hint: "[arguments]"
allowed-tools: Read, Grep, Bash
---
# {Command Title}
$ARGUMENTS
Perform the requested task using this workflow:
1. Gather context from the repository.
2. Ask clarifying questions if critical information is missing.
3. Execute the task using the smallest safe set of changes.
4. Validate the result.
5. Summarize outcome and follow-up actions.
## Example
\`\`\`
/{command} example-argument
\`\`\`
## Rules
- **MUST** {non-negotiable rule}
- **NEVER** {forbidden action}
## Gotchas
- {environment-specific trap — only if the command has one; omit the section otherwise}
## When NOT to Use
- For {adjacent use case} -- use `/{other-command}` instead
- If {precondition} is not met
Follow Anthropic's Gotchas guidance: "concrete corrections to mistakes the agent will make without being told otherwise" — not general advice. Omit the section when no domain traps exist.
Validation Checklist
1---2name: command-creator3description: Creates new Claude Code slash commands with frontmatter and validation. Triggers: new slash command, create command, command scaffold.4---56# Command Creator78$ARGUMENTS910Create a new Claude Code slash command following ai-toolkit conventions.1112## Workflow13141. **Capture intent** -- what should the command do and who invokes it?152. **Pick scope** -- project command, user command, or plugin command?163. **Define frontmatter** -- description, argument hint, allowed tools, model if needed174. **Write command body** -- instructions for Claude, not explanation for the user185. **Add validation context** -- expected output, constraints, follow-up checks196. **Test and iterate** -- invoke the command with representative arguments2021## Command Locations2223- Project: `.claude/commands/<name>.md`24- User: `~/.claude/commands/<name>.md`25- Plugin: `plugin-name/commands/<name>.md`2627In `ai-toolkit`, command-development guidance belongs in skill form and any reusable command templates should live under `app/skills/<skill-name>/templates/` or KB docs.2829## Frontmatter Template3031```yaml32---33description: "One-line help text shown in /help"34argument-hint: "[target]"35allowed-tools: Read, Grep, Bash36model: sonnet37---38```3940## Command Authoring Rules4142- Write commands as **instructions for Claude**, not marketing copy for the user43- Keep the first paragraph action-oriented and deterministic44- Use `$ARGUMENTS` early when the command takes user input45- Prefer numbered phases for multi-step workflows46- List required checks explicitly (`lint`, `tests`, `docs`, etc.)47- Avoid hidden assumptions about project structure unless the command is project-specific48- **Description ≥50 chars** with a trigger hint (`Use when…`) — short descriptions cause adjacent commands to fight for the same query49- Include **hard rules** (MUST / NEVER / CRITICAL) so the agent cannot improvise around safety boundaries50- Include **"When NOT to use"** naming 2-3 adjacent commands, to prevent over-triggering5152## Minimal Template5354```markdown55---56description: "{Third-person description, min 50 chars, with trigger hint like 'Use when...'}"57argument-hint: "[arguments]"58allowed-tools: Read, Grep, Bash59---6061# {Command Title}6263$ARGUMENTS6465Perform the requested task using this workflow:66671. Gather context from the repository.682. Ask clarifying questions if critical information is missing.693. Execute the task using the smallest safe set of changes.704. Validate the result.715. Summarize outcome and follow-up actions.7273## Example7475\`\`\`76/{command} example-argument77\`\`\`7879## Rules8081- **MUST** {non-negotiable rule}82- **NEVER** {forbidden action}8384## Gotchas8586- {environment-specific trap — only if the command has one; omit the section otherwise}8788## When NOT to Use8990- For {adjacent use case} -- use `/{other-command}` instead91- If {precondition} is not met92```9394Follow [Anthropic's Gotchas guidance](https://agentskills.io/skill-creation/best-practices.md#gotchas-sections): *"concrete corrections to mistakes the agent will make without being told otherwise"* — not general advice. Omit the section when no domain traps exist.9596## Validation Checklist9798- [ ] Command file uses markdown and valid YAML frontmatter99- [ ] Description ≥50 chars, third-person, with trigger hint100- [ ] At least one concrete code-fenced example101- [ ] `## Rules` with MUST / NEVER / CRITICAL (prescriptive)102- [ ] `## Gotchas` when the command has real environment-specific traps (optional)103- [ ] `## When NOT to Use` section naming 2-3 adjacent commands104- [ ] Body is instruction-oriented, not user-facing prose105- [ ] `$ARGUMENTS` is present when arguments are expected106- [ ] Validation steps are explicit107- [ ] Command has been tested with at least one realistic invocation108