noora-multiple-choice-prompt

Installation
SKILL.md

Noora Multiple Choice Prompt

Use this skill when a Swift CLI needs one or more selections from a known set.

Basic Pattern

import Noora

enum Target: String, CaseIterable, CustomStringConvertible {
    case alpha, beta, gamma, delta

    var description: String { rawValue.capitalized }
}

let selectedTargets: [Target] = Noora().multipleChoicePrompt(
    title: "Migration",
    question: "Select targets for migration.",
    description: "You can select up to 3 targets for migration.",
    filterMode: .toggleable,
    maxLimit: .limited(count: 3, errorMessage: "You can select up to 3 targets."),
    minLimit: .limited(count: 1, errorMessage: "You need to select at least 1 target.")
)

Guidance

  • Use limits when downstream behavior requires at least one selection or has a practical cap.
  • Prefer enums for stable option sets.
  • Keep option descriptions short enough for fast scanning.
  • Use .toggleable or .enabled for long lists.

Good Fit

  • Selecting targets, packages, environments, features, or modules.
  • Batch actions where the user should choose a subset interactively.

Avoid

  • Using this prompt when exactly one option is valid. Prefer single-choice.
  • Leaving limits unspecified when the next operation silently assumes one or more selections.
Related skills
Installs
1
First Seen
Mar 31, 2026