# Meeting Notes Organizer

> 把飞书妙记 / 钉钉录音 / 任何会议录音转录稿整理成结构化的会议纪要 + 个人任务清单。专攻"工作会议"场景（区别于 course-notes 的"学习课程"场景）。当用户提供录音转录稿 .docx / .txt / md 并要求整理、做会议纪要、抽取任务清单、做行动项时触发。触发词：整理会议、会议纪要、会议记录整理、做会议纪要、抽会议任务、把这场会做成纪要、把录音整理成会议记录、会议复盘、会议整理、整理这次周会、整理录音、转录稿整理、飞书妙记整理、讯飞听见整理、帮我整理这场会议。区别于 course-notes（课程录音）—— 本 skill 处理工作场景：周会 / 评审会 / 客户沟通 / 项目会 / 1-on-1。区别于 interview-review（面试复盘）—— 本 skill 处理多人会议。

- **Type:** Skill
- **Install:** `agentstack add skill-huazihe-claude-skills-meeting-notes-organizer`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [huazihe](https://agentstack.voostack.com/s/huazihe)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [huazihe](https://github.com/huazihe)
- **Source:** https://github.com/huazihe/claude-skills/tree/main/skills/meeting-notes-organizer

## Install

```sh
agentstack add skill-huazihe-claude-skills-meeting-notes-organizer
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 会议纪要整理 SOP（v2 · 自纠错版）

## 核心定位
**工作会议录音 → 结构化纪要 + 个人任务清单 + Obsidian 落地**

⚠️ **关键纪律**（v2 / 2026-05-18 复盘 + v3 / 2026-05-19 复盘）：
- **术语校订是我的活，不是用户的活** —— 不要丢"可疑术语清单"让用户当裁判。我自己用 WebSearch + 上下文推断 + 公司词典查证，置信度低的标 ⚠️ 而不是问用户。
- **开干前只问"元数据"** —— 主题 / 参会人 / 用户身份 / 重点关注什么。术语问题靠我自查解决。
- **音近不是证据** —— 仅凭语音识别后的字符相似（如某内部代号听起来像某个公开产品）不能映射，必须有 2+ 独立来源 + 上下文吻合才能确信。
- 🆕 **不要在 plan / 纪要里铺一大段"术语校订说明"章节** —— 那是噪声。术语校订是后台动作，产物里只留：① 被替换的词直接替换、② 待核词最多一行脚注、③ 词典更新动作放进执行步骤而不是结果展示。
- 🆕 **判断发言人归属先看用户是否参会** —— 用 AskUserQuestion 问到"你在本场会议是哪个发言人"时，**用户答"我没参加"的情况要主动覆盖到** Step 3。用户没参会 → 所有发言人按知识库公司词典里的人员名册（我方人员 + 客户方人员）框定阵营，本场说话最多的"主持人 / 主讲" 99% 是己方的会议主持人。

---

## 8 步执行流程

### Step 0 · 启动检查（永远先做）
- 加载 `~/.claude/projects//memory/reference_company_glossary.md`（公司术语词典）
- 加载 `~/.claude/projects//memory/feedback_meeting_notes_workflow.md`（工作流纪律）
- 加载 `~/.claude/projects//memory/reference_local_tool_paths.md`（工具路径）

### Step 1 · 文件类型识别 + 提取策略
- **飞书妙记 docx**（文件名形如 `XXX_原文.docx` / `XXX 飞书妙记.docx`）→ 优先用 lark-cli / lark-minutes skill 拉**带时间戳跳转链接**的版本
- **普通转录稿**（.txt / .md / 其他来源 docx）→ 直接读
- **python-docx 自提取必带 UTF-8 重定向 + 写文件再读**，不要 print 到 stdout（会乱码）

### Step 2 · CLAUDE.md 合规检查
检查是否符合"录音转录稿默认不导入"规则（发言人 X ≥5 次 + 时间戳 ≥50 次）：
- 符合 → **必须问用户**：① 只出纪要 / ② 留原 docx 当附件 / ③ 完全跳过
- 不问就开干 = 违反知识库治理纪律

### Step 3 · 问元数据澄清问题（⚠️ 只问这 3-4 个）

用 AskUserQuestion 工具一次性问完：

```
1. 这场会议的主题是什么？（一句话概括，我用来做标题和会议主线）
2. 你在这场会议中是哪个发言人？（**包含"我没参加"选项**——客户对接场景常出现）
3. 你最想从这场会议提取什么？（多选）
   ☐ 任务分派（谁要做什么）
   ☐ 关键决策点
   ☐ 老板视角金句
   ☐ 隐性风险预警
   ☐ 全要
```

如果用户答"我没参加"，发言人归属规则切换：
- 主持/主讲 = 我方核心人物（先查词典里的"主持人"角色）
- 其他发言人 = 客户方人员，按词典里该客户的人员名册映射
- 个人任务清单转换为"作为 POC owner，我从这场会要兜底什么"

🚫 **不要问"以下术语对不对"** —— 那是我的活，下一步自己干。

### Step 4 · 自查术语（⚠️ 关键纪律，反复核对）

#### 4.1 扫描可疑词
通读转录稿，列出（**内部记账，不给用户看**）：
- 不在词典里的英文单词 / 缩写
- 听起来像产品名的中文词
- 听起来像人名 / 客户名的词
- 数字 + 字母版本号

#### 4.2 自查方法（按优先级）
对每个可疑词，按以下顺序判断：

| 步骤 | 动作 | 通过条件 |
|---|---|---|
| ① | 查公司词典 `reference_company_glossary.md` | 命中 → 直接用，标 🟢 |
| ② | WebSearch（中文 + 英文双查） | 找到**官方网站 / 权威新闻 / 厂商页**，且产品定位与上下文吻合 → 🟢 |
| ③ | 二次验证：换关键词再搜，看 2+ 独立来源是否一致 | 一致 → 🟢；不一致 → 降到 🟡 |
| ④ | 上下文吻合度检查 | 上下文里是"内部产品"语境（如"我们的 X"、"自研的 X"）→ **不能映射成公开产品**，标为内部代号 ❓ |

#### 4.3 三档置信度处理

| 置信度 | 信号 | 处理方式 |
|---|---|---|
| 🟢 高 | 公司词典命中 OR 强网络证据 + 上下文吻合 | **直接替换**，不标注 |
| 🟡 中 | 网络证据存在但单一来源 OR 上下文部分吻合 | **替换 + ⚠️ 标注 + 文末"待确认术语"区记录** |
| 🔴 低 | 仅音近 / 内部代号嫌疑 / 找不到证据 | **不替换，原文保留** + ❓ 标注 + 文末"待人工确认"区记录 |

#### 4.4 内部代号识别（红线！）
**遇到下列信号，默认是内部代号，不要硬套公开产品**：
- 上下文是"我们的 X"、"自研的 X"、"X 多模型调度引擎"
- 音译怪异（随机英文词组合，听不出对应公开产品）
- 公司词典里没有，但网络搜索也找不到强对应
- 看起来像随机英文组合（如 "claw"、"house"、"dance"、"season"）

**处理**：标为 `❓{原文} → 疑似内部代号，待确认` 留在文末。**绝不强行映射成音近的公开产品**。

#### 4.5 客户名 / 人名容错（红线！）
- **差一个字也是不同实体**，不要合并
  - ❌ 甲家家 = 乙佳佳（差太多）
  - ❌ 甲加家 = 乙佳佳（音相近但不同字）
  - ✅ 甲家家 → 甲加家（字数相同 + 上下文同一处提到，确认是 ASR 误识别同一人）
- **不确定就保留两个版本**，标 ❓

### Step 5 · 生成正式纪要
按 `references/meeting-notes-template.md` 写：
- frontmatter（date / duration / participants / source / tags）
- 术语校订说明区（只列 🟢 高置信度替换 + 🟡 中等待核 + 🔴 未替换待人工）
- 分章节，按议题，每节带「决策 + 责任人 + 截止日期」
- 单独抽：**当日落实任务表** + **老板金句区** + **协作规范红线**
- 文末「待人工核对术语」区（如果有 🟡 / 🔴）

### Step 6 · 生成"个人任务清单"子文档
基于 Step 3 用户回答的身份，按 `references/personal-action-list-template.md` 抽：
- 🔴 今天必须落实
- 🟡 本周推进
- 🟢 持续维护
- 老板对本人的明确点名
- 红线规则
- ✅ 拆到可勾选的执行清单
- ⚠️ 隐性风险

### Step 7 · 落地 + 打开
- **默认路径**：`知识库/10_收件箱/会议记录/YYYYMMDD-HHMM-{主题}.md` + 同目录 `YYYYMMDD-{身份}任务清单.md`
- frontmatter 互加 `[[]]` 双向链接
- 用 **Typora** 打开（路径优先级：`` → 注册表 `HKLM:\...\App Paths\Typora.exe` → 用户机器扫描 → 询问用户）
- 同时 `explorer.exe` 打开文件夹

### Step 8 · 收尾追问
1. "文末『待人工核对术语』里 N 个我没把握 / 标 ⚠️ 的词，请你帮我确认。**确认后我会自动更新公司术语词典，下次同样的词就不用再核了。**"
2. "有没有新出现的内部代号 / 客户名 / 人员名要我补到 `reference_company_glossary.md`？"
3. "这次产出有 N 个观点 / 框架值得抽成原子笔记到 `20_知识卡片/`，要不要抽？"

---

## 🔴 红线（不能犯，全部来自实战踩坑复盘）

| # | 红线 | 反例 | 正确做法 |
|---|---|---|---|
| 1 | ❌ 把"可疑术语清单"丢给用户当裁判 | "请确认 open xyz 是不是某开源框架" | 自己 WebSearch + 三档置信度判定 |
| 2 | ❌ 仅凭音近映射 | 某代号 → 某公开产品（仅因音近硬套） | 必须 2+ 独立来源 + 上下文吻合 |
| 3 | ❌ 公开产品硬套内部代号 | 把自研代号映射成音近的开源项目 | 检测到"内部产品"语境时默认标 ❓，不替换 |
| 4 | ❌ 客户名 / 人名擅自合并 | 甲家家 = 乙佳佳（音相近就合并） | 差任何字都视为不同实体，不确定保留两个版本 |
| 5 | ❌ 不问元数据就开写 | 直接拍板"发言人 1 = 老板" | Step 3 先问主题 / 参会人 / 用户身份 |
| 6 | ❌ 修改原始收件箱的 docx | 把转录稿改了 | 遵守原文保留规则 |
| 7 | ❌ 强行用 Obsidian URI 打开 | 中文 vault URI 编码失败 | 默认 Typora |
| 8 | ❌ 单一工具路径硬编码 | 只试 `C:\Program Files\Typora\` | 走 `reference_local_tool_paths.md` 多路径 fallback |

---

## 与同类 skill 的差异

| 场景 | 用哪个 |
|---|---|
| 工作会议（周会 / 评审 / 客户沟通 / 项目会） | **本 skill** |
| 课程录音 / 培训直播 | `course-notes` |
| 面试录音复盘 | `interview-review` |
| 模拟面试 | `hubo-interviewer` |
| 一句话生成飞书会议纪要工作流 | `lark-workflow-meeting-summary` |

---

## 引用

- 公司术语词典：`reference_company_glossary.md`（**必读**，启动时加载）
- 工作流纪律：`feedback_meeting_notes_workflow.md`（必读）
- 本地工具路径：`reference_local_tool_paths.md`（必读）
- 术语自查范例：`references/term-self-check-playbook.md`（详细案例库）
- 纪要模板：`references/meeting-notes-template.md`
- 个人任务清单模板：`references/personal-action-list-template.md`

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [huazihe](https://github.com/huazihe)
- **Source:** [huazihe/claude-skills](https://github.com/huazihe/claude-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-huazihe-claude-skills-meeting-notes-organizer
- Seller: https://agentstack.voostack.com/s/huazihe
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
