diff --git a/get-shit-done/references/questioning.md b/get-shit-done/references/questioning.md index 79a7e4ce6..14a03db38 100644 --- a/get-shit-done/references/questioning.md +++ b/get-shit-done/references/questioning.md @@ -100,6 +100,23 @@ Users who want a slightly modified version of an option can select "Other" and r + + +**When the user wants to explain freely, STOP using AskUserQuestion.** + +If a user selects "Other" and their response signals they want to describe something in their own words (e.g., "let me describe it", "I'll explain", "something else", or any open-ended reply that isn't choosing/modifying an existing option), you MUST: + +1. **Ask your follow-up as plain text** — NOT via AskUserQuestion +2. **Wait for them to type at the normal prompt** +3. **Resume AskUserQuestion** only after processing their freeform response + +The same applies if YOU include a freeform-indicating option (like "Let me explain" or "Describe in detail") and the user selects it. + +**Wrong:** User says "let me describe it" → AskUserQuestion("What feature?", ["Feature A", "Feature B", "Describe in detail"]) +**Right:** User says "let me describe it" → "Go ahead — what are you thinking?" + + + Use this as a **background checklist**, not a conversation structure. Check these mentally as you go. If gaps remain, weave questions naturally. diff --git a/get-shit-done/workflows/discuss-phase.md b/get-shit-done/workflows/discuss-phase.md index df4d546db..d5fb5a67c 100644 --- a/get-shit-done/workflows/discuss-phase.md +++ b/get-shit-done/workflows/discuss-phase.md @@ -422,7 +422,7 @@ Ask 4 questions per area before offering to continue or move on. Each answer oft **Question design:** - Options should be concrete, not abstract ("Cards" not "Option A") - Each answer should inform the next question -- If user picks "Other", receive their input, reflect it back, confirm +- If user picks "Other" to provide freeform input (e.g., "let me describe it", "something else", or an open-ended reply), ask your follow-up as plain text — NOT another AskUserQuestion. Wait for them to type at the normal prompt, then reflect their input back and confirm before resuming AskUserQuestion for the next question. **Scope creep handling:** If user mentions something outside the phase domain: diff --git a/get-shit-done/workflows/new-milestone.md b/get-shit-done/workflows/new-milestone.md index 252694ae4..758ad74f6 100644 --- a/get-shit-done/workflows/new-milestone.md +++ b/get-shit-done/workflows/new-milestone.md @@ -27,8 +27,9 @@ Read all files referenced by the invoking prompt's execution_context before star **If no context file:** - Present what shipped in last milestone -- Ask: "What do you want to build next?" -- Use AskUserQuestion to explore features, priorities, constraints, scope +- Ask inline (freeform, NOT AskUserQuestion): "What do you want to build next?" +- Wait for their response, then use AskUserQuestion to probe specifics +- If user selects "Other" at any point to provide freeform input, ask follow-up as plain text — not another AskUserQuestion ## 3. Determine Milestone Version