CLI Helper Skill
Organize and parse command-line tool help documentation into three structured levels of complexity (Basic, Medium, Advanced).
Purpose
This skill provides systematic guidance for working with command-line interface (CLI) tools by parsing and organizing their help documentation. It helps you understand CLI tool options by categorizing them into three levels based on usage frequency and complexity. This is particularly valuable for proprietary tools, complex utilities with extensive options, or any situation where accurate CLI parameter information is critical.
When to Use This Skill
Activate this skill when:
- The user asks about CLI tool options, parameters, or flags
- The user needs to parse or organize
--help output
- Working with complex CLI tools that have many options
- The user requests categorization of CLI options by complexity
- Queries mention specific CLI tools (e.g., "ffmpeg", "kubectl", "grep", "dataproc")
- The user wants to create reference documentation for a CLI tool
Bundled Resources
This skill follows the progressive disclosure principle with three resource types:
References (references/)
Documentation loaded into context as needed to inform the CLI documentation process.
Included references:
references/template.md - Template for creating new CLI tool reference documentation
references/example-tool.md - Example reference for a fictional DataProc CLI tool showing proper structure
Note: Reference files demonstrate the three-level organization system and proper categorization techniques.
How to Use This Skill
Three-Level Organization System
Organize CLI options into three complexity levels:
Level 1: Basic
- Essential options for most common tasks
- Help, version, and basic operations
- Simple flags with clear, single purposes
- Minimal dependencies on other options
- Examples:
--help, --version, --output FILE
Level 2: Medium (Commonly Used)
- Options used in typical workflows
- Configuration, formatting, and filtering options
- Used regularly but not universally
- May have some option dependencies
- Examples:
--format FORMAT, --verbose, --config FILE
Level 3: Advanced (Complex Cases)
- Specialized options for complex scenarios
- Performance tuning, debugging, edge cases
- Often require multiple parameters or complex syntax
- MUST include concrete usage examples
- Examples:
--parallel NUM, --memory-limit SIZE, --custom-function
Categorization Criteria
Categorize options based on:
- Usage frequency indicators: Keywords like "common", "basic" in help text
- Complexity: Number of parameters, dependencies on other options
- Purpose keywords: Terms like "debug", "advanced", "experimental" → Level 3
- Common sense: What typical users need first vs. what specialists need
Basic Workflow: Parse CLI Help Output
Task 1: Parse a CLI Tool's Help
- Execute the tool's help command:
tool-name --help or tool-name -h
- Analyze the output for option patterns and descriptions
- Categorize each option into Basic, Medium, or Advanced levels
- Structure the information using clear headings and descriptions
Task 2: Create Reference Documentation
- Use the template from
references/template.md
- Fill in the three-level structure with categorized options
- Add concrete examples for all Advanced options
- Save to
references/tool-name.md for future reference
Task 3: Organize Existing Reference
- Read the tool's existing reference file from
references/
- Present the information in the three-level structure
- Help the user find options appropriate for their task
Key Information
Important details about this skill:
- Organization system: Three levels (Basic, Medium, Advanced)
- Reference location:
references/ directory for pre-parsed tools
- Template:
references/template.md provides the structure
- Line limits: Keep reference files under 500 lines (max 1000 lines)
- Examples required: Advanced options MUST have concrete usage examples
Categorization Guidelines
Level 1: Basic - Criteria
Include options that:
- Are used in >80% of common use cases
- Have single, clear purposes without complex interactions
- Are essential for getting started with the tool
- Include help, version, and basic I/O options
Level 2: Medium - Criteria
Include options that:
- Are used in typical workflows but not universally
- Involve configuration, customization, or formatting
- May have some dependencies but are still straightforward
- Appear in standard tutorials and common examples
Level 3: Advanced - Criteria
Include options that:
- Are used in specialized or complex scenarios
- Require deep understanding of the tool
- Often combine with other options
- Include performance tuning, debugging, or edge cases
- MUST provide concrete examples showing actual usage
Best Practices
- Categorize based on usage frequency, not just technical complexity
- Always provide concrete examples for Advanced options (never hypothetical)
- Keep descriptions focused on WHEN to use each option, not just WHAT it does
- Use clear, scannable headings for easy navigation
- Note option interactions and warnings where relevant
- Keep reference files under 500 lines when possible (max 1000 lines)
Common Workflows
Workflow 1: Parse New CLI Tool
- Run
tool-name --help to get the help output
- Identify all available options and flags
- Group related options together
- Categorize each option into Basic, Medium, or Advanced
- Write descriptions focusing on when to use each option
- Add concrete examples for Advanced options
- Save to
references/tool-name.md
Workflow 2: Answer User Query About CLI Tool
- Check if a reference exists in
references/ for the tool
- If exists, read the reference and present relevant level(s)
- If not exists, execute
--help and parse on-the-fly
- Organize the response by complexity level
- Offer to save the structured information for future use
Workflow 3: Update Existing Reference
- Read the current reference from
references/
- Parse new help output if tool version changed
- Update categorization if needed
- Add any new options to appropriate levels
- Ensure Advanced options have concrete examples
Troubleshooting
Issue: Unsure which level an option belongs to
- Check help text for keywords: "common", "basic" → Level 1; "advanced", "debug" → Level 3
- Consider usage frequency: used in >80% of cases → Level 1; <20% → Level 3
- Look at parameter complexity: simple flag → Level 1; requires multiple params → Level 3
- When in doubt, start with Medium and adjust based on user feedback
Issue: Option seems to fit multiple levels
- Prioritize usage frequency over technical complexity
- If truly borderline, choose the lower level (more accessible)
- Note cross-references if an option is relevant to multiple scenarios
Issue: Reference file exceeds line limits
- Split into multiple files (e.g.,
tool-basic.md, tool-advanced.md)
- Move detailed examples to separate example files
- Use more concise descriptions while maintaining clarity
- Consider if some rarely-used options can be omitted
Additional Notes
Important considerations:
- Proprietary tools: This skill is especially valuable for internal/proprietary CLI tools not widely documented
- Reference library: Build a collection of pre-parsed documentation for frequently-used tools
- Consistent structure: Always follow the three-level organization for consistency
- Real examples: Never use hypothetical examples in Advanced sections; show actual working commands
- Context awareness: Consider the user's skill level when presenting information
Writing Style
- Use imperative/infinitive form (verb-first instructions) throughout
- Focus on practical usage: "Run this command to..." vs. "This command can be run to..."
- Emphasize WHEN to use options, not just WHAT they do
- Keep descriptions concise but informative
- Use active voice for clarity
1---2name: cli-helper-23description: Use this skill when the user asks about CLI tool options, parameters, or flags. Activate when queries mention command-line tools, --help output, CLI documentation, or organizing tool parameters into levels. Helps parse and structure CLI help documentation into Basic, Medium, and Advanced complexity levels.4---5
6# CLI Helper Skill
7
8Organize and parse command-line tool help documentation into three structured levels of complexity (Basic, Medium, Advanced).
9
10## Purpose
11
12This skill provides systematic guidance for working with command-line interface (CLI) tools by parsing and organizing their help documentation. It helps you understand CLI tool options by categorizing them into three levels based on usage frequency and complexity. This is particularly valuable for proprietary tools, complex utilities with extensive options, or any situation where accurate CLI parameter information is critical.
13
14## When to Use This Skill
15
16Activate this skill when:
17
18- The user asks about CLI tool options, parameters, or flags
19- The user needs to parse or organize `--help` output
20- Working with complex CLI tools that have many options
21- The user requests categorization of CLI options by complexity
22- Queries mention specific CLI tools (e.g., "ffmpeg", "kubectl", "grep", "dataproc")
23- The user wants to create reference documentation for a CLI tool
24
25## Bundled Resources
26
27This skill follows the progressive disclosure principle with three resource types:
28
29### References (`references/`)
30
31Documentation loaded into context as needed to inform the CLI documentation process.
32
33**Included references:**
34
35- `references/template.md` - Template for creating new CLI tool reference documentation
36- `references/example-tool.md` - Example reference for a fictional DataProc CLI tool showing proper structure
37
38**Note:** Reference files demonstrate the three-level organization system and proper categorization techniques.
39
40## How to Use This Skill
41
42### Three-Level Organization System
43
44Organize CLI options into three complexity levels:
45
46**Level 1: Basic**
47- Essential options for most common tasks
48- Help, version, and basic operations
49- Simple flags with clear, single purposes
50- Minimal dependencies on other options
51- Examples: `--help`, `--version`, `--output FILE`
52
53**Level 2: Medium (Commonly Used)**
54- Options used in typical workflows
55- Configuration, formatting, and filtering options
56- Used regularly but not universally
57- May have some option dependencies
58- Examples: `--format FORMAT`, `--verbose`, `--config FILE`
59
60**Level 3: Advanced (Complex Cases)**
61- Specialized options for complex scenarios
62- Performance tuning, debugging, edge cases
63- Often require multiple parameters or complex syntax
64- MUST include concrete usage examples
65- Examples: `--parallel NUM`, `--memory-limit SIZE`, `--custom-function`
66
67### Categorization Criteria
68
69Categorize options based on:
70
711. **Usage frequency indicators**: Keywords like "common", "basic" in help text
722. **Complexity**: Number of parameters, dependencies on other options
733. **Purpose keywords**: Terms like "debug", "advanced", "experimental" → Level 3
744. **Common sense**: What typical users need first vs. what specialists need
75
76### Basic Workflow: Parse CLI Help Output
77
78**Task 1: Parse a CLI Tool's Help**
79
801. Execute the tool's help command: `tool-name --help` or `tool-name -h`
812. Analyze the output for option patterns and descriptions
823. Categorize each option into Basic, Medium, or Advanced levels
834. Structure the information using clear headings and descriptions
84
85**Task 2: Create Reference Documentation**
86
871. Use the template from `references/template.md`
882. Fill in the three-level structure with categorized options
893. Add concrete examples for all Advanced options
904. Save to `references/tool-name.md` for future reference
91
92**Task 3: Organize Existing Reference**
93
941. Read the tool's existing reference file from `references/`
952. Present the information in the three-level structure
963. Help the user find options appropriate for their task
97
98## Key Information
99
100Important details about this skill:
101
102- **Organization system**: Three levels (Basic, Medium, Advanced)
103- **Reference location**: `references/` directory for pre-parsed tools
104- **Template**: `references/template.md` provides the structure
105- **Line limits**: Keep reference files under 500 lines (max 1000 lines)
106- **Examples required**: Advanced options MUST have concrete usage examples
107
108## Categorization Guidelines
109
110### Level 1: Basic - Criteria
111
112Include options that:
113- Are used in >80% of common use cases
114- Have single, clear purposes without complex interactions
115- Are essential for getting started with the tool
116- Include help, version, and basic I/O options
117
118### Level 2: Medium - Criteria
119
120Include options that:
121- Are used in typical workflows but not universally
122- Involve configuration, customization, or formatting
123- May have some dependencies but are still straightforward
124- Appear in standard tutorials and common examples
125
126### Level 3: Advanced - Criteria
127
128Include options that:
129- Are used in specialized or complex scenarios
130- Require deep understanding of the tool
131- Often combine with other options
132- Include performance tuning, debugging, or edge cases
133- MUST provide concrete examples showing actual usage
134
135## Best Practices
136
137- Categorize based on usage frequency, not just technical complexity
138- Always provide concrete examples for Advanced options (never hypothetical)
139- Keep descriptions focused on WHEN to use each option, not just WHAT it does
140- Use clear, scannable headings for easy navigation
141- Note option interactions and warnings where relevant
142- Keep reference files under 500 lines when possible (max 1000 lines)
143
144## Common Workflows
145
146### Workflow 1: Parse New CLI Tool
147
1481. Run `tool-name --help` to get the help output
1492. Identify all available options and flags
1503. Group related options together
1514. Categorize each option into Basic, Medium, or Advanced
1525. Write descriptions focusing on when to use each option
1536. Add concrete examples for Advanced options
1547. Save to `references/tool-name.md`
155
156### Workflow 2: Answer User Query About CLI Tool
157
1581. Check if a reference exists in `references/` for the tool
1592. If exists, read the reference and present relevant level(s)
1603. If not exists, execute `--help` and parse on-the-fly
1614. Organize the response by complexity level
1625. Offer to save the structured information for future use
163
164### Workflow 3: Update Existing Reference
165
1661. Read the current reference from `references/`
1672. Parse new help output if tool version changed
1683. Update categorization if needed
1694. Add any new options to appropriate levels
1705. Ensure Advanced options have concrete examples
171
172## Troubleshooting
173
174**Issue: Unsure which level an option belongs to**
175
176- Check help text for keywords: "common", "basic" → Level 1; "advanced", "debug" → Level 3
177- Consider usage frequency: used in >80% of cases → Level 1; <20% → Level 3
178- Look at parameter complexity: simple flag → Level 1; requires multiple params → Level 3
179- When in doubt, start with Medium and adjust based on user feedback
180
181**Issue: Option seems to fit multiple levels**
182
183- Prioritize usage frequency over technical complexity
184- If truly borderline, choose the lower level (more accessible)
185- Note cross-references if an option is relevant to multiple scenarios
186
187**Issue: Reference file exceeds line limits**
188
189- Split into multiple files (e.g., `tool-basic.md`, `tool-advanced.md`)
190- Move detailed examples to separate example files
191- Use more concise descriptions while maintaining clarity
192- Consider if some rarely-used options can be omitted
193
194## Additional Notes
195
196Important considerations:
197
198- **Proprietary tools**: This skill is especially valuable for internal/proprietary CLI tools not widely documented
199- **Reference library**: Build a collection of pre-parsed documentation for frequently-used tools
200- **Consistent structure**: Always follow the three-level organization for consistency
201- **Real examples**: Never use hypothetical examples in Advanced sections; show actual working commands
202- **Context awareness**: Consider the user's skill level when presenting information
203
204## Writing Style
205
206- Use imperative/infinitive form (verb-first instructions) throughout
207- Focus on practical usage: "Run this command to..." vs. "This command can be run to..."
208- Emphasize WHEN to use options, not just WHAT they do
209- Keep descriptions concise but informative
210- Use active voice for clarity