docs(discuss-phase): add explicit --batch mode (#982)

This commit is contained in:
Frank
2026-03-12 10:36:30 -07:00
committed by GitHub
parent c81b20eb04
commit dffbdaf65e
3 changed files with 29 additions and 7 deletions

View File

@@ -344,6 +344,8 @@ If everything passes, you move on. If something's broken, you don't manually deb
Loop **discuss → plan → execute → verify** until milestone complete.
If you want faster intake during discussion, use `/gsd:discuss-phase <n> --batch` to answer a small grouped set of questions at once instead of one-by-one.
Each phase gets your input (discuss), proper research (plan), clean execution (execute), and human verification (verify). Context stays fresh. Quality stays high.
When all phases are done, `/gsd:complete-milestone` archives the milestone and tags the release.

View File

@@ -383,9 +383,17 @@ Continue to discuss_areas with selected areas.
<step name="discuss_areas">
For each selected area, conduct a focused discussion loop.
**Philosophy: 4 questions, then check.**
**Batch mode support:** Parse optional `--batch` from `$ARGUMENTS`.
- Accept `--batch`, `--batch=N`, or `--batch N`
- Default to 4 questions per batch when no number is provided
- Clamp explicit sizes to 2-5 so a batch stays answerable
- If `--batch` is absent, keep the existing one-question-at-a-time flow
Ask 4 questions per area before offering to continue or move on. Each answer often reveals the next question.
**Philosophy:** stay adaptive, but let the user choose the pacing.
- Default mode: 4 single-question turns, then check whether to continue
- `--batch` mode: 1 grouped turn with 2-5 numbered questions, then check whether to continue
Each answer (or answer set, in batch mode) should reveal the next question or next batch.
**For each area:**
@@ -394,7 +402,9 @@ Ask 4 questions per area before offering to continue or move on. Each answer oft
Let's talk about [Area].
```
2. **Ask 4 questions using AskUserQuestion:**
2. **Ask questions using the selected pacing:**
**Default (no `--batch`): Ask 4 questions using AskUserQuestion**
- header: "[Area]" (max 12 chars — abbreviate if needed)
- question: Specific decision for this area
- options: 2-3 concrete choices (AskUserQuestion adds "Other" automatically), with the recommended choice highlighted and brief explanation why
@@ -408,12 +418,19 @@ Ask 4 questions per area before offering to continue or move on. Each answer oft
- Include "You decide" as an option when reasonable — captures Claude discretion
- **Context7 for library choices:** When a gray area involves library selection (e.g., "magic links" → query next-auth docs) or API approach decisions, use `mcp__context7__*` tools to fetch current documentation and inform the options. Don't use Context7 for every question — only when library-specific knowledge improves the options.
3. **After 4 questions, check:**
**Batch mode (`--batch`): Ask 2-5 numbered questions in one plain-text turn**
- Group closely related questions for the current area into a single message
- Keep each question concrete and answerable in one reply
- When options are helpful, include short inline choices per question rather than a separate AskUserQuestion for every item
- After the user replies, reflect back the captured decisions, note any unanswered items, and ask only the minimum follow-up needed before moving on
- Preserve adaptiveness between batches: use the full set of answers to decide the next batch or whether the area is sufficiently clear
3. **After the current set of questions, check:**
- header: "[Area]" (max 12 chars)
- question: "More questions about [area], or move to next?"
- options: "More questions" / "Next area"
If "More questions" → ask 4 more, then check again
If "More questions" → ask another 4 single questions, or another 2-5 question batch when `--batch` is active, then check again
If "Next area" → proceed to next selected area
If "Other" (free text) → interpret intent: continuation phrases ("chat more", "keep going", "yes", "more") map to "More questions"; advancement phrases ("done", "move on", "next", "skip") map to "Next area". If ambiguous, ask: "Continue with more questions about [area], or move to the next area?"
@@ -439,8 +456,8 @@ These user-referenced docs are often MORE important than ROADMAP.md refs because
**Question design:**
- Options should be concrete, not abstract ("Cards" not "Option A")
- Each answer should inform the next question
- 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.
- Each answer should inform the next question or next batch
- 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 or the next numbered batch.
**Scope creep handling:**
If user mentions something outside the phase domain:

View File

@@ -66,8 +66,11 @@ Help articulate your vision for a phase before planning.
- Captures how you imagine this phase working
- Creates CONTEXT.md with your vision, essentials, and boundaries
- Use when you have ideas about how something should look/feel
- Optional `--batch` asks 2-5 related questions at a time instead of one-by-one
Usage: `/gsd:discuss-phase 2`
Usage: `/gsd:discuss-phase 2 --batch`
Usage: `/gsd:discuss-phase 2 --batch=3`
**`/gsd:research-phase <number>`**
Comprehensive ecosystem research for niche/complex domains.