Morning Briefing 是一个用于生成用户每日简报的技能。它的核心目标是用一次约 2 分钟的单页浏览,替代原本约 30 分钟的收件箱浏览、日历查看和新闻浏览。
【产出内容】 每次运行产出两件成果:
- briefing-YYYY-MM-DD.html —— 一个交互式仪表板,保存到当前工作文件夹。
- 一段简短的、可直接发到 Slack 的摘要 —— 打印在对话中,便于复制或通过 Slack 连接器发送。
【开始前的配置检查】 先检查当前工作文件夹中是否存在 BUSINESS_CONTEXT.md 或 briefing-config.md。如果存在就读取它,其中应说明使用哪些连接器、关注哪些新闻来源、什么算紧急、以及需要包含或跳过哪些板块。 如果两者都不存在,需要向用户询问一次:
- 你有哪些连接器?(Gmail、Google Calendar、Slack、Notion 等)
- 你想跟踪哪些新闻话题?(AI、金融科技、你所在的行业、特定公司)
- 在你的收件箱里什么算紧急?(客户、投资人、特定发件人) 把答案保存为 briefing-config.md 供以后使用,之后每天不再重复询问。
【数据采集】 尽可能并行拉取以下数据:
- 今日日历:所有事件,含参会人、地点/链接和会议类型。
- 未读和已标记邮件:数量,以及按时间新近度和发件人重要性排出的前 5 封最重要邮件。
- 待处理的 Slack 私信和 @提及:数量 + 前 3 条。
- 新闻头条:3–5 条与用户跟踪话题相关的、过去 24 小时内的内容。
- 昨日的未了结事项:任何已发出、等待回复的邮件,以及标记为今日的任务。 如果某个连接器不可用,就跳过该板块,而不是猜测。在仪表板底部注明这一缺口。
【仪表板结构】 构建一个单文件 HTML 页面,移动端友好,按以下顺序包含这些板块:
- 英雄条:今日日期、天气(如有连接器)、由你撰写的一句话“当日形态”(例如“4 个会议,2 个深度工作时段,一个需要决策的事项”)。
- 日程时间线:今日会议的可视化时间线,按会议类型用颜色区分。如有准备笔记,点击事件可查看。
- 收件箱快照:未读数量,前 5 封邮件含发件人、主题、一句话摘要和建议动作(回复 / 归档 / 标记 / 推迟)。
- Slack 动态:值得回应的待处理私信和 @提及。
- 新闻:3–5 张卡片,含标题、来源、一句话“为何与你相关”。
- 未了结事项:超过 48 小时未获回复的已发邮件、前一日尚未完成的任务。
- 今日最重要的一件事:综合以上信息后,你对用户今天最该做的那件事的判断。 风格:干净、密集、易于略读。默认浅色主题。用少量强调色做提示。除悬停状态外不加动画。
【Slack 摘要格式】 纯文本,600 字符以内,结构如下: ☀️ Morning briefing — [日期] 📅 [N] 个会议。第一个:[时间 + 名称]。关注:[需要保持敏锐的那个] 📥 [N] 封未读,[N] 封已标记。紧急:[发件人 / 话题] 💬 [N] 条 Slack 私信待处理 📰 值得注意:[一条头条 + 一句话说明为何重要] 🎯 今日最重要的一件事:[你的判断] 完整仪表板:[文件名]
【为何重要】 用户每天开始时段打开一次并据此决定做什么。如果仪表板杂乱、泛泛而谈、或塞满他们本就知道的内容,它就失败了——用户会回去手动检查一切。要针对用户扫读的那一刻优化:每个板块要么告诉他们原本不知道的事,要么把即将被遗忘的事浮现出来。
【定时运行】 在用户手动运行一次并满意输出后,可建议定时化:“想不想让我每个工作日早上 7 点运行这个?我可以把它变成定时任务,投递仪表板并在 Slack 上提醒你。”如果同意,就设置使用合适 cron 计划的循环定时任务。定时版本应把仪表板写入 briefings/ 子文件夹,按日期命名,让用户积累可日后检索的历史记录。
【规则】
- 具体胜过完整。三条犀利的洞察 > 全面但泛泛的堆砌。如果为了填满某个板块而凑内容,就砍掉这个板块。
- 不要总结用户自己写的东西。如果用户自己发出的邮件出现在收件箱里,不要把它总结回给用户。
- 你的判断很重要。“今日最重要的一件事”这一行是你唯一能扮演战略家的地方,要用好它,做出真正的判断。
- 连接器失败时仍要有用。如果 Gmail 挂了,仍要产出能填的板块。缺口注在底部,不要放在顶部。
- Slack 摘要中不要包含敏感内容。主题和发件人可以出现;正文内容不可以。