智能会议备战官 (Smart Meeting Prep Officer)
> 把每次会议当作一场"战役"来准备 -- 知己知彼,百战不殆。
>
> 不要打无准备之仗。每一场会议都是一次资源投入(时间 × 人数 × 机会成本),
> 本 Skill 确保你在踏入会议室之前,已经做好了万全准备。
核心理念
会议是企业最昂贵的沟通方式之一。一场 5 人 1 小时的会议,按平均时薪 150 元计算,成本高达 ¥750 —— 而这还不包括被打断的深度工作时间。
本 Skill 围绕"会前准备"这一关键环节,用"战役准备"的思维框架,确保每一场会议都有备而来、高效产出。
五大备战原则:
1. 先问该不该开 -- 会议体检,避免不必要的会议
2. 知己知彼 -- 理解参会人角色和关注点
3. 运筹帷幄 -- 智能议程,精确到分钟
4. 粮草先行 -- 提前准备好所有材料
5. 令行禁止 -- 一键创建会议,最优配置
触发规则
触发词(匹配任一即触发)
准备会议|备战会议|开会准备|会议准备|帮我准备.*会|预备会议|
创建会议|安排会议|会前准备|会议备战|会议体检|会议检查|
备战|准备周会|准备面试|准备复盘|准备演示|帮我备战
不触发的场景
- 用户已经在会议中,需要会中功能(如记笔记、实时转写)
- 用户需要会后功能(如会议纪要整理 -- 那是另一个 Skill 的范围)
- 纯闲聊或询问会议无关内容
- 用户明确表示不需要准备,只是想快速拉个会
前置检查
在开始备战流程前,执行以下检查:
1. 环境检查
运行依赖检查脚本:
bash {SKILL_DIR}/scripts/check_deps.sh
2. tmeet CLI 状态检查
tmeet auth status
- 如果已登录 → 继续流程
- 如果未登录 → 提示用户:"检测到您尚未登录腾讯会议,部分功能(自动创建会议、搜索通讯录等)将不可用。是否现在登录?"
- 用户同意 → 执行
tmeet auth login 2>&1 &,展示授权 URL - 用户拒绝 → 跳过 tmeet 集成,仅生成本地备战包
3. 降级策略
如果 tmeet CLI 不可用,不影响核心备战包生成功能。Skill 的核心价值在于"会前准备的思维框架和内容生成",tmeet 集成是增效而非必需。
完整工作流
用户输入 "帮我准备明天下午3点的产品周会"
│
▼
┌─────────────────────────────────────┐
│ Phase 1: 会议意图理解 │
│ 提取:类型/时间/参会人/目标 │
│ 确认:与用户二次确认关键信息 │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Phase 2: 前置检查 │
│ tmeet CLI 状态 & Python 环境 │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Phase 3: 会议体检 🏥 │
│ 必要性评估 / 时间合理性 / 成本估算 │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Phase 4: 智能备战包生成 🛡️ │
│ 议程 + 参会人洞察 + 历史材料 │
│ + 待办追踪 + 会前阅读包 │
│ 调用: prep_pack_generator.py │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Phase 5: tmeet CLI 集成 ⚡ │
│ contact search → meeting create │
│ → meeting invite → meeting get │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Phase 6: 备战仪表盘 📊 │
│ 准备就绪度评分 + 待办清单 │
│ 调用: dashboard_generator.py │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Phase 7: 会前简报输出 📋 │
│ 生成可复制发送的格式化简报 │
└─────────────────────────────────────┘
Phase 1: 会议意图理解
从用户的自然语言输入中提取以下结构化信息。如果信息不完整,必须向用户确认后再继续,不得自行猜测。
提取字段
| 字段 | 说明 | 示例 |
|---|---|---|
| 会议标题 | 会议主题/名称 | "产品团队周会" |
| 会议时间 | 精确或模糊时间 | "明天下午3点" / "下周一" |
| 会议时长 | 预估时长(分钟) | 30 / 45 / 60 |
| 参会人员 | 姓名/角色列表 | "张三、产品组全员" |
| 会议类型 | 从类型库匹配 | weekly / decision / interview |
| 会议目标 | 决策/同步/讨论/演示/面试 | "同步本周进度" |
| 特殊需求 | 录制/转写/等候室 | "需要自动录制" |
会议类型判断逻辑
根据关键词匹配会议类型(详见 references/meeting_types.md):
| 类型 | 关键词 | 典型时长 |
|---|---|---|
| weekly (周例会) | 周会/周报/每周/standup | 30min |
| decision (决策会) | 决策/评审/拍板/定方案 | 60min |
| interview (面试) | 面试/面/候选人 | 60min |
| review (复盘会) | 复盘/回顾/总结/retrospective | 60min |
| client_demo (客户演示) | 客户/演示/demo/提案/汇报 | 45min |
| training (培训会) | 培训/分享/学习/workshop | 90min |
| one_on_one (一对一) | 1v1/一对一/面谈/谈话 | 30min |
确认模板
提取完信息后,向用户展示确认卡片:
📋 会议备战确认
| 项目 | 内容 |
|------|------|
| 会议主题 | {title} |
| 会议类型 | {type_name} |
| 时间 | {date} {time} |
| 时长 | {duration} 分钟 |
| 参会人 | {participants} |
确认以上信息无误?我将开始为您备战此役。⚔️
Phase 2: 会议体检
核心问题:这个会真的需要开吗?
在创建会议之前,先进行"会议体检"。这是本 Skill 最具创新性的环节。
体检项目
1. 必要性检查
根据会议类型判断是否存在异步替代方案:
| 会议类型 | 异步替代方案 | 建议 |
|---|---|---|
| 周例会 | 日报/周报 + 即时消息同步 | 若仅同步进度,可改为异步 |
| 决策会 | 文档评论 + 异步投票 | 若无深度讨论需求,可改为异步 |
| 培训会 | 录制视频 + 文档自学 | 若无互动需求,可改为异步 |
| 客户演示 | -- | 通常需要实时交流 |
| 面试 | -- | 通常需要实时交流 |
| 复盘会 | -- | 通常需要集体讨论 |
| 一对一 | -- | 通常需要私密对话 |
输出格式:
- 🟢 绿灯:会议确有必要,进入备战流程
- 🟡 黄灯:存在异步替代方案,建议用户考虑
- 🔴 红灯:强烈建议取消或改为异步
2. 时间合理性检查
- 会议时长是否合理?(30分钟优于1小时,1小时优于2小时)
- 是否在午休时间(12:00-14:00)?
- 是否在下班时间(18:00后)?
- 是否在周末/节假日?
3. 成本估算
会议成本 = 参会人数 × 平均时薪(¥150) × 时长(小时)
将成本明确展示给用户,增强"会议是昂贵的"意识。
体检报告输出
🏥 会议体检报告
【必要性】🟢 绿灯 -- 决策会需要实时讨论,建议正常进行
【时间】 ✅ 时间合理(14:00-15:00,工作黄金时段)
【时长】 ⚠️ 建议 60 分钟,超过 45 分钟建议安排中间休息
【成本】 💰 预估成本约 ¥750(5人 × ¥150/时 × 1小时)
综合建议:可以开会,但建议严格控时,提前发送议程。
Phase 3: 智能备战包生成
调用 scripts/prep_pack_generator.py 生成完整备战包。
使用方式
python {SKILL_DIR}/scripts/prep_pack_generator.py \
--type {meeting_type} \
--title "{meeting_title}" \
--date "{date}" \
--time "{time}" \
--duration {duration} \
--participants "{participants_csv}" \
--output {workspace}/prep_pack_{date}.md
备战包包含 5 大模块
3.1 智能议程(含精确时间分配)
根据会议类型自动生成分段时间分配。每种类型的模板定义在 references/agenda_templates.md 中。
3.2 参会人洞察
- 必须参加:决策者、关键利益方
- 建议参加:信息接收者
- 可以跳过:旁听者(建议看纪要即可)
- 角色建议:主持人、记录人、计时员
- 基于 RACI 矩阵的参会人角色分析(详见
references/participant_roles.md)
3.3 历史关联材料
从往期会议中提取关联内容。实现方式:
1. 优先:通过 tmeet CLI 获取历史录制和纪要
bash
tmeet record list --meeting-id {related_meeting_id} --compact
tmeet record smart-minutes --meeting-id {related_meeting_id}
2. 降级:由 AI 根据用户提供的上下文/文件提取
3. 兜底:在备战包中预留"历史材料"占位区,提示用户手动补充
3.4 决策待办追踪
- 上次相关会议遗留的 action items
- 本次会议需要决策的事项清单(从用户输入中提取)
- 决策建议框架(背景 → 选项 → 推荐 → 风险)
3.5 会前阅读包
给参会人的预读材料,包含:
- 会议背景说明(1段,说清楚为什么要开这个会)
- 核心议题列表(3-5项)
- 需要提前阅读的文档链接
- 需要提前思考的问题
输出文件
备战包以 Markdown 文件形式保存到当前工作目录:
- 文件名格式:prep_pack_{YYYY-MM-DD}_{meeting_type}.md
- 包含完整的目录结构和交叉引用
Phase 4: tmeet CLI 集成
基于腾讯会议 Skill 实现自动化会议操作。所有写操作(创建/邀请/踢人)必须先向用户展示操作详情并获取确认后才能执行。
详细的 tmeet CLI 命令参考见 references/tmeet_integration.md。
集成步骤
Step 1: 搜索通讯录(如果用户提供了参会人姓名)
# 逐个搜索参会人
tmeet contact search --name "{name}"
注意:如果返回多个结果,必须列出候选项让用户确认,禁止自行选择。
Step 2: 创建会议(最优配置)
tmeet meeting create \
--title "{meeting_title}" \
--start "{ISO_8601_datetime}" \
--duration {duration} \
--waiting-room true \
--auto-record true \
--auto-transcribe true \
--mute-on-join true
最优配置说明:
- --waiting-room true:启用等候室,防止迟到者直接闯入打断会议
- --auto-record true:自动开启云录制,确保会议内容不丢失
- --auto-transcribe true:自动生成文字转写,为后续纪要打好基础
- --mute-on-join true:入会自动静音,避免杂音干扰
在展示创建结果时,必须使用 meeting_code(会议号),禁止展示 meeting_id。
Step 3: 添加受邀者
tmeet meeting invitees-add --meeting-id {meeting_id} --users {user_ids}
Step 4: 确认创建结果
tmeet meeting get --meeting-id {meeting_id}
展示会议号、入会链接、受邀者列表。
错误处理
| 错误 | 处理方式 |
|---|---|
user config is empty |
引导用户执行 tmeet auth login |
--start format error |
确保使用 ISO 8601 格式含时区 |
--meeting-id is required |
从创建结果中提取 meeting_id |
| 通讯录搜索无结果 | 提示用户手动输入参会人信息 |
| 创建/邀请失败 | 展示错误信息,提供手动操作指引 |
Phase 5: 备战仪表盘
调用 scripts/dashboard_generator.py 生成可视化的备战状态仪表盘。
python {SKILL_DIR}/scripts/dashboard_generator.py \
--output {workspace}/dashboard_{date}.md
仪表盘包含:
- 会议基本信息卡片
- 准备就绪度评分(满分100)
- 任务完成进度条
- 体检结果摘要
准备就绪度评分标准
| 维度 | 分值 | 条件 |
|---|---|---|
| 会议目标明确 | +20 | 已提取清晰的会议目标 |
| 议程完整 | +20 | 已生成含时间分配的议程 |
| 参会人确认 | +15 | 已明确参会人及角色 |
| 预读材料 | +15 | 已生成会前阅读包 |
| 会议已创建 | +10 | 已通过 tmeet 创建会议 |
| 历史上下文 | +10 | 已关联往期会议材料 |
| 待办清单 | +10 | 已梳理决策/待办事项 |
Phase 6: 会前简报
生成一份可以直接复制发送给参会人的会前简报。
使用 assets/brief_template.md 作为格式参考,将备战包中的关键信息提炼为简洁的会前简报。
简报包含:
1. 会议基本信息(时间、地点、会议号)
2. 核心议程概览
3. 会前准备要求
4. 本次需决策的事项
最终输出总结
完成所有 Phase 后,向用户展示最终汇总:
⚔️ 会议备战完成!战前报告如下:
🛡️ 备战包:已生成 → {prep_pack_path}
📊 仪表盘:已生成 → {dashboard_path}
🏥 体检:通过,建议严格控时
⚡ 腾讯会议:已创建(会议号:{meeting_code})
👥 受邀者:{count} 人已添加
📋 简报:已就绪,可一键复制发送
准备就绪度:{score}/100
祝旗开得胜!🎯
会议类型快速参考
完整定义见 references/meeting_types.md,议程模板见 references/agenda_templates.md。
| 类型 | 关键词 | 时长 | 核心目标 |
|---|---|---|---|
| 周例会 | 周会/周报/每周 | 30min | 进度同步 |
| 决策会 | 决策/评审/拍板 | 60min | 做出决策 |
| 面试 | 面试/候选人 | 60min | 人才评估 |
| 复盘会 | 复盘/回顾/总结 | 60min | 经验提炼 |
| 客户演示 | 客户/演示/提案 | 45min | 赢得认可 |
| 培训会 | 培训/分享/学习 | 90min | 知识传递 |
| 一对一 | 1v1/面谈/谈话 | 30min | 深度沟通 |
参考资料索引
| 文件 | 用途 | 加载时机 |
|---|---|---|
references/meeting_types.md |
7种会议类型的完整定义和最佳实践 | 需要判断会议类型时 |
references/agenda_templates.md |
每种类型的详细议程模板 | 生成议程时 |
references/tmeet_integration.md |
tmeet CLI 完整命令参考和集成最佳实践 | 需要调用 tmeet 时 |
references/prep_checklist.md |
通用和专项备战检查清单 | 生成检查清单时 |
references/participant_roles.md |
RACI 矩阵和参会人角色分析框架 | 分析参会人时 |
所有模板文件位于 assets/ 目录,用于生成输出,不加载到上下文。