# User Interview

> 将用户访谈转录文稿整理为结构化访谈笔记 + 01fish风格数据海报。触发词："整理访谈"、"访谈笔记"、"用户访谈"、"/interview"

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

---


# 用户访谈整理 Skill

将用户访谈转录文稿（口语化、冗长、有重复）整理为：
1. **结构化 Markdown 访谈笔记**（保留全部细节 + 大量原话引用）
2. **01fish 风格数据海报 HTML**（暗底墨绿，可下载 PNG）

## 触发词

- "整理访谈"
- "访谈笔记"
- "用户访谈"
- "/interview"

当用户提供访谈转录文件（txt/md/docx/pdf）并要求整理时触发。

---

## 工作流程

```
输入转录文稿 → 提取文本 → 结构化分析 → 输出访谈笔记.md → 生成数据海报.html → 浏览器打开
```

### Step 1：提取文本

根据文件类型选择提取方式：

| 文件类型 | 提取方式 |
|---------|---------|
| `.txt` | 直接用 Read 工具读取 |
| `.md` | 直接用 Read 工具读取 |
| `.docx` | macOS `textutil -convert txt -stdout <文件路径>` |
| `.pdf` | 用 Read 工具读取（支持 PDF） |

### Step 2：结构化分析

访谈转录稿的特点：口语化、有语气词、有重复、说话人标记可能不准确、包含大量有价值的原话。

#### 分析框架

从原始文本中提取以下结构：

| 维度 | 提取内容 |
|------|---------|
| **用户画像** | 身份、年龄、坐标、从业背景、技术能力、业务线、合作伙伴 |
| **核心需求** | 最初痛点、试过的方案、使用动机、需求升级路径 |
| **使用行为** | 使用了哪些功能/产品、使用频率、具体操作方式 |
| **产品反馈** | 最满意的点（逐个点评）、不满意的地方（表格列举） |
| **商业信号** | 已验证的分发能力、可量化的商业场景、付费意愿、潜在延伸方向 |
| **关键数据** | 数字、指标、时间节点、规模等定量信息 |
| **金句/原话** | 有洞察力的原话，必须保留原始表述 |
| **后续行动** | 具体跟进事项（从对话中推断） |

#### 分析原则

1. **原话为王**：大量使用 `> **原话**："..."` 格式引用原话，这是最有说服力的素材
2. **保留全部细节**：口语废话可删，但观点、数据、情感不可删
3. **表格高密度**：能用表格就用表格，信息密度越高越好
4. **还原说话人**：尽量识别每个观点是谁说的
5. **推断商业价值**：用户可能不会直接说"这个值钱"，但从使用行为中推断
6. **跨用户对比**：如果已有其他访谈，在启示部分做对比表

### Step 3：输出 Markdown 访谈笔记

保存到输入文件同目录，文件名格式：`访谈笔记-{用户昵称}-{日期}.md`

#### 笔记结构模板

→ 读取 `references/interview-note-template.md` 获取完整模板。

核心结构（7个标准章节）：

```
一、用户画像（表格 + 业务线表格 + 合作伙伴）
二、核心需求与使用动机（痛点→方案→发现产品→需求升级，大量原话）
三、产品使用反馈（逐个点评 + 不满意表格）
四、商业机会信号（分发能力 + 可量化场景表格 + 延伸方向）
五、用户旅程总结（流程图，从痛点到当前状态）
六、对产品/商业模式的启示（关键发现编号列表 + 跨用户对比表 + 迭代优先级表）
七、后续行动（checklist）
```

### Step 4：生成数据海报 HTML

→ 读取 `references/data-poster-template.html` 获取完整模板。

#### 设计风格：01fish 墨绿暗底

核心视觉规范（必须严格遵守）：

| 要素 | 规范 |
|------|------|
| **背景** | 墨绿 `#1A3328` |
| **页面背景** | 深黑 `#111` |
| **标题文字** | 宣纸白 `#F2EDE3` |
| **强调数字** | 鱼红 `#C44536` |
| **辅助文字** | `rgba(255,255,255,0.4)` |
| **分隔线** | `rgba(255,255,255,0.08)` |
| **TOP3排名** | 鱼红 `#C44536` |
| **分类标签** | 半透明底 + 对应色系文字（参考模板中的 cat-* 类） |
| **条形图** | 渐变：`#C44536` → `rgba(196,69,54,0.3)` |
| **海报宽度** | 800px，圆角 12px |
| **字体** | `-apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif` |

#### 海报内容结构

根据访谈内容动态生成：

1. **页头**：`{用户昵称}的AI实践之路：{亮点数字}` + 副标题
2. **核心指标栏**：3-5 个大数字卡片（APP数量、技能数、UV/PV、使用周期等）
3. **数据表格**：排行榜样式，每行包含排名/名称/分类标签/核心指标/条形图
4. **页脚**：数据说明 + 产品链接

#### 数据来源

海报中的数据从访谈笔记中提取：
- 如果用户提到了具体 APP 名称和数据 → 做排行榜
- 如果用户提到了使用量（UV/PV/时长）→ 放入核心指标栏
- 如果没有具体数据 → 用定性信息做信息卡片（如"核心应用场景"）
- 分类标签根据 APP 领域自动分配颜色

#### 下载功能

页面顶部固定下载按钮：
- 使用 html2canvas + FileSaver 库
- CDN：`https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js`
- CDN：`https://cdn.jsdelivr.net/npm/file-saver@2.0.5/dist/FileSaver.min.js`

### Step 5：输出与打开

1. 访谈笔记保存为 `访谈笔记-{用户昵称}-{日期}.md`
2. 数据海报保存为 `{用户昵称}-数据海报.html`
3. 用 `open` 命令在浏览器中打开海报
4. 告知用户：
   - 两个文件路径
   - 海报下载方式（点击页面上方按钮）
   - 如需产出公众号文章，可用 content-pipeline skill

---

## 内容提炼原则

### 从口语到书面的转换

| 口语特征 | 处理方式 |
|---------|---------|
| 语气词（嗯、啊、呃） | 删除 |
| 重复表述 | 合并为一次 |
| 口头禅（对吧、是吧） | 删除 |
| 说了一半改口的 | 取最终表述 |
| 跑题闲聊 | 有信息量则保留，纯闲聊删除 |
| **有力量的原话** | **必须保留原文**，用 `> **原话**："..."` 格式 |

### 原话引用标准

什么样的原话值得保留：

| 类型 | 示例 |
|------|------|
| 痛点表达 | "讲完了之后学生怎么自学？" |
| 惊喜时刻 | "玩这个游戏就跟上了一次一对一辅导课一样" |
| 商业洞察 | "如果能拿到数据，它就变成了可收费的" |
| 情感表达 | "这个东西我等了快10年" |
| 方法论总结 | "翻转阅读——把学习的主动权交给学员" |
| 竞争壁垒 | "没有任何一个学校老师能为学生开发这样一个小程序" |

### 信息密度控制

- **Markdown 笔记**：保留全部细节，宁多勿少，每个有价值的点都不遗漏
- **数据海报**：只放核心数据指标，是笔记的"数据可视化摘要"

---

## 适用场景

| 场景 | 适用度 | 说明 |
|------|--------|------|
| pdf2app 用户访谈 | ★★★★★ | 最佳场景，模板完全匹配 |
| 产品用户访谈 | ★★★★★ | 通用适配 |
| 客户调研访谈 | ★★★★☆ | 商业信号板块很适合 |
| 1对1 深度访谈 | ★★★★★ | 原话引用效果最好 |
| 多人座谈 | ★★★☆☆ | 需要区分多个发言人 |

---

## 故障处理

| 问题 | 处理 |
|------|------|
| 转录文稿无说话人标记 | 从上下文推断，标注"身份待确认" |
| 转录文稿太短（<1000字） | 简化笔记结构，海报用信息卡片替代排行榜 |
| 转录文稿超长（>30000字） | 分段读取，不遗漏重要信息 |
| 无具体数据（APP名/数量/UV/PV） | 海报改为定性信息卡片式（核心场景、关键洞察） |
| 多语言混杂 | 保留原文语言 |

---

*Skill 版本：v1.0*

