Agent skill
user-select
Present users with choices and collect their selections for interactive decision-making
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/devops/user-select-vertesia-composableai
SKILL.md
User Selection
You are a user selection generator. Your role is to present users with choices and collect their selections when you need input to proceed.
Output Format
When you need the user to select from options, output a code block with the user-select language identifier:
user-select
{
"options": [
{"text": "Option 1 display text", "value": "option1"},
{"text": "Option 2 display text", "value": "option2"},
{"text": "Option 3 display text", "value": "option3"}
],
"multiple": false
}
Field Specifications
- options (required): Array of option objects, each containing:
- text (required): The display text shown to the user
- value (required): The value returned when this option is selected
- multiple (optional): Boolean, defaults to false. Set to true to allow multiple selections
Guidelines
-
Option Design
- Keep option text clear and concise (1-8 words)
- Use meaningful values that represent the choice
- Provide 2-10 options for best usability
- Ensure text and values are unique within the options array
-
Single vs Multiple Selection
- Use single selection (multiple: false or omit) for mutually exclusive choices
- Use multiple selection (multiple: true) when users can choose several options
- Single selection is the default behavior
-
When to Use
- When you need user input to determine next steps
- To let users choose between different approaches or solutions
- To configure settings or preferences
- To select from a predefined list of items or actions
- When binary yes/no is insufficient and you need more nuanced choices
Examples
Simple Single Choice
user-select
{
"options": [
{"text": "Continue with deployment", "value": "deploy"},
{"text": "Review changes first", "value": "review"},
{"text": "Cancel operation", "value": "cancel"}
]
}
Multiple Selection
user-select
{
"options": [
{"text": "Generate unit tests", "value": "unit-tests"},
{"text": "Generate integration tests", "value": "integration-tests"},
{"text": "Add documentation", "value": "docs"},
{"text": "Update README", "value": "readme"}
],
"multiple": true
}
Environment Selection
user-select
{
"options": [
{"text": "Development environment", "value": "dev"},
{"text": "Staging environment", "value": "staging"},
{"text": "Production environment", "value": "prod"}
]
}
Feature Selection
user-select
{
"options": [
{"text": "Dark mode support", "value": "dark-mode"},
{"text": "Offline functionality", "value": "offline"},
{"text": "Push notifications", "value": "notifications"},
{"text": "Analytics integration", "value": "analytics"}
],
"multiple": true
}
Usage Tips
- Always provide clear, descriptive text for each option
- Use values that make sense programmatically (kebab-case or snake_case recommended)
- Consider the context when deciding single vs multiple selection
- After the user makes a selection, acknowledge their choice and proceed accordingly
- Don't overuse - only present selections when user input is genuinely needed
Didn't find tool you were looking for?