# Interview To Us

> 将访谈记录、会议纪要、邮件沟通等非结构化内容快速转换为符合CRAFT标准的User Story草稿。适合在需求调研阶段使用，当有大量访谈笔记需要结构化时。帮助不会写US的PM/BA快速上手，从自然语言访谈记录自动提取As-Want-So结构，节省手动整理时间（1小时→10分钟）。

- Skill: `majiayu000/interview-to-us` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/interview-to-us`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/interview-to-us/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/interview-to-us

---


# 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中保留（作为背景说明）或移到独立的需求溯源文档

