Claude Code Plugins

Community-maintained marketplace

Feedback

Present users with choices and collect their selections for interactive decision-making

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name user-select
title User Selection
description Present users with choices and collect their selections for interactive decision-making
keywords select, choose, option, pick, decision, choice
widgets user-select

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:

{
  "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

  1. 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
  2. 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
  3. 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

{
  "options": [
    {"text": "Continue with deployment", "value": "deploy"},
    {"text": "Review changes first", "value": "review"},
    {"text": "Cancel operation", "value": "cancel"}
  ]
}

Multiple Selection

{
  "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

{
  "options": [
    {"text": "Development environment", "value": "dev"},
    {"text": "Staging environment", "value": "staging"},
    {"text": "Production environment", "value": "prod"}
  ]
}

Feature Selection

{
  "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