用途
Specsfy MVP Milestone Interviewer 是 Specsfy 技能链中负责“MVP 入口”的编排技能。它的目标是把项目根目录下的 MVP.md 导入为里程碑 1.0,识别其中真正属于可开发的软件需求,为每条需求生成候选 backlog,并在后续技能的配合下产出 Draft 规格。业务背景(愿景、受众、原则、上下文、指标等)不会被复制或转换成 backlog,而是保留在 MVP.md 源文件中。
主要能力
- 读取并解析 MVP.md,运行单次导入脚本:
node
.agents/skills/specsfy-mvp-milestone-interviewer/scripts/importar_mvp.mjs
--root <根目录> 由脚本创建 specs/milestones/M01.md,并只对可分类为“可开发软件交付”的主题创建 backlog 与 Draft 规格。 - 读取 BRAND.md(同样先消费者根目录,子模块时回退父项目)以在提问中保持语言、受众、定位与品牌边界一致,但不将其内容复制到派生工件。
- 在写入前进行敏感数据筛查,若源文件包含凭证、令牌、私钥或敏感个人数据,则不生成里程碑,也不在消息中复现这些值。
- 生成一个有序 backlog 队列(每项包含 title、backlog、spec),作为会话的后续处理顺序。
- 以“提问模式”进行自适应访谈,只针对缺口、歧义或矛盾提问,每轮一个问题,选项具体,并包含“写入其他回答”和“继续”。
- 依次编排 $specsfy-02-backlog(细化 backlog)、$specsfy-data-discovery(补全数据缺失)、$specsfy-03-specify(生成 Draft 规格),最后执行 specsfy milestones sync --project <根目录> 并加载 $specsfy-milestone-governor 检查 M01 的关联与进度。
使用方式
- 前置条件:先加载 $specsfy-setup;若为自动交接,在本步骤前重新加载。复用会话中确认的根目录;若 setup 指向待处理项,则不继续。
- 交互遵循 .specsfy/Spec.md 的“编号提问契约”。
- 提问前先解决默认值:来自 MVP 明确声明或导入器记录的明确表述可直接作为已确认答案;只有存在多个合理解读、来源冲突或信息缺失时才提问,并把最兼容的建议选项放首位。
- 每条回答通过 Inbox 捕获,使用同一会话 ID(格式 DESC-AAAAMMDD-<slug>)与递增轮次,调用:
node .agents/skills/specsfy-01-inbox/scripts/capturar_inbox.mjs
--input "<完整文本>"
--title "<主题>"
--session "DESC-AAAAMMDD-<slug>"
--turn "<序号>"
--sources "<MVP.md 与 BRAND.md 情况>"
[Inbox 分析字段] [--root <根目录>] 若回答仅为 1、2、3,需替换为该选项的完整文本后再组装字段;不编辑、合并或替换既有捕获。 - 每轮回答后重读本会话所有 Inbox,给出区分“已收到表述”与“会话假设”的简短综述。
- 按“可开发 / 上下文”分类:只有当片段给出可验证的构建动词或对象(如开发、实现、创建、允许、注册、查询、集成)时才归为可开发;否则保留为上下文并记录原因。
适用场景
- 已存在 MVP.md、需要把 MVP 拆解为里程碑 1.0 与规格的项目启动阶段。
- 希望把业务背景保留在源文件、只将可开发需求转成 backlog 与 Draft 规格的工作流。
- 需要以访谈方式补全信息缺口,并保证数据缺失时先完成数据发现再继续。
限制
- 不发明回答、目标、退出条件、范围外内容或里程碑关联。
- 不覆盖已存在的里程碑 1.0 或既有 backlog;若 M01.md 存在,不写入任何文件并告知负责人。
- 不跳过导入器生成的任何 backlog 的访谈。
- 导入期间不实现代码,不将 gate 标记为 Passed。
- 不把 Inbox 当作规范性来源。
- 未经确认不通过路线图访谈扩增 MVP。
- 不实现、不执行任务、不推进 Definition Gate;Draft 自动生成不代表授权实现或最终验证。
- 生成规格即结束导入;实现、最终验证与 gate 推进属于另一授权阶段。
- 若源文件或字面回答为其他语言,仅作为引用保留,解读用巴西葡萄牙语记录。
- 其他未在资料中说明的细节(如收费、价格、平台支持范围)暂未提供。