mcpField
A
ask-user

ask-user

github.com/desplega-aiAgent 工作流36284 次安装今天更新
代码仓库

关于 ask-user

用于统一工作流中提问方式的技能,供其他技能调用。它区分需要用户决策的问题与常规检查点,并规范问题和选项的格式。

主要功能

  1. 01提问时机指南
  2. 02单句问题格式
  3. 03互斥选项规范
  4. 04批量提问规则

适用场景

  1. 01澄清含糊的请求
  2. 02选择不同设计方案
  3. 03确认重要假设
  4. 04获得破坏性操作的批准

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/desplega-ai/ai-toolbox --skill ask-user

安装后在 Claude Code 中输入/ask-user确认已加载。

详细介绍

询问用户

用于规范工作流中如何向用户提问的轻量辅助工具。其他技能(规划、研究、头脑风暴、实现)会引用此技能,而不是重复 AskUserQuestion 约定。

核心规则

使用 AskUserQuestion 工具——绝不要在聊天中用纯文本项目符号提问。

在聊天中提问看起来像是在请求用户自由发挥;AskUserQuestion 则为每个决定提供一个点击选项,并以结构化方式记录答案。始终优先使用该工具。

何时使用

  • 澄清含糊的用户输入
  • 在可行的设计方案之间进行选择
  • 在依据某个重要假设采取行动前进行确认
  • 批准阶段边界、计划结构或破坏性操作
  • 记录工作流偏好(例如,每个阶段提交一次)

何时不要使用

  • 反问或边想边说
  • 为琐碎且可逆的操作请求许可(直接执行即可)
  • “计划准备好了吗?”/“我应该继续吗?”——这类问题不是决策,而是检查点;直接展示成果并停下即可

约定

问题格式
  • 一句话,以 ? 结尾
  • 提供足够的上下文,让用户无需向上滚动查看
  • 不要提及用户看不到的内容(例如:“计划看起来不错吗?”——用户可能还看不到计划)
选项
  • 2–4 个互斥选项
  • 每个选项:1–5 个词的标签,加上一句解释权衡或影响的描述
  • 如果有推荐选项,将其放在首位,并在标签后附上 (Recommended)
  • 绝不包含“其他”——工具会自动添加
标题标签
  • 最多 12 个字符,用于命名选择的维度(例如 Auth method、Approach、Scope)
多选

仅当选项彼此不互斥时(例如“要启用哪些功能?”),才使用 multiSelect: true。默认情况下为单选。

批量提问

如果在同一个检查点有多个独立问题要问,请在一次 AskUserQuestion 调用中一并发送(最多 4 个问题)——不要来回反复提问。

好例子

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."

不好的例子

"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

评论

支持 Markdown