Pain
Two UX problems in first-run-onboarding and tmb-reonboard surfaced during live dogfood:
-
Multi-choice asks rely on plain text input — bro lists options 1/2/3 and waits for the user to type a digit. Interactive Claude Code has AskUserQuestion, a first-class multi-choice primitive with proper radio-button UI, descriptions per choice, and no ambiguity. We're not using it.
-
"Press enter to accept default" doesn't work. Claude Code's input prompt cannot send empty input — the user has to type something to commit. Prompts like:
One more — what's your PR target branch? (default: main — press enter to accept, or type an alternative like master)
…force the user to type main literally. Only plan-mode accepts bare Enter. So every "press-enter-for-default" instruction in every skill is broken.
Research — AskUserQuestion
CC 2026 exposes AskUserQuestion (deferred tool, loaded via ToolSearch) specifically for structured question flows:
- Radio-button UI for multi-choice, with per-choice label + description.
- Default choice pre-selected (solves the press-enter problem).
- Returns the chosen value directly — no parsing "1" → "github-flow" required.
- Consistent with how
ExitPlanMode is invoked.
Proposed changes
1. Branching-model question → AskUserQuestion
Current (text):
- github-flow — single main, feature branches off main, PRs back to main.
- gitflow — long-lived develop branch, releases promoted to main.
- custom — you tell me.
New: AskUserQuestion with three options, github-flow pre-selected. User clicks; bro receives the value directly.
2. PR target branch → plain text input, no "press enter" claim
Current:
What's your PR target branch? (default: main — press enter to accept, or type an alternative like master)
Replace with: AskUserQuestion containing common options (main, master, trunk, develop) plus an "other" that opens a text input. The default-on-radio solves "just go with main" in one click.
3. Every other skill referencing "press enter to keep"
tmb-reonboard has four of these. Convert all to AskUserQuestion with the current value as the default option.
Scope note — naming confusion surfaced in same dogfood
Zax (live): "github-flow, gitflow are kind of confused for me, are they industry standards naming?"
Short answer: yes, both are industry-standard names (GitHub Flow coined by GitHub; Git Flow coined by Vincent Driessen, 2010). But the near-identical names cause confusion. Proposal for the AskUserQuestion labels:
| Option value (internal) |
User-facing label |
github-flow |
Trunk + feature branches (GitHub Flow) |
gitflow |
Trunk + develop + releases (Git Flow) |
custom |
Something else (you tell me) |
Lead with the structural description, brand name in parens. Reduces the "which is which?" guessing.
Acceptance criteria
Related
Pain
Two UX problems in
first-run-onboardingandtmb-reonboardsurfaced during live dogfood:Multi-choice asks rely on plain text input — bro lists options 1/2/3 and waits for the user to type a digit. Interactive Claude Code has
AskUserQuestion, a first-class multi-choice primitive with proper radio-button UI, descriptions per choice, and no ambiguity. We're not using it."Press enter to accept default" doesn't work. Claude Code's input prompt cannot send empty input — the user has to type something to commit. Prompts like:
…force the user to type
mainliterally. Only plan-mode accepts bare Enter. So every "press-enter-for-default" instruction in every skill is broken.Research —
AskUserQuestionCC 2026 exposes
AskUserQuestion(deferred tool, loaded via ToolSearch) specifically for structured question flows:ExitPlanModeis invoked.Proposed changes
1. Branching-model question → AskUserQuestion
Current (text):
New: AskUserQuestion with three options,
github-flowpre-selected. User clicks; bro receives the value directly.2. PR target branch → plain text input, no "press enter" claim
Current:
Replace with: AskUserQuestion containing common options (main, master, trunk, develop) plus an "other" that opens a text input. The default-on-radio solves "just go with main" in one click.
3. Every other skill referencing "press enter to keep"
tmb-reonboardhas four of these. Convert all to AskUserQuestion with the current value as the default option.Scope note — naming confusion surfaced in same dogfood
Zax (live): "github-flow, gitflow are kind of confused for me, are they industry standards naming?"
Short answer: yes, both are industry-standard names (GitHub Flow coined by GitHub; Git Flow coined by Vincent Driessen, 2010). But the near-identical names cause confusion. Proposal for the AskUserQuestion labels:
github-flowgitflowcustomLead with the structural description, brand name in parens. Reduces the "which is which?" guessing.
Acceptance criteria
first-run-onboarding/SKILL.mdrewritten to callAskUserQuestionfor the branching-model question and the PR-target question.tmb-reonboard/SKILL.mdrewritten to useAskUserQuestioneverywhere it currently says "press enter to keep".Related