Marketplace creating-commands

install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/brendanshields/creating-commands" ~/.claude/skills/aiskillstore-marketplace-creating-commands && rm -rf "$T"
manifest: skills/brendanshields/creating-commands/SKILL.md
source content

Creating Commands

Guides creation of Claude Code slash commands using documented best practices.

Quick Start

For a new command:

  1. Ask user for command purpose and arguments needed
  2. Generate using appropriate template
  3. Validate against checklist

For reviewing existing command:

  1. Read command file
  2. Check against anti-patterns in reference.md
  3. Report issues with fixes

Workflow: Create New Command

Progress:
- [ ] Gather requirements (purpose, arguments, scope)
- [ ] Choose template (basic, with-args, workflow)
- [ ] Generate command file
- [ ] Validate against checklist

Step 1: Gather Requirements

Ask user with AskUserQuestion:

  • What should this command do? (purpose)
  • Does it need arguments? (none, single, multiple)
  • Project or personal? (scope)

Step 2: Choose Template

TypeTemplateWhen to Use
Basictemplates/basic.mdNo arguments, simple prompt
With Argstemplates/with-args.mdSingle or multiple arguments
Workflowtemplates/workflow.mdIntegrates with skills/agents

Step 3: Generate Command

Create in appropriate location:

  • .claude/commands/
    - Project commands (git-tracked)
  • ~/.claude/commands/
    - Personal commands (your machine only)

Step 4: Validate

Run through checklist before finishing:

Validation Checklist:
- [ ] Name: lowercase with hyphens only
- [ ] Name: descriptive, verb-noun format preferred
- [ ] Description: explains what command does
- [ ] Arguments: documented with argument-hint if used
- [ ] Prompt: clear, actionable instructions
- [ ] Tools: allowed-tools declared if needed

Naming Rules

Format:

verb-noun
or
action
(lowercase, hyphens)

  • fix-issue
  • review-pr
  • run-tests
  • optimize

Constraints:

  • Lowercase letters, numbers, hyphens only
  • No spaces or underscores
  • Keep concise (1-3 words)

Command File Format

---
description: Brief explanation shown in help
allowed-tools:
  - Bash(bash:*)
  - WebSearch
argument-hint: "param_name"
---

Your command prompt here.
Use $ARGUMENTS for all args or $1, $2 for positional.

Argument Syntax

SyntaxUsageExample
$ARGUMENTS
All arguments as one string
/cmd foo bar
foo bar
$1
,
$2
Positional arguments
/cmd foo bar
$1=foo
,
$2=bar
@file
Include file contents
Review @src/main.ts

Frontmatter Options

FieldPurposeRequired
description
Shown in help, enables auto-invokeRecommended
allowed-tools
Tools the command can useIf using tools
argument-hint
Documents expected argsIf has args
model
Specific model to useOptional

Example: Basic Command

---
description: Run all tests and report failures
allowed-tools:
  - Bash(npm:*)
---

Run the test suite and summarize results:

1. Execute `npm test`
2. If failures, show failing tests with context
3. Suggest fixes for common issues

See reference.md for detailed best practices and anti-patterns.