
Command Optimization
- 28 installs
- 4 repo stars
- Updated April 11, 2026
- 89jobrien/steve
command-optimization is a Claude Code skill that designs and optimizes command-line interfaces, argument parsing, and task-automation commands using CLI best practices.
About
command-optimization is a Claude Code skill for creating, designing, and optimizing command-line interfaces. A developer uses it when building new CLI commands, designing argument and option structures, or improving command usability and error handling. It provides command design patterns, argument-handling conventions, and a slash-command template.
- Designs and optimizes command-line interfaces and argument parsing
- Covers command design patterns, task automation, and CLI error handling
- Ships a slash-command template reference for structured commands
Command Optimization by the numbers
- 28 all-time installs (skills.sh)
- Ranked #351 of 550 CLI & Terminal skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
command-optimization capabilities & compatibility
- Capabilities
- cli design · argument parsing · task automation
- Pricing
- Free
What command-optimization says it does
CLI command development specialist. Use when creating commands, designing argument parsing, automating tasks, or implementing CLI best practices.
It focuses on command design patterns, argument parsing, task automation, and CLI best practices.
npx skills add https://github.com/89jobrien/steve --skill command-optimizationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 28 |
|---|---|
| repo stars | ★ 4 |
| Last updated | April 11, 2026 |
| Repository | 89jobrien/steve ↗ |
What it does
Use it to design or optimize CLI commands, argument parsing, and task-automation scripts with good defaults and error handling.
Who is it for?
Designing new CLI commands and argument/option structures with good defaults and clear errors.
Skip if: Building graphical UIs or non-command-line workflows.
When should I use this skill?
When creating commands, designing argument parsing, automating tasks, or implementing CLI best practices.
What you get
Well-structured, intuitive commands with sensible defaults, validation, and helpful feedback.
- command design
- argument/option structure
- help text and documentation
By the numbers
- 6 documented use cases
- 1 slash-command template reference
Files
Command Optimization
This skill specializes in creating, designing, and optimizing command-line interfaces. It focuses on command design patterns, argument parsing, task automation, and CLI best practices.
When to Use This Skill
- When creating new CLI commands
- When designing command interfaces
- When optimizing existing commands
- When implementing argument parsing
- When automating tasks via CLI
- When improving command user experience
What This Skill Does
1. Command Design: Creates well-structured CLI commands 2. Argument Parsing: Designs intuitive argument and option structures 3. Task Automation: Automates repetitive tasks through commands 4. User Experience: Improves command usability and feedback 5. Error Handling: Implements robust error handling and validation 6. Documentation: Creates clear command documentation and help text
How to Use
Create Command
Create a command to generate React componentsDesign a CLI command for database migrationsOptimize Command
Improve the user experience of this commandCommand Design Patterns
Task-Oriented Commands
Structure:
- Clear action verb (generate, create, build)
- Target object (component, migration, test)
- Options for customization
- Helpful output and feedback
Example:
# Good: Clear and actionable
npm run generate:component UserProfile
# Bad: Unclear purpose
npm run make UserProfileAnalysis Commands
Structure:
- Analysis type (analyze, check, audit)
- Target to analyze
- Output format options
- Actionable recommendations
Example:
# Good: Clear analysis command
npm run analyze:dependencies -- --outdated
# Bad: Vague command
npm run checkArgument Handling
File/Directory Arguments
Pattern:
- Accept single file or directory
- Support glob patterns
- Validate existence
- Handle permissions
Example:
# Single file
lint src/utils.js
# Directory
lint src/
# Glob pattern
lint "src/**/*.js"Configuration Options
Common Options:
--config: Custom configuration file--output: Output directory or format--verbose: Detailed logging--dry-run: Preview without execution--force: Override safety checks
Error Handling
Input Validation
Check:
- File/directory existence
- Read/write permissions
- File format validity
- Required dependencies
- Configuration syntax
Error Messages
Good Error Messages:
- Clear description of the problem
- Specific location (file, line)
- Suggested fix
- Context about why it failed
Example:
# Good
Error: Configuration file not found: .eslintrc.json
Run 'npm run init:config' to create it.
# Bad
Error: File not foundExamples
Example 1: Component Generator Command
Input: Create a command to generate React components
Output:
## Command: generate:component
### Usagenpm run generate:component ComponentName [options]
### Options
- `--path <path>`: Output path (default: src/components)
- `--type <type>`: Component type (functional|class) (default: functional)
- `--with-tests`: Generate test file
- `--with-styles`: Generate stylesheet
### Examples
Basic component
npm run generate:component UserCard
With options
npm run generate:component UserCard --path src/features/users --with-tests --with-styles
### Implementation
// scripts/generate-component.js const componentName = process.argv[2]; const options = parseArgs(process.argv.slice(3));
if (!componentName) { console.error('Error: Component name required'); console.log('Usage: npm run generate:component <Name>'); process.exit(1); }
generateComponent(componentName, options);
### Example 2: Database Migration Command
**Input**: Create a database migration command
**Output**:
Command: db:migrate
Usage
npm run db:migrate [migration-name] [options]Options
--create <table>: Create new migration for table--rollback: Rollback last migration--status: Show migration status--to <version>: Migrate to specific version
Examples
# Create migration
npm run db:migrate --create users
# Run migrations
npm run db:migrate
# Check status
npm run db:migrate --status
# Rollback
npm run db:migrate --rollback
## Reference Files
- **`references/SLASH_COMMAND.template.md`** - Slash command template with frontmatter, dynamic context, and workflow structure
## Best Practices
### Command Design
1. **Clear Names**: Use descriptive, action-oriented names
2. **Consistent Patterns**: Follow project conventions
3. **Helpful Defaults**: Sensible defaults for common use cases
4. **Good Feedback**: Clear output and progress indicators
5. **Error Handling**: Graceful failure with helpful messages
### User Experience
- **Progressive Disclosure**: Show basic usage, advanced options in help
- **Validation**: Validate inputs early with clear errors
- **Confirmation**: Ask for confirmation on destructive operations
- **Dry Run**: Support --dry-run for preview
- **Verbose Mode**: --verbose for detailed output
### Documentation
- **Help Text**: Clear, concise help for each command
- **Examples**: Include practical examples
- **Error Messages**: Explain what went wrong and how to fix
- **README**: Document commands in project README
## Related Use Cases
- Creating project-specific commands
- Automating development tasks
- Building CLI tools
- Improving command usability
- Standardizing command patterns
---
description: {{COMMAND_DESCRIPTION}} argument-hint: {{ARGUMENT_HINT}} allowed-tools: {{ALLOWED_TOOLS}} ---
{{Command Title}}
{{BRIEF_DESCRIPTION}}: $ARGUMENTS
Current State
- {{DYNAMIC_CONTEXT_1}}: !
{{SHELL_COMMAND_1}} - {{DYNAMIC_CONTEXT_2}}: !
{{SHELL_COMMAND_2}}
Task
{{TASK_DESCRIPTION}}
Workflow
1. {{STEP_NAME}}
{{STEP_INSTRUCTIONS}}
{{EXAMPLE_COMMAND}}2. {{STEP_NAME}}
{{STEP_INSTRUCTIONS}}
3. {{STEP_NAME}}
{{STEP_INSTRUCTIONS}}
Output Format
{{OUTPUT_TEMPLATE}}Options
| Flag | Description |
|---|---|
{{FLAG_1}} | {{FLAG_1_DESCRIPTION}} |
{{FLAG_2}} | {{FLAG_2_DESCRIPTION}} |
---
Template Reference
Frontmatter Fields
| Field | Required | Description |
|---|---|---|
description | Yes | Brief description shown in command list |
allowed-tools | No | Restrict tools available during execution |
argument-hint | No | Usage hint shown in command help |
Dynamic Context
Use ! prefix for shell commands that execute when command loads:
- Current branch: !`git branch --show-current`
- File count: !`find . -name "*.py" | wc -l`Arguments
Access command arguments with $ARGUMENTS placeholder:
Process the following: $ARGUMENTSBody Structure Requirements
1. Title - Clear command name 2. Current State - Dynamic context (optional but recommended) 3. Task - What the command accomplishes 4. Workflow - Step-by-step execution 5. Output Format - Expected response structure 6. Options - Available flags/modes (if applicable)
Tool Restrictions
Restrict tools with allowed-tools frontmatter:
allowed-tools: Read, Grep, Glob
allowed-tools: Bash(git:*), Bash(npm:*)Quality Checklist
- [ ] Description is concise and action-oriented
- [ ] Dynamic context provides useful state information
- [ ] Workflow steps are clear and numbered
- [ ] Bash commands are shown for reference
- [ ] Output format is well-defined
- [ ] Options/flags documented if applicable
- [ ] No placeholder text remains
Related skills
FAQ
What command patterns does it cover?
Task-oriented commands and analysis commands, with conventions for file/directory arguments and configuration options.
Does it help with slash commands?
Yes, it ships a SLASH_COMMAND.template.md reference for structured slash commands.