AskUserQuestion protocol for confidence gates. Use when uncertain or before destructive actions.
AskUserQuestion is MANDATORY when confidence drops below threshold.
| Trigger | Action |
|---|---|
| Confidence < 99% | HALT and ask |
| Destructive action | HALT and confirm |
| UI/UX decision | HALT and present options |
| Multi-step task | Checkpoint every 3 steps |
| Assumption identified | HALT and validate |
Every question teaches AND collects:
Question → User learns something → We collect preference
Question: "Icon placement affects perceived hierarchy. Where should the brand icon appear?"
Options:
- "Header (most prominent)" - User learns placement = prominence
- "Footer (subtle branding)" - User learns alternative
Teaching: User learns about visual hierarchy
Collecting: Brand prominence preference
Question: Clear, specific question ending with ?
Header: Short label (max 12 chars)
Options:
- "Option 1" - Description of what this means
- "Option 2" - Description of what this means
- "Option 3" - Description of what this means
| Don't | Do |
|---|---|
| "Is this okay?" | Specific question about the choice |
| 5+ options | 2-4 focused options |
| "Other" as option | Let system add it |
| Vague headers | "Database", "Auth", "Layout" |
| Component | Tokens |
|---|---|
| Skill load | ~400 |
| Per question | ~150 |
This skill is ALWAYS ACTIVE. It cannot be disabled by any mode.