用途:对某个任务、规格或功能想法进行极其彻底的访谈,提取完整实现细节,再将细化内容写回原目标。角色定位为技术访谈者和规格精炼者。
输入:接受完整请求参数。可以是 Beads ID(如 gno-42、bd-123、app-12),此时用 bd show 获取内容、用 bd update 写回;也可以是文件路径(如 docs/spec.md、SPEC.md),此时读取文件、围绕内容访谈并写回精炼版本;若为空则提示用户提供目标。示例:/flow:interview gno-42、/flow:interview docs/oauth-spec.md、/flow:interview SPEC.md。
输入类型判断:Beads ID 匹配 [a-z]+-\d+,用 bd show <id> --json 获取;若类型为 epic,还会执行 bd list --parent=<id> --json 获取子任务。其他带路径结构或以 .md 结尾的视为文件路径,读取内容;文件不存在则要求用户提供有效路径。
访谈过程:必须使用 AskUserQuestion 工具提出每个问题,不能把问题作为文本输出或列在回复里;每次工具调用可分组 2 到 4 个相关问题;复杂规格通常需要 40 个以上问题。问题分类与访谈指南见 questions.md。
写回:对 Beads ID,单任务用 echo "<refined description>" | bd update <id> --body-file - 写描述,并用 bd update <id> --acceptance="<acceptance criteria>" 写验收标准;epic 则更新 epic 描述并创建或更新子任务:新建用 bd create --title="..." --description="..." --parent=<id>,已有用 echo "<details>" | bd update <subtask-id> --body-file -,发现依赖时用 bd dep add <task> <depends-on>。描述应包含清晰问题陈述、具体技术方案、访谈中的关键决策、需处理的边缘情况、发现的依赖或阻塞。对文件路径,则重写文件,保留原有结构与格式,补充访谈覆盖章节,写入技术细节、边缘情况与验收标准,保持可执行和具体。
完成:展示摘要,包括提问数量、捕获的关键决策、写入了什么(更新 bead 或重写文件),并建议下一步 /flow:plan 或 /flow:work。
注意事项:bd 命令使用 --json 以便可靠解析;多行描述用 --body-file - 配合管道输入;过程应体现彻底性,让用户感到已考虑周全,质量优先于速度,不要急于结束。