Agent Skills: Interview to US Skill

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

UncategorizedID: tikazyq/agentic-spec-forge/interview-to-us

Install this agent skill to your local

pnpm dlx add-skill https://github.com/tikazyq/agentic-spec-forge/tree/HEAD/AGENTIC_SPEC_FORGE/spec_stage_skill/requirements/interview-to-us

Skill Files

Browse the full folder contents for interview-to-us.

Download Skill

Loading file tree…

AGENTIC_SPEC_FORGE/spec_stage_skill/requirements/interview-to-us/SKILL.md

Skill Metadata

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

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模板

---
id: US-[DOMAIN]-[NUMBER]  # [? 待分配ID]
sn: [DOMAIN]  # [? 待分配SN,建议:AUTH/ORDER等]
priority: medium  # [? 待确认优先级]
status: DRAFT  # 标记为草稿状态
source: "访谈记录 2025-12-04"  # 原始来源
---

4.2 生成US内容

## US-[ID]: [从Want提取的标题]

As a [提取的角色]  # [? 角色待确认] 如果不确定
I want to [提取的功能]  # [? 功能边界待确认] 如果模糊
So that [提取的价值]  # [? 价值待确认] 如果不明确

**原始来源**:
> [引用原始访谈记录的相关段落]

**不确定点**:
- [ ] 角色是否准确?是"店长"还是"区域经理"?
- [ ] 功能边界在哪里?只看营收还是包括库存?
- [ ] 优先级如何?是必须项还是期望项?

步骤5:生成澄清问题清单

为每个标记了 [?] 的不确定点生成澄清问题:

## 需要澄清的问题(按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/ 文件夹
    • 文档1user_stories_draft.md(US草稿,标记为DRAFT状态)
    • 文档2clarification_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结构
    • 标记为草稿,表示需要进一步确认
    • 用问号标记不确定的内容,例如:
      As a 便利店店长  # [? 是单店店长还是区域经理?]
      I want to 查看营收数据  # [? 需要包含哪些维度?]
      So that 快速了解业务情况
      
  2. 原始来源引用

    • 每个US下方都会引用原始访谈记录
    • 方便你回溯确认理解是否正确
  3. 澄清问题清单(新文件,如 clarification_questions.md):

    • 按US分组的问题列表
    • 每个问题都很具体,可以直接发给客户确认
    • 示例:
      ### 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草稿)

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