--- name: interview-to-us description: 将访谈记录、会议纪要、邮件沟通等非结构化内容快速转换为符合CRAFT标准的User Story草稿。适合在需求调研阶段使用,当有大量访谈笔记需要结构化时。帮助不会写US的PM/BA快速上手,从自然语言访谈记录自动提取As-Want-So结构,节省手动整理时间(1小时→10分钟)。 stage: REQUIREMENTS level_supported: [L1-STREAMLINED, L2-BALANCED, L3-RIGOROUS] --- # Interview to US Skill > **Scope**: REQUIREMENTS > > **版本**: 0.1.0 | **创建日期**: 2025-12-04 --- ## 概述 将非结构化的访谈记录、会议纪要、邮件沟通快速转换为符合CRAFT标准的User Story草稿,帮助PM/BA节省大量手动整理时间。 **核心价值**: - 自动识别需求关键词("想要"、"希望"、"需要") - 自动提取As-Want-So结构 - 标记不确定点,生成澄清问题清单 - 保留原始来源引用,便于追溯 **时间节省**:手动整理1小时 → 自动生成10分钟 **适合人群**:不太熟悉敏捷开发,不知道如何从访谈记录写US的用户 --- ## 适用场景 ### 场景1:需求澄清会议后有大量访谈笔记 **现状**: ``` 会议记录(2025-12-04): 客户说:我们的店长每天早上需要查看昨天的营收情况,现在要手动打开好几个表格很麻烦。 希望能一登录就看到,最好3秒内能打开,不然早上太忙了。 另外,密码总是记不住,能不能记住账号? ``` **需求**:将这段口语化的记录转换为标准US ### 场景2:客户邮件中提出零散需求点 客户在一封长邮件中混杂了10个需求点,需要逐一提取为US ### 场景3:产品经理头脑风暴后的想法列表 PM在笔记中记录了很多零散的功能点,需要快速结构化 --- ## 执行步骤 ### 步骤1:读取访谈记录 - 接受自然语言输入(可能很口语化) - 可选:读取SPEC_PRJ_DESC获取项目背景 - 预处理:分段、去除噪音信息(如时间戳、发言人标记) ### 步骤2:关键词识别(NLP分析) #### 2.1 需求关键词 识别表达需求的词汇: - **明确需求**:"想要"、"希望"、"需要"、"必须"、"应该" - **问题导向**:"不满意"、"很麻烦"、"太慢"、"不方便" - **期望表达**:"能不能"、"希望能"、"最好是"、"如果能" #### 2.2 角色关键词 识别用户角色: - **明确角色**:"我作为"、"作为一个"、"我是" - **推断角色**:"店长"、"管理员"、"客户"、"用户" - **复数角色**:"我们的"、"所有"、"每个" #### 2.3 价值关键词 识别业务价值: - **目的表达**:"这样我就可以"、"为了"、"目的是"、"以便" - **好处描述**:"就不用"、"就能"、"更方便"、"更快" - **问题解决**:"解决"、"避免"、"减少"、"提高" ### 步骤3:提取As-Want-So结构 #### 3.1 提取As(角色) - 优先使用明确的角色描述 - 如果角色不明确,标记 `[? 角色待确认]` - 如果有多个角色,为每个角色生成独立的US草稿 #### 3.2 提取Want(功能) - 提取核心功能描述 - 去除实现细节(如"用按钮"、"用表格") - 保持业务语言(如"查看营收"而非"查询数据库") - 如果功能描述模糊,标记 `[? 功能边界待确认]` #### 3.3 提取So that(价值) - 从"为了"、"以便"等关键词后提取价值 - 如果访谈中未明确价值,从问题反推价值 - 例:"太慢了" → "以便快速完成任务" - 如果价值不明确,标记 `[? 价值待确认]` ### 步骤4:生成US草稿 #### 4.1 创建Front Matter模板 ```yaml --- id: US-[DOMAIN]-[NUMBER] # [? 待分配ID] sn: [DOMAIN] # [? 待分配SN,建议:AUTH/ORDER等] priority: medium # [? 待确认优先级] status: DRAFT # 标记为草稿状态 source: "访谈记录 2025-12-04" # 原始来源 --- ``` #### 4.2 生成US内容 ```markdown ## US-[ID]: [从Want提取的标题] As a [提取的角色] # [? 角色待确认] 如果不确定 I want to [提取的功能] # [? 功能边界待确认] 如果模糊 So that [提取的价值] # [? 价值待确认] 如果不明确 **原始来源**: > [引用原始访谈记录的相关段落] **不确定点**: - [ ] 角色是否准确?是"店长"还是"区域经理"? - [ ] 功能边界在哪里?只看营收还是包括库存? - [ ] 优先级如何?是必须项还是期望项? ``` ### 步骤5:生成澄清问题清单 为每个标记了 `[?]` 的不确定点生成澄清问题: ```markdown ## 需要澄清的问题(按US分组) ### US-001: 查看营收数据 1. **角色确认**:是"单店店长"还是"区域经理"? 2. **功能边界**:查看营收时需要包含哪些维度?(如客流、库存、成本等) 3. **优先级**:这个功能对您的紧急程度如何?(必须/重要/可选) ### US-002: 记住登录账号 1. **实现方式**:是记住账号还是完全自动登录? 2. **安全要求**:多久失效?(30天/永久/每次退出清除) ``` --- ## 快速开始 最快的3步使用流程: - [ ] **第1步:准备访谈记录文本** - 文件类型:会议纪要 / 客户邮件 / 头脑风暴笔记(.md 或 .txt 格式) - 内容要求:包含业务需求相关内容,可以是口语化的自然表达 - 示例内容:"客户说希望能一登录就看到营收,现在要打开好几个表格很麻烦" - [ ] **第2步:调用SKILL并提供文件路径** - 命令:`>>interview-to-us` - AI会询问:"请提供访谈记录的文件路径" - 回复示例:"在 `访谈记录/2025-12-04会议纪要.md`" - AI会自动读取并开始转换 - [ ] **第3步:查看生成的2个文档** - 结果位置:`spec/requirements/` 文件夹 - **文档1**:`user_stories_draft.md`(US草稿,标记为DRAFT状态) - **文档2**:`clarification_questions.md`(澄清问题清单) - 对话窗口会显示生成的US数量和不确定点摘要 ⏱️ **预计耗时**:10-15分钟(包含1小时会议纪要的整理时间) 🆘 **遇到问题?** 查看下方"使用说明"章节获取详细指导 --- ## 使用说明 ### 📥 AI会读取什么(输入) **自动读取的文档**: AI可以读取你准备的访谈记录,支持以下格式: - **会议纪要**(.md或.txt文件) - **邮件内容**(复制粘贴到文本文件) - **语音转录文本**(录音转成的文字) - **头脑风暴笔记**(零散的想法列表) **可以是很口语化的内容**,例如: ``` 客户说:我们的店长每天早上需要查看昨天的营收情况, 现在要手动打开好几个表格很麻烦。希望能一登录就看到, 最好3秒内能打开,不然早上太忙了。 ``` **项目结构示例**: ``` 你的项目/ ├── 访谈记录/ │ ├── 2025-12-04会议纪要.md ← AI会读取这个 │ └── 客户邮件.txt └── spec/ └── requirements/ ← AI会在这里生成US草稿 ``` **可选的补充信息**(有这些会更准确): - 如果有项目背景描述,AI能更好地理解业务场景 - 如果有现有的US编号规则,AI会遵循相同的命名方式 - 如果有用户画像文档,AI能准确识别角色 ### 📤 AI会产生什么(输出) **生成的文档**: AI会在 `spec/requirements/` 文件夹下创建: 1. **US草稿文件**(新文件,如 `user_stories_draft.md`): - 每个US都有编号(如US-SALES-001) - 每个US都有完整的As-Want-So结构 - **标记为草稿**,表示需要进一步确认 - **用问号标记不确定的内容**,例如: ```markdown As a 便利店店长 # [? 是单店店长还是区域经理?] I want to 查看营收数据 # [? 需要包含哪些维度?] So that 快速了解业务情况 ``` 2. **原始来源引用**: - 每个US下方都会引用原始访谈记录 - 方便你回溯确认理解是否正确 3. **澄清问题清单**(新文件,如 `clarification_questions.md`): - 按US分组的问题列表 - 每个问题都很具体,可以直接发给客户确认 - 示例: ```markdown ### US-SALES-001: 查看昨日营收 1. 【角色确认】是"单店店长"还是"区域经理"? 2. 【功能边界】查看营收时需要包含哪些维度? (如客流、库存、成本等) 3. 【优先级】这个功能对您的紧急程度如何? ○ 必须有 ○ 重要但可以稍后 ○ 可选 ``` **结果位置**: - US草稿:`spec/requirements/user_stories_draft.md` - 澄清问题:`spec/requirements/clarification_questions.md` - 对话窗口中会显示生成的US数量和问题清单摘要 **时间节省**: 手动整理1小时的会议纪要 → AI自动生成约10分钟 ✅ ### 🎯 如何使用 **第1步:准备访谈记录** - 将访谈记录整理成文本文件(.md或.txt) - 不需要格式化,口语化的内容也可以 - 保存在项目的任意位置 **第2步:调用这个SKILL** - 在与AI对话时输入:`>>interview-to-us` - AI会询问你:"请提供访谈记录的文件路径" - 你告诉AI文件位置,比如:"在 `访谈记录/2025-12-04会议纪要.md`" **第3步:查看结果** - 打开 `spec/requirements/` 文件夹 - 查看生成的US草稿文件 - 查看澄清问题清单 **第4步:与客户确认** - 将澄清问题清单发给客户 - 收到客户反馈后,更新US草稿 - 移除所有 `[?]` 标记后,将状态从"草稿"改为"正式" **常见问题**: Q: AI会不会理解错我的访谈记录? A: AI会尽力提取,但不确定的地方会用 `[?]` 标记出来,并生成澄清问题让你确认。 Q: 访谈记录很乱,口语化严重,AI能理解吗? A: **可以**。AI专门设计来处理口语化内容,即使是"嗯...我觉得...可能需要..."这样的表达也能识别。 Q: 生成的US编号是怎么来的? A: AI会根据内容自动生成编号(如US-AUTH-001表示认证相关)。如果你有现有的编号规则,告诉AI它会遵循。 Q: 我想只提取访谈记录的某一部分,可以吗? A: 可以。在调用时说明:"只提取第2-5段的内容"或"只关注关于登录功能的讨论"。 --- ## 质量检查 ### 必检项(100%通过) - [ ] 每个US包含完整的As-Want-So结构 - [ ] 每个US标记为DRAFT状态 - [ ] 每个US包含原始来源引用 - [ ] 不确定点用 `[?]` 清晰标记 - [ ] 无技术术语(100%业务语言) ### 建议项(≥75%通过) - [ ] Front Matter格式正确 - [ ] ID/SN遵循命名规范(如果有) - [ ] 角色、功能、价值至少有2项明确 - [ ] 生成澄清问题清单 - [ ] 原始来源引用完整可读 --- ## 限制条件 ### ✅ 适用场景 - 有非结构化的访谈记录、会议纪要或客户邮件 - 不知道如何将自然语言转换为标准US格式 - 需要快速整理大量访谈笔记(1小时会议内容) - 访谈内容口语化、零散,需要提取结构化需求 - 能接受草稿状态的US(需要后续澄清和确认) ### ❌ 不适用场景 - **已经有US文档,只是缺乏场景感** → 使用 `us-enrich-context` 增强,而非重新生成 - **完全没有访谈记录,需要进行访谈** → 先完成需求调研/客户访谈 - **需要最终正式的US而非草稿** → 本SKILL只生成草稿(status=DRAFT),需人工确认 - **访谈内容纯技术讨论,缺乏业务需求** → 可能无法提取有效的As-Want-So结构 - **要求100%准确识别,不允许任何模糊点** → 本SKILL会用`[?]`标记不确定点 ### 📋 前置条件 - 至少有1次访谈记录或会议纪要(.md 或 .txt 文件) - 访谈内容包含业务需求相关信息(如用户期望、问题、功能描述) - 可以是口语化的自然表达,无需预先结构化 - 愿意接受草稿状态的US,并进行后续澄清和确认 - 理解生成的US需要人工审查和补充才能转为正式US --- ## 特别说明(针对敏捷新手) ### 为什么需要这个工具? **传统手动整理的痛点**: 1. ⏱️ **时间长**:一次1小时的会议,手动整理需要1小时 2. 🤔 **遗漏风险**:容易漏掉隐含的需求 3. 📝 **格式不统一**:不熟悉As-Want-So格式,写出来不标准 4. 🔍 **难追溯**:时间长了忘记需求来源 **使用本工具的好处**: 1. ⚡ **快速**:10分钟完成初稿 2. ✅ **全面**:基于关键词识别,减少遗漏 3. 📐 **标准**:自动生成符合CRAFT标准的格式 4. 🔗 **可追溯**:保留原始来源引用 ### 生成说明(帮助理解) **示例转换过程**: **输入(访谈记录)**: ``` 客户说:我们的店长每天早上需要查看昨天的营收情况,现在要手动打开好几个表格很麻烦。希望能一登录就看到,最好3秒内能打开,不然早上太忙了。 ``` **识别过程**: 1. **角色关键词**:「我们的店长」 → 角色 = 店长 2. **需求关键词**:「需要查看」 → 功能 = 查看营收 3. **问题关键词**:「很麻烦」→ 价值 = 方便快捷 4. **量化信息**:「3秒内」→ 性能要求(可作为AC) **输出(US草稿)**: ```markdown --- id: US-SALES-001 # [? 待确认ID] sn: SALES # [? 待确认SN] priority: high # [? 待确认优先级] status: DRAFT source: "客户访谈 2025-12-04" --- ## US-SALES-001: 查看昨日营收 As a 便利店店长 I want to 一登录就看到昨日营收情况 So that 不用手动打开多个表格,节省时间 **原始来源**: > 客户说:我们的店长每天早上需要查看昨天的营收情况,现在要手动打开好几个表格很麻烦。希望能一登录就看到,最好3秒内能打开,不然早上太忙了。 **不确定点**: - [ ] 营收情况包含哪些具体数据?(总额/分类/对比等) - [ ] "一登录就看到"是首页还是独立页面? - [ ] 性能要求"3秒内"是否作为硬性约束? **建议的AC/NFR**: - AC: Given 店长已登录,When 进入首页,Then 显示昨日营收总额 - NFR: 响应时间 < 3秒(性能要求) ``` ### 需要人工确认的点(学习引导) **为什么需要澄清?** 1. **避免误解**:自动提取可能有偏差,人工确认保证准确 2. **补充细节**:访谈中可能遗漏的边界条件 3. **优先级判断**:AI无法判断业务优先级,需要人工决策 **如何进行澄清?** 1. **准备问题清单**:使用本工具生成的澄清问题 2. **与客户确认**:用具体问题引导客户补充 3. **更新US**:根据确认结果更新草稿,移除 `[?]` 标记 4. **转为正式US**:所有不确定点清除后,status改为ACTIVE --- ## >> 命令 ``` >>interview-to-us # 转换单个访谈记录 >>interview-batch # 批量转换多个访谈记录 >>interview-analyze # 分析访谈记录中的需求数量 >>interview-clarify # 生成澄清问题清单 >>interview-quality-check # 审查生成的US质量 ``` --- ## 相关 Skills **前置准备**: - **document-quality** - 访谈记录本身的质量检查 **后续使用**: - **us-enrich-context** - 草稿生成后,进一步丰富场景感 - **us-readability-check** - 检查生成的US中的模糊表述和技术术语 - **user-story-format** - 验证生成的US格式正确性 **质量保证**: - **principle-invest** - 确保生成的US符合INVEST原则 - **us-readability-check** - 检查生成的US是否对非技术人员友好 **工作流集成**: 本SKILL与WORKFLOW的关系: - WORKFLOW S3-2 做深度需求收集(引导式提问) - 本SKILL 做快速需求提取(自动化转换) - 两者互补,根据场景选择使用 --- **注意**: 1. 本SKILL生成的是**草稿**,不是最终US,需要人工澄清和确认 2. 标记为 `[?]` 的不确定点必须在转为正式US前全部清除 3. 原始来源引用应该在正式US中保留(作为背景说明)或移到独立的需求溯源文档