工程开发
ask-user-question avatar

ask-user-question

使用 AskUserQuestion 工具在软件代理中实现交互式、分步骤的用户输入工作流程,用于引导决策与配置。

简介

此技能为 Claude Code 代理内部的交互式引导工作流程设计提供了一个强大的框架。通过利用 AskUserQuestion 工具,开发者可以将静态文档转换为动态的对话过程,引导用户做出具体的实施选择、提供配置输入或定义项目范围。此技能专为需要处理多步骤交互、管理模糊需求并确保在整个执行生命周期中有效捕捉用户偏好的工程师与开发者而设计。

  • 启用结构化的多阶段交互模式,例如渐进式披露与条件分支,以防止用户过载。

  • 通过允许代理在执行关键操作(如数据库选择或部署配置)前收集必要数据,促进清晰的状态管理。

  • 支持基于实时系统状态的动态选项生成,例如列出可用的 Git 分支、本地文件路径或检测到的工具版本。

  • 包含对多选输入及自动“其他”选项的内置支持,确保在预设选项不足时,用户能够提供自定义文本。

  • 推广代理与用户沟通的最佳实践,包括简洁的标签、清晰的选项说明,以及为了降低认知负荷而建议的“一次询问一个问题”原则。

  • 集成此技能时,请严格遵守每次调用 1-4 个问题的限制,以维持交互质量与响应能力。

  • 务必将标题长度保持在 12 个字符以内,并确保选项标签简洁(1-5 个词),以符合 UI 限制。

  • 将此工具用于收集实际的实施决策(如框架、数据库、语言),而非关于代理内部状态或计划准备情况的元问题。

  • 实现响应处理逻辑,直接解释用户答案,将选项映射到内部工作流程变量或条件执行分支。

  • 优先为首选路径选项加上“推荐”标签,引导用户采用最高效或标准的做法。

  • 若用户需要在多种相互排斥的方案或复杂的项目设置之间进行选择,请使用提供的结构化配置模式。

仓库统计

Star 数
25
Fork 数
1
Open Issue 数
0
主要语言
Shell
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 20:39
在 GitHub 查看