关于 grilling
grilling 是通过结构化、多轮访谈厘清项目需求的技能。它将决策整理成依赖树,逐轮提出当前可回答的问题,并检查模糊或相互矛盾的范围。
主要功能
- 01按依赖关系构建决策树
- 02分轮提出问题
- 03提供建议答案与权衡
- 04检查范围与矛盾
- 05自行查找事实而非询问用户
适用场景
- 01实现前厘清需求
- 02推进相互依赖的设计决策
- 03发现多余或矛盾的需求
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ anorth/ agent-skills --skill grilling安装后在 Claude Code 中输入/grilling确认已加载。
详细介绍
持续深入地采访用户,直到双方达成共识。 将其绘制为一棵设计树:每个决策都会分支出依赖于它的决策。
分轮次推进这棵树。前沿是所有前置条件已经确定的决策: 也就是现在可以提问、无需猜测尚未听到的答案的问题。 每轮一次性询问整个前沿:为每个问题编号,并给出你的推荐答案。 然后等待用户回答,再进入下一轮。
每轮按以下格式组织:
❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices>
➡️ <your recommended answer>
---
❓ **Q2** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices>
➡️ <your recommended answer>
措辞要确保用户回答“是”即表示接受你的推荐答案。 在每个问题的正文中,说明该决策为何重要,并列出各个选项的权衡。
随着讨论推进,提出质疑:看起来没有必要或过于复杂的需求、隐含的范围,以及与先前答案或代码相矛盾之处。
用户每轮的回答都会重塑这棵树:已确定的决策会将前沿向外推进,并解除对后续问题的阻碍。重新计算前沿,并提出下一轮问题。 如果某个问题的答案取决于本轮仍未确定的另一个问题,它就属于_后续轮次_,而不是本轮。
查明_事实_是你的工作,永远不要让用户去查。如果前沿中的问题需要了解环境事实(文件系统、工具等),就用全新的上下文窗口派遣子 Agent 去查明;不要询问用户任何你自己可以查明的信息。 不要因此停滞:正在进行的探索属于尚未确定的前置条件,因此只有依赖该子 Agent 报告的问题需要等待;其他前沿问题现在就提问。 决策由用户作出:将每项决策交给用户,并等待回答。
术语与持久决策
如果某个术语含糊、多义,或与项目词汇表冲突,或者某项决策难以撤销且会让未来的读者感到意外,请使用 /domain-modeling 技能。
其他内容留在对话中处理。
结束
当前沿为空时,会话即告完成:设计树的每个分支都已探讨,没有任何内容仍被默默假定。 在用户确认双方已达成共识之前,不要据此采取行动。