Skip to content

Commit f0cfaa2

Browse files
committed
feat(docs): low-friction decision prompts + modernize tool name in collaborative principle
Bridged from Codex Game Studios commit 687320f. - Adds 'no clickable UI' fallback guidance with numbered/a.yes-b.no shortcuts when the question tool is unavailable. - Updates Explain->Capture, When to Use, Format Guidelines, and the For Agents block to list real viable options and use a.yes/b.no for confirmations. - Modernizes AskUserQuestion -> question across the whole file (the original port only renamed tools in agent/skill bodies, leaving this doc on the Claude tool name). 10 occurrences updated. Adapted Codex -> OpenCode: numbered choice prompt -> question.
1 parent c0ce73a commit f0cfaa2

1 file changed

Lines changed: 33 additions & 15 deletions

File tree

docs/COLLABORATIVE-DESIGN-PRINCIPLE.md

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -329,12 +329,25 @@ Skill: "Writing design/concept.md..."
329329

330330
---
331331

332-
## 🎛️ Structured Decision UI (AskUserQuestion)
332+
## 🎛️ Structured Decision UI (question)
333333

334-
Use the `AskUserQuestion` tool to present decisions as a **selectable UI** instead
334+
Use the `question` tool to present decisions as a **selectable UI** instead
335335
of plain markdown text. This gives the user a clean interface to pick from options
336336
(or type "Other" for a custom answer).
337337

338+
OpenCode surfaces may not always provide that clickable UI. When the tool is not
339+
available, use the same structure as compact plain text so the user can answer
340+
with a short token:
341+
342+
- Multiple viable options: `1.`, `2.`, `3.` with one `(Recommended)` option.
343+
- Yes/no confirmations:
344+
- `a. yes`
345+
- `b. no`
346+
- List all real viable options, usually 3-5 when available and fewer when fewer
347+
are viable. Do not invent filler options.
348+
- Never end with an unstructured "what do you want to do?" when a small viable
349+
choice set is possible.
350+
338351
### The Explain → Capture Pattern
339352

340353
Detailed reasoning doesn't fit in the tool's short descriptions. So use a two-step
@@ -344,13 +357,15 @@ pattern:
344357
detailed pros/cons, theory references, example games, pillar alignment. This is
345358
where the reasoning lives.
346359

347-
2. **Capture the decision** — Call `AskUserQuestion` with concise option labels
348-
and short descriptions. The user picks from the UI or types a custom answer.
360+
2. **Capture the decision** — Call `question` with concise option labels
361+
and short descriptions when available; otherwise present the same options as
362+
compact numbered text. The user picks from the UI, types a short token, or
363+
types a custom answer.
349364

350-
### When to Use AskUserQuestion
365+
### When to Use question
351366

352367
**Use it for:**
353-
- Every decision point where you'd present 2-4 options
368+
- Every decision point where you'd present a small set of real viable options
354369
- Initial clarifying questions with constrained answers
355370
- Batching up to 4 independent questions in one call
356371
- Next-step choices ("Draft formulas or refine rules first?")
@@ -359,14 +374,17 @@ pattern:
359374

360375
**Don't use it for:**
361376
- Open-ended discovery questions ("What excites you about roguelikes?")
362-
- Single yes/no confirmations ("May I write to file?")
377+
- Single yes/no confirmations ("May I write to file?") - use `a. yes` /
378+
`b. no` instead when a shortcut helps.
363379
- When running as a Task subagent (tool may not be available)
364380

365381
### Format Guidelines
366382

367383
- **Labels**: 1-5 words (e.g., "Hybrid Discovery", "Full Randomized")
368384
- **Descriptions**: 1 sentence summarizing the approach and key trade-off
369385
- **Recommended**: Add "(Recommended)" to your preferred option's label
386+
- **Fallback**: If no selectable UI is available, preserve the same choices as
387+
numbered or lettered plain text.
370388
- **Previews**: Use `markdown` field for comparing code structures or formulas
371389
- **Multi-select**: Use `multiSelect: true` when choices aren't mutually exclusive
372390

@@ -375,7 +393,7 @@ pattern:
375393
After introducing the topic in conversation, batch constrained questions:
376394

377395
```
378-
AskUserQuestion:
396+
question:
379397
questions:
380398
- question: "Should crafting recipes be discovered or learned?"
381399
header: "Discovery"
@@ -402,7 +420,7 @@ AskUserQuestion:
402420
After writing the full pros/cons analysis in conversation text:
403421

404422
```
405-
AskUserQuestion:
423+
question:
406424
questions:
407425
- question: "Which crafting approach fits your vision?"
408426
header: "Approach"
@@ -420,7 +438,7 @@ AskUserQuestion:
420438
After presenting the full strategic analysis with pillar alignment:
421439

422440
```
423-
AskUserQuestion:
441+
question:
424442
questions:
425443
- question: "How should we handle crafting scope for Alpha?"
426444
header: "Scope"
@@ -436,12 +454,12 @@ AskUserQuestion:
436454
### Team Skill Orchestration
437455

438456
In team skills, subagents return their analysis as text. The **orchestrator**
439-
(main session) calls `AskUserQuestion` at each decision point between phases:
457+
(main session) calls `question` at each decision point between phases:
440458

441459
```
442460
[game-designer returns 3 combat approaches with analysis]
443461
444-
Orchestrator uses AskUserQuestion:
462+
Orchestrator uses question:
445463
question: "Which combat approach should we develop?"
446464
options: [concise summaries of the 3 approaches]
447465
@@ -658,15 +676,15 @@ BEFORE proposing solutions:
658676
3. Gather context about user's vision and constraints
659677
660678
WHEN proposing solutions:
661-
1. Present 2-4 options (not just one)
679+
1. Present the real viable options, usually 3-5 and fewer when fewer are viable
662680
2. Explain trade-offs for each
663681
3. Reference game design theory, user's pillars, or comparable games
664682
4. Make a recommendation but defer final decision to user
665683
666684
BEFORE writing files:
667685
1. Show draft or summary
668686
2. Explicitly ask: "May I write this to [file]?"
669-
3. Wait for "yes"
687+
3. Offer `a. yes` / `b. no` and wait for approval
670688
671689
WHEN implementing:
672690
1. Explain architectural choices
@@ -685,4 +703,4 @@ This principle has been fully embedded across the project:
685703
- **All skills** — Updated to require approval before writing
686704
- **WORKFLOW-GUIDE.md** — Rewritten with collaborative examples
687705
- **README.md** — Clarifies collaborative (not autonomous) design
688-
- **AskUserQuestion tool** — Integrated into 16 skills for structured option UI
706+
- **question tool** — Integrated into 16 skills for structured option UI

0 commit comments

Comments
 (0)