ask-user
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAsk User
向用户提问
Thin helper that codifies how to ask the user questions during a workflow. Other skills (planning, research, brainstorming, implementing) reference this skill instead of duplicating AskUserQuestion conventions.
这是一个精简的辅助规范,明确了在工作流中如何向用户提问。其他技能(规划、调研、头脑风暴、实施)会参考此技能,而非重复编写AskUserQuestion的规范。
Core Rule
核心规则
Use the AskUserQuestion tool — never as plain-text bullets in chat.
Asking in chat looks like a request for free-form prose; AskUserQuestion gives the user one click per decision and the answer is structured. Always prefer the tool.
使用AskUserQuestion工具——绝不要在聊天中用纯文本项目符号提问。
在聊天中提问看起来像是要求用户自由撰写回复;而AskUserQuestion工具为用户的每个决策提供一键选择,且答案是结构化的。始终优先使用该工具。
When to Use
使用场景
- Clarifying ambiguous user input
- Choosing between viable design options
- Confirming a non-trivial assumption before acting on it
- Approving a phase boundary, plan structure, or destructive action
- Capturing a workflow preference (e.g., commit-per-phase)
- 澄清模糊的用户输入
- 在可行的设计方案中做选择
- 在采取行动前确认非琐碎的假设
- 批准阶段边界、计划结构或破坏性操作
- 记录工作流偏好(例如:按阶段提交)
When NOT to Use
禁用场景
- Rhetorical questions or thinking-out-loud
- Asking permission for trivial, reversible actions (just do them)
- "Is the plan ready?" / "Should I proceed?" — those are not decisions, they're checkpoints; just present the artifact and stop
- 反问句或自言自语
- 询问琐碎、可回退操作的许可(直接执行即可)
- “计划准备好了吗?” / “我可以继续吗?”——这些不是决策,只是检查点;只需展示成果并停止
Conventions
规范细则
Question shape
提问格式
- One sentence, ends with
? - Include enough context that the user doesn't need to scroll back
- Don't reference invisible artifacts ("does the plan look good?" — they may not see it yet)
- 一句话表述,以结尾
? - 包含足够上下文,用户无需回溯历史记录
- 不要引用不可见的成果(例如“计划看起来不错吗?”——用户可能还没看到)
Options
选项设置
- 2–4 mutually exclusive choices
- Each option: 1–5 word label, plus a one-sentence description explaining the trade-off or implication
- If you have a recommendation, put it first and append to the label
(Recommended) - Never include "Other" — the tool adds it automatically
- 2-4个互斥选项
- 每个选项:1-5个单词的标签,加上一句说明权衡或影响的描述
- 如果有推荐选项,将其放在首位并在标签后附加
(Recommended) - 无需添加“其他”选项——工具会自动补充
Header chip
头部标签
- Max 12 characters, names the axis of the choice (e.g. ,
Auth method,Approach)Scope
- 最多12个字符,点明选择的核心维度(例如、
Auth method、Approach)Scope
Multi-select
多选设置
Use only when choices are non-exclusive (e.g., "which features to enable?"). Default is single-select.
multiSelect: true仅当选项互不排斥时使用(例如“要启用哪些功能?”)。默认是单选模式。
multiSelect: trueBatching
批量提问
If you have multiple independent questions to ask at the same checkpoint, send them in one AskUserQuestion call (up to 4 questions) — don't ping-pong.
如果在同一个检查点有多个独立问题需要询问,通过一次AskUserQuestion调用发送(最多4个问题)——不要来回多次提问。
Good Example
示例:正确用法
question: "Which storage backend should the worker use?"
header: "Storage"
options:
- label: "Postgres (Recommended)"
description: "Existing infra, transactional, easy to query. Adds one new schema."
- label: "Redis"
description: "Faster but requires new ops. Lossy on eviction — bad fit for audit data."
- label: "S3 + manifest"
description: "Cheapest at scale but adds latency and a sync layer."question: "Which storage backend should the worker use?"
header: "Storage"
options:
- label: "Postgres (Recommended)"
description: "Existing infra, transactional, easy to query. Adds one new schema."
- label: "Redis"
description: "Faster but requires new ops. Lossy on eviction — bad fit for audit data."
- label: "S3 + manifest"
description: "Cheapest at scale but adds latency and a sync layer."Bad Examples
示例:错误用法
"What do you think?" → too vague, no options
"Should I continue? (yes/no)" → checkpoint, not a decision; just stop
"Pick one: A, B, C, D, E, F, G" → too many options; collapse or split
"Want me to also fix the typo?" → trivial reversible action; just do it"What do you think?" → too vague, no options
"Should I continue? (yes/no)" → checkpoint, not a decision; just stop
"Pick one: A, B, C, D, E, F, G" → too many options; collapse or split
"Want me to also fix the typo?" → trivial reversible action; just do it