← ClaudeAtlas

flow-selectorlisted

Presents 2+ candidate flows from flow-detector and asks the user to pick one. Issues exactly one AskUserQuestion. Never activates when flow-detector returns a single candidate, and never asks cluster-by-cluster questions.
smicolon/ai-kit · ★ 3 · AI & Automation · score 64
Install: claude install-skill smicolon/ai-kit
# Flow Selector Present candidate flows produced by `flow-detector` and let the user pick one. Single decision point — no follow-up questions. ## Activation Triggers This skill activates when: - `flow-detector` has emitted **two or more** candidate flows. - The caller (`/clarify` command or `@clarifier` agent) hands off the candidate list. This skill does **not** activate when: - `flow-detector` returned exactly one candidate. The caller proceeds straight to `execution-context-builder`. If this skill is invoked with a single-candidate list, no-op and log "single candidate; selector skipped". ## Hard Rules 1. Issue **exactly one** `AskUserQuestion` call. Never two. Never a follow-up. 2. The question's options are the candidate **titles**. The "Other" escape hatch is added automatically by `AskUserQuestion`. 3. Do not ask sub-questions about entity, trigger, channel, recipient, or failure handling. Those are encoded in each candidate's `full_context`. 4. Do not ask "are you sure?" after the user picks. 5. Pass the chosen candidate's `full_context` directly to `execution-context-builder`. ## Process ### 1. Print the framing Output a brief framing block before the question: ``` This task has multiple possible flows: 1. <candidate[0].title> <candidate[0].one_line_diff> 2. <candidate[1].title> <candidate[1].one_line_diff> … Which flow would you like to proceed with? ``` The framing prints to the chat so the user can see all candidates at once. The `AskUserQuest