fix: mandate AskUserQuestion for all exploration questions

All questioning workflows now require AskUserQuestion tool for every
question, not just decision gates. Inline text questions are prohibited.

Updated: questioning.md, new-project.md, discuss-phase.md,
discuss-milestone.md, and their workflow files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lex Christopherson
2025-12-16 08:34:50 -06:00
parent e41d71c9a8
commit 293447d6a6
6 changed files with 180 additions and 87 deletions

View File

@@ -27,12 +27,14 @@ Output: Context gathered, then routes to /gsd:new-milestone
<process>
1. Verify previous milestone complete (or acknowledge active milestone)
2. Present context from previous milestone (accomplishments, phase count)
3. Follow discuss-milestone.md workflow:
- Ask: "What do you want to add, improve, or fix?"
- Dig into features they mention
- Help them articulate what matters most
- Present decision gate (ready / ask more / let me add context)
3. Follow discuss-milestone.md workflow with **ALL questions using AskUserQuestion**:
- Use AskUserQuestion: "What do you want to add, improve, or fix?" with feature categories
- Use AskUserQuestion to dig into features they mention
- Use AskUserQuestion to help them articulate what matters most
- Use AskUserQuestion for decision gate (ready / ask more / let me add context)
4. Hand off to /gsd:new-milestone with gathered context
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
</process>
<success_criteria>

View File

@@ -30,17 +30,19 @@ Phase number: $ARGUMENTS (required)
1. Validate phase number argument (error if missing or invalid)
2. Check if phase exists in roadmap
3. Check if CONTEXT.md already exists (offer to update if yes)
4. Follow discuss-phase.md workflow:
4. Follow discuss-phase.md workflow with **ALL questions using AskUserQuestion**:
- Present phase from roadmap
- Ask: "How do you imagine this working?"
- Follow their thread — dig into what excites them
- Sharpen the core — what's essential for THIS phase
- Find boundaries — what's explicitly out of scope
- Present decision gate (ready / ask more / let me add context)
- Use AskUserQuestion: "How do you imagine this working?" with interpretation options
- Use AskUserQuestion to follow their thread — probe what excites them
- Use AskUserQuestion to sharpen the core — what's essential for THIS phase
- Use AskUserQuestion to find boundaries — what's explicitly out of scope
- Use AskUserQuestion for decision gate (ready / ask more / let me add context)
- Create CONTEXT.md capturing their vision
5. Offer next steps (research or plan the phase)
CRITICAL — User is the visionary, you are the builder:
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
User is the visionary, you are the builder:
- Ask about vision, feel, essential outcomes
- DON'T ask about technical risks (you figure those out)
- DON'T ask about codebase patterns (you read the code)

View File

@@ -43,18 +43,46 @@ Silent setup - execute before any user output:
</step>
<step name="question">
Start: "What do you want to build?"
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
Let them talk. Then follow the conversation arc from `questioning.md`:
1. **Follow the thread** — dig into what they said, what excites them
2. **Sharpen the core** — essential vs nice-to-have
3. **Find boundaries** — what is it NOT
4. **Ground in reality** — only constraints that actually exist
**1. Open:**
Be a thinking partner, not an interviewer. Help them discover and articulate their vision.
Use AskUserQuestion:
- header: "Vision"
- question: "What do you want to build?"
- options: Contextual options if you have any hints, otherwise ["New app/tool", "Feature for existing project", "Let me describe it"]
When you feel you understand it, use AskUserQuestion:
**2. Follow the thread:**
Based on their response, use AskUserQuestion with options that probe what they mentioned:
- header: "[Topic they mentioned]"
- question: "You mentioned [X] — what would that look like?"
- options: 2-3 interpretations + "Something else"
**3. Sharpen the core:**
Use AskUserQuestion:
- header: "Core"
- question: "If you could only nail one thing, what would it be?"
- options: Key aspects they've mentioned + "All equally important" + "Something else"
**4. Find boundaries:**
Use AskUserQuestion:
- header: "Scope"
- question: "What's explicitly NOT in v1?"
- options: Things that might be tempting + "Nothing specific" + "Let me list them"
**5. Ground in reality:**
Use AskUserQuestion:
- header: "Constraints"
- question: "Any hard constraints?"
- options: Relevant constraint types + "None" + "Yes, let me explain"
**6. Decision gate:**
Use AskUserQuestion:
- header: "Ready?"
- question: "Ready to create PROJECT.md, or explore more?"
- options (ALL THREE REQUIRED):
@@ -62,7 +90,8 @@ When you feel you understand it, use AskUserQuestion:
- "Ask more questions" - I'll dig deeper
- "Let me add context" - You have more to share
If "Ask more questions" → check coverage gaps from `questioning.md` → ask naturally → return to gate.
If "Ask more questions" → check coverage gaps from `questioning.md` → return to step 2.
If "Let me add context" → receive input via their response → return to step 2.
Loop until "Create PROJECT.md" selected.
</step>