|
Download plugins/plugin-dev/skills/command-development/README.md from SaylorTwift/claude-code: direct link, hf CLI and curl.
- Browser
- Download file 7.65 kB
-
https://huggingface.co/SaylorTwift/claude-code/resolve/main/plugins/plugin-dev/skills/command-development/README.md
- Command line
-
hf download hf://SaylorTwift/claude-code/plugins/plugin-dev/skills/command-development/README.md
-
curl -L -o README.md https://huggingface.co/SaylorTwift/claude-code/resolve/main/plugins/plugin-dev/skills/command-development/README.md
7.65 kB
| # Command Development Skill | |
| Comprehensive guidance on creating Claude Code slash commands, including file format, frontmatter options, dynamic arguments, and best practices. | |
| ## Overview | |
| This skill provides knowledge about: | |
| - Slash command file format and structure | |
| - YAML frontmatter configuration fields | |
| - Dynamic arguments ($ARGUMENTS, $1, $2, etc.) | |
| - File references with @ syntax | |
| - Bash execution with !` syntax | |
| - Command organization and namespacing | |
| - Best practices for command development | |
| - Plugin-specific features (${CLAUDE_PLUGIN_ROOT}, plugin patterns) | |
| - Integration with plugin components (agents, skills, hooks) | |
| - Validation patterns and error handling | |
| ## Skill Structure | |
| ### SKILL.md (~2,470 words) | |
| Core skill content covering: | |
| **Fundamentals:** | |
| - Command basics and locations | |
| - File format (Markdown with optional frontmatter) | |
| - YAML frontmatter fields overview | |
| - Dynamic arguments ($ARGUMENTS and positional) | |
| - File references (@ syntax) | |
| - Bash execution (!` syntax) | |
| - Command organization patterns | |
| - Best practices and common patterns | |
| - Troubleshooting | |
| **Plugin-Specific:** | |
| - ${CLAUDE_PLUGIN_ROOT} environment variable | |
| - Plugin command discovery and organization | |
| - Plugin command patterns (configuration, template, multi-script) | |
| - Integration with plugin components (agents, skills, hooks) | |
| - Validation patterns (argument, file, resource, error handling) | |
| ### References | |
| Detailed documentation: | |
| - **frontmatter-reference.md**: Complete YAML frontmatter field specifications | |
| - All field descriptions with types and defaults | |
| - When to use each field | |
| - Examples and best practices | |
| - Validation and common errors | |
| - **plugin-features-reference.md**: Plugin-specific command features | |
| - Plugin command discovery and organization | |
| - ${CLAUDE_PLUGIN_ROOT} environment variable usage | |
| - Plugin command patterns (configuration, template, multi-script) | |
| - Integration with plugin agents, skills, and hooks | |
| - Validation patterns and error handling | |
| ### Examples | |
| Practical command examples: | |
| - **simple-commands.md**: 10 complete command examples | |
| - Code review commands | |
| - Testing commands | |
| - Deployment commands | |
| - Documentation generators | |
| - Git integration commands | |
| - Analysis and research commands | |
| - **plugin-commands.md**: 10 plugin-specific command examples | |
| - Simple plugin commands with scripts | |
| - Multi-script workflows | |
| - Template-based generation | |
| - Configuration-driven deployment | |
| - Agent and skill integration | |
| - Multi-component workflows | |
| - Validated input commands | |
| - Environment-aware commands | |
| ## When This Skill Triggers | |
| Claude Code activates this skill when users: | |
| - Ask to "create a slash command" or "add a command" | |
| - Need to "write a custom command" | |
| - Want to "define command arguments" | |
| - Ask about "command frontmatter" or YAML configuration | |
| - Need to "organize commands" or use namespacing | |
| - Want to create commands with file references | |
| - Ask about "bash execution in commands" | |
| - Need command development best practices | |
| ## Progressive Disclosure | |
| The skill uses progressive disclosure: | |
| 1. **SKILL.md** (~2,470 words): Core concepts, common patterns, and plugin features overview | |
| 2. **References** (~13,500 words total): Detailed specifications | |
| - frontmatter-reference.md (~1,200 words) | |
| - plugin-features-reference.md (~1,800 words) | |
| - interactive-commands.md (~2,500 words) | |
| - advanced-workflows.md (~1,700 words) | |
| - testing-strategies.md (~2,200 words) | |
| - documentation-patterns.md (~2,000 words) | |
| - marketplace-considerations.md (~2,200 words) | |
| 3. **Examples** (~6,000 words total): Complete working command examples | |
| - simple-commands.md | |
| - plugin-commands.md | |
| Claude loads references and examples as needed based on task. | |
| ## Command Basics Quick Reference | |
| ### File Format | |
| ```markdown | |
| --- | |
| description: Brief description | |
| argument-hint: [arg1] [arg2] | |
| allowed-tools: Read, Bash(git:*) | |
| --- | |
| Command prompt content with: | |
| - Arguments: $1, $2, or $ARGUMENTS | |
| - Files: @path/to/file | |
| - Bash: !`command here` | |
| ``` | |
| ### Locations | |
| - **Project**: `.claude/commands/` (shared with team) | |
| - **Personal**: `~/.claude/commands/` (your commands) | |
| - **Plugin**: `plugin-name/commands/` (plugin-specific) | |
| ### Key Features | |
| **Dynamic arguments:** | |
| - `$ARGUMENTS` - All arguments as single string | |
| - `$1`, `$2`, `$3` - Positional arguments | |
| **File references:** | |
| - `@path/to/file` - Include file contents | |
| **Bash execution:** | |
| - `!`command`` - Execute and include output | |
| ## Frontmatter Fields Quick Reference | |
| | Field | Purpose | Example | | |
| |-------|---------|---------| | |
| | `description` | Brief description for /help | `"Review code for issues"` | | |
| | `allowed-tools` | Restrict tool access | `Read, Bash(git:*)` | | |
| | `model` | Specify model | `sonnet`, `opus`, `haiku` | | |
| | `argument-hint` | Document arguments | `[pr-number] [priority]` | | |
| | `disable-model-invocation` | Manual-only command | `true` | | |
| ## Common Patterns | |
| ### Simple Review Command | |
| ```markdown | |
| --- | |
| description: Review code for issues | |
| --- | |
| Review this code for quality and potential bugs. | |
| ``` | |
| ### Command with Arguments | |
| ```markdown | |
| --- | |
| description: Deploy to environment | |
| argument-hint: [environment] [version] | |
| --- | |
| Deploy to $1 environment using version $2 | |
| ``` | |
| ### Command with File Reference | |
| ```markdown | |
| --- | |
| description: Document file | |
| argument-hint: [file-path] | |
| --- | |
| Generate documentation for @$1 | |
| ``` | |
| ### Command with Bash Execution | |
| ```markdown | |
| --- | |
| description: Show Git status | |
| allowed-tools: Bash(git:*) | |
| --- | |
| Current status: !`git status` | |
| Recent commits: !`git log --oneline -5` | |
| ``` | |
| ## Development Workflow | |
| 1. **Design command:** | |
| - Define purpose and scope | |
| - Determine required arguments | |
| - Identify needed tools | |
| 2. **Create file:** | |
| - Choose appropriate location | |
| - Create `.md` file with command name | |
| - Write basic prompt | |
| 3. **Add frontmatter:** | |
| - Start minimal (just description) | |
| - Add fields as needed (allowed-tools, etc.) | |
| - Document arguments with argument-hint | |
| 4. **Test command:** | |
| - Invoke with `/command-name` | |
| - Verify arguments work | |
| - Check bash execution | |
| - Test file references | |
| 5. **Refine:** | |
| - Improve prompt clarity | |
| - Handle edge cases | |
| - Add examples in comments | |
| - Document requirements | |
| ## Best Practices Summary | |
| 1. **Single responsibility**: One command, one clear purpose | |
| 2. **Clear descriptions**: Make discoverable in `/help` | |
| 3. **Document arguments**: Always use argument-hint | |
| 4. **Minimal tools**: Use most restrictive allowed-tools | |
| 5. **Test thoroughly**: Verify all features work | |
| 6. **Add comments**: Explain complex logic | |
| 7. **Handle errors**: Consider missing arguments/files | |
| ## Status | |
| **Completed enhancements:** | |
| - ✓ Plugin command patterns (${CLAUDE_PLUGIN_ROOT}, discovery, organization) | |
| - ✓ Integration patterns (agents, skills, hooks coordination) | |
| - ✓ Validation patterns (input, file, resource validation, error handling) | |
| **Remaining enhancements (in progress):** | |
| - Advanced workflows (multi-step command sequences) | |
| - Testing strategies (how to test commands effectively) | |
| - Documentation patterns (command documentation best practices) | |
| - Marketplace considerations (publishing and distribution) | |
| ## Maintenance | |
| To update this skill: | |
| 1. Keep SKILL.md focused on core fundamentals | |
| 2. Move detailed specifications to references/ | |
| 3. Add new examples/ for different use cases | |
| 4. Update frontmatter when new fields added | |
| 5. Ensure imperative/infinitive form throughout | |
| 6. Test examples work with current Claude Code | |
| ## Version History | |
| **v0.1.0** (2025-01-15): | |
| - Initial release with basic command fundamentals | |
| - Frontmatter field reference | |
| - 10 simple command examples | |
| - Ready for plugin-specific pattern additions | |