Skip to main content

claude-commands

This skill should be used when creating slash commands, writing command files, or when "/command", ".claude/commands", "$ARGUMENTS", or "create command" are mentioned.

소스 정보

저장소
outfitter-dev/agents
최근 소스 활동
2026년 1월 27일 20:29
감지된 SKILL.md 언어
영어
스타
28
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
12 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
claude-commands
description
This skill should be used when creating slash commands, writing command files, or when "/command", ".claude/commands", "$ARGUMENTS", or "create command" are mentioned.
metadata
{"version":"2.0.0","related-skills":["claude-hooks","claude-plugins","skills-dev"]}
allowed-tools
Read Write Edit Grep Glob Bash TaskCreate TaskUpdate TaskList TaskGet
# Claude Command Authoring Create custom slash commands that extend Claude Code with reusable prompts and workflows. ## Commands vs Skills **Critical distinction**: | Aspect | Commands (This Skill) | Skills | | -------------- | --------------------------------------- | -------------------------------------- | | **Purpose** | Reusable prompts invoked by users | Capability packages auto-triggered | | **Invocation** | Explicit: `/command-name args` | Automatic (model-triggered by context) | | **Location** | `commands/` directory | `skills/` directory with `SKILL.md` | | **Structure** | Single `.md` file | Directory with resources | | **Arguments** | `$1`, `$2`, `$ARGUMENTS` | No argument system | Commands are user-initiated. Skills are model-initiated. --- ## Quick Start ### Basic Command Create `.claude/commands/review.md`: ```markdown --- description: Review code for best practices and issues --- Review the following code for: - Code quality and readability - Potential bugs or edge cases - Performance considerations - Security concerns ``` Use with: `/review` ### Command with Arguments Create `.claude/commands/fix-issue.md`: ```markdown --- description: Fix a specific GitHub issue argument-hint: <issue-number> --- Fix issue #$1 following our coding standards. Review the issue, implement a fix, add tests, and create a commit. ``` Use with: `/fix-issue 123` ### Command with Context Create `.claude/commands/commit.md`: ```markdown --- description: Create git commit from staged changes allowed-tools: Bash(git *) --- ## Context <!-- NOTE: Place "!" before the opening backtick for preprocessing to work --> Current branch: `git branch --show-current` Staged changes: `git diff --staged` Recent commits: `git log --oneline -5` ## Task Create a commit with a clear message based on the staged changes. ``` Use with: `/commit` --- ## Workflow Overview 1. **Discovery** - Define purpose, scope, and target users 2. **Design** - Choose features and configuration 3. **Implementation** - Write frontmatter and content 4. **Validation** - Verify against quality standards --- ## Stage 1: Discovery Before writing code, clarify: - **Purpose**: What task does this command automate? - **Scope**: Project-specific or personal workflow? - **Arguments**: What inputs does it need? - **Tools**: What operations will it perform? **Key questions**: - Will this be shared with the team (project) or personal use? - Does it require bash execution or file references? - Should tool access be restricted for safety? --- ## Stage 2: Design ### Command Scopes | Scope | Location | Visibility | Use Case | |-------|----------|------------|----------| | Project | `.claude/commands/` | Team via git | Shared workflows | | Personal | `~/.claude/commands/` | You only | Individual preferences | | Plugin | `<plugin>/commands/` | Plugin users | Distributed via marketplace | Project commands show "(project)" in `/help`. Personal show "(user)". ### Core Features | Feature | Syntax | Purpose | |---------|--------|---------| | Arguments | `$1`, `$2`, `$ARGUMENTS` | Dynamic input from user | | Bash execution | `!`backtick`command`backtick | Include shell output in context | | File references | `@path/to/file` | Include file contents | | Tool restrictions | `allowed-tools:` | Limit Claude's capabilities | ### Frontmatter Schema ```yaml --- description: Brief description for /help # Required for discovery argument-hint: <required> [optional] # Shown in autocomplete allowed-tools: Read, Grep, Bash(git *) # Restrict tool access model: claude-3-5-haiku-20241022 # Override model disable-model-invocation: true # Prevent SlashCommand tool --- ``` See [frontmatter.md](references/frontmatter.md) for complete schema. --- ## Stage 3: Implementation ### File Structure ```markdown --- description: Deploy to environment with validation argument-hint: <environment> [--skip-tests] allowed-tools: Bash(*), Read --- # Deployment Target: $1 Options: $2 ## Pre-flight Checks <!-- NOTE: Place "!" before the opening backtick for preprocessing to work --> Environment: `echo "$1" | grep -E "^(staging|production)$" || echo "Invalid"` Tests: `[[ "$2" == *"--skip-tests"* ]] && echo "Skipped" || bun test` ## Task Based on validation above, proceed with deployment or explain issues. ``` ### Argument Patterns **Positional arguments** (`$1`, `$2`, `$3`): ```markdown Compare file $1 with file $2 and summarize differences. ``` Usage: `/compare old.ts new.ts` **All arguments** (`$ARGUMENTS`): ```markdown Fix the following issues: $ARGUMENTS ``` Usage: `/fix memory leak in auth slow query in search` **Combined with file references**: ```markdown Analyze this file: @$1 ``` Usage: `/analyze src/main.ts` See [arguments.md](references/arguments.md) for advanced patterns. ### Bash Execution Execute commands and include output. The `!` must precede the opening backtick for preprocessing to work: ```markdown ## Git Context <!-- NOTE: Place "!" before the opening backtick for preprocessing to work --> Branch: `git branch --show-current` Status: `git status --short` Diff: `git diff --stat` Based on the above, suggest next steps. ``` **Important**: Output is truncated at 15,000 characters by default. Use `SLASH_COMMAND_TOOL_CHAR_BUDGET` to adjust. See [bash-execution.md](references/bash-execution.md) for patterns. ### File References Include file contents directly: ```markdown Review this configuration: - Package: @package.json - TypeScript: @tsconfig.json - User input: @$1 ``` See [file-references.md](references/file-references.md) for details. ### Tool Permissions Restrict what Claude can do: ```yaml # Read-only analysis allowed-tools: Read, Grep, Glob # Git operations only allowed-tools: Bash(git *), Read # Full bash with restrictions allowed-tools: Bash(bun *), Bash(npm *), Read, Write, Edit ``` See [permissions.md](references/permissions.md) for patterns. --- ## Stage 4: Validation After creating a command, validate against these checklists. ### Frontmatter Checks - [ ] Opens with `---` on line 1, closes with `---` - [ ] `description` present and action-oriented - [ ] `argument-hint` uses `<required>` and `[optional]` syntax - [ ] `allowed-tools` uses correct names (case-sensitive) - [ ] Uses spaces (not tabs) for indentation ### Naming Conventions - [ ] Kebab-case filename: `my-command.md` - [ ] No spaces or special characters - [ ] Action-oriented: verb-noun pattern preferred - [ ] Concise: 1-3 words **Good**: `review-pr.md`, `deploy-staging.md`, `fix-issue.md` **Bad**: `my command.md`, `DoStuff.md`, `helper.md` ### Description Quality - [ ] Action-oriented (starts with verb) - [ ] Specific about what it does - [ ] Under 80 characters - [ ] Helpful for `/help` discovery **Good**: "Deploy to staging with health checks and Slack notification" **Bad**: "Deploy stuff" or "Helps with deployment" ### Content Quality - [ ] Clear instructions for Claude - [ ] Proper argument handling if used - [ ] Bash commands validated (test in terminal first) - [ ] File paths relative to project root - [ ] Error handling for edge cases ### Validation Report Format ```markdown # Command Validation: [command-name] ## Summary - **Status**: PASS | FAIL | WARNINGS - **Location**: [path] - **Issues**: [count] ## Critical Issues (must fix) 1. [Issue with fix] ## Warnings (should fix) 1. [Issue with fix] ## Strengths - [What's done well] ``` --- ## Namespacing Organize commands in subdirectories: ``` .claude/commands/ +-- frontend/ | +-- component.md # /component (project:frontend) | +-- styling.md # /styling (project:frontend) +-- backend/ | +-- migration.md # /migration (project:backend) +-- review.md # /review (project) ``` The namespace appears in `/help` but commands are invoked without prefix: `/component` or `/frontend/component`. See [namespacing.md](references/namespacing.md) for organization patterns. --- ## Testing Commands 1. **Create** the command file 2. **Verify** with `/help` - should see your command listed 3. **Test** basic invocation: `/your-command` 4. **Test** with arguments: `/your-command arg1 arg2` 5. **Verify** tool restrictions if using `allowed-tools` ### Debug Mode ```bash claude --debug ``` Shows command loading and execution details. --- ## Troubleshooting ### Command Not Found - Verify file location: `.claude/commands/name.md` - Check filename: lowercase, `.md` extension, no spaces - Restart Claude Code or use `/clear` ### Arguments Not Working - Use `$1`, `$2` not `{1}`, `{2}` - Use `$ARGUMENTS` for all arguments - Quote arguments with spaces: `/cmd "arg with spaces"` ### Bash Commands Failing - Use `!` before backticks: `` !`command` `` - Test command in terminal first - Check output length (15k char limit) - Verify `allowed-tools` includes `Bash` ### Tool Restrictions Not Applied - Check YAML syntax (no tabs, proper quoting) - Tool names are case-sensitive: `Read` not `read` - Use wildcards for bash: `Bash(git *)` --- ## References | Reference | Content | |-----------|---------| | [frontmatter.md](references/frontmatter.md) | Complete frontmatter schema and fields | | [arguments.md](references/arguments.md) | Argument handling and patterns | | [bash-execution.md](references/bash-execution.md) | Shell command execution | | [file-references.md](references/file-references.md) | File inclusion syntax | | [permissions.md](references/permissions.md) | Tool restriction patterns | | [namespacing.md](references/namespacing.md) | Directory organization | | [sdk-integration.md](references/sdk-integration.md) | Agent SDK usage | | [community.md](references/community.md) | Community examples and resources | See [EXAMPLES.md](EXAMPLES.md) for complete real-world examples. See `scripts/` for scaffolding and validation utilities. --- ## Related Skills - **claude-hook-authoring**: Add automation triggers to command workflows
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기