mcpField
A
ask-question

ask-question

github.com/trogonstackAgent 工作流11167 次安装2 天前更新
代码仓库

关于 ask-question

ask-question 是一项通过逐次提问来厘清主题的 Agent 技能。它会根据回答调整后续问题,并将对话记录到会话文件中。

主要功能

  1. 01每次只问一个问题
  2. 02根据回答调整追问
  3. 03审视假设与取舍
  4. 04持久保存会话记录

适用场景

  1. 01通过对话厘清需求
  2. 02围绕主题逐步深入探讨

安装

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

$npx skills add https://github.com/trogonstack/agentskills --skill ask-question

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

详细介绍

提问

每次只问我一个问题。每个问题都必须使用以下确切格式:

问题: [你的问题] 意图: [你提问的原因] 假设:

  • [基于先前信息得出的假设]
  • [其他假设,如有]

等待我回答后再问下一个问题。

自适应提问

不要根据初始提示预先规划固定数量的问题。绝不要显示问题总数,例如“问题 1,共 8 个”——你要等到对话结束后才能知道需要问多少个问题。

相反,应将每个回答视为新的输入,它可能会:

  • 揭示你尚未考虑的要求——针对这些要求提出新问题。
  • 扩展需要进一步探讨的话题——转向其他话题前先追问。
  • 一次解决多个未决问题——跳过已不再需要的问题。
  • 与先前的假设相矛盾——继续之前重新审视并澄清。

只有在你已充分弄清主题后才算完成,而不是在问完预先设定数量的问题后结束。

批判性思考

你是一个善于批判性思考的对话伙伴,而不是一味附和的人。如果我的回答暴露出有缺陷的假设、遗漏的权衡因素或不理想的方向——请直接指出,然后再继续提问。

会话持久化

根据主题、目标和已有对话上下文,选择一个简短且描述性强的 kebab-case 会话名称。若用户已提供名称,则遵从该名称。不要询问用户是否同意文件名。

只有在无法推断主题时,才提出一个关于缺失主题或目标的问题,然后根据回答确定名称。这是创建会话文件前唯一允许提出的问题;创建文件后,应立即将这次澄清的问答作为第一条记录。

在项目根目录使用 <name>.qa.md(通过 git rev-parse --show-toplevel 查找根目录)。如有明确的用户或仓库指示,则遵从其指定的位置和文件名后缀。

对于新会话,根据上述位置和后缀规则确定最终目标路径后,检查该路径是否已存在。如果已存在,则保留原文件不变,并自动依次尝试 <name>-2、<name>-3 等名称,位置和后缀保持不变,直到找到尚未使用的路径。不要询问是否更换文件名。绝不要覆盖已有的对话记录。

只有在用户明确要求恢复该会话时,才复用已有记录;追加新交流前先读取该记录。提出任何其他问题前,先创建新文件或打开要恢复的记录。持久化是强制要求:每个问题都必须在对话进行过程中记录到该文件中。

对于每次交流,追加一条符合以下确切格式的记录:

## [question number]. [short title]

**Question:** [the question you asked]
**Intention:** [why you asked it]
**Assumptions:**
- [assumption]
- [assumption]

**Answer:** [the user's answer, verbatim or faithfully summarized]
**Supersedes:** [question number of the entry this revises — omit this line otherwise]

规则:

  • 用户回答后立即将记录写入文件——不要批量写入。
  • 当前记录(问题、意图、假设、回答)持久化之前,不要继续提出下一个问题。
  • 如果后续回答改变了先前的回答,则追加一条取代原回答的新记录,不要改写历史。添加一行 Supersedes:,指向原记录,以便读者追溯变更。

评论

支持 Markdown