yoooclaw-work-report

从工作相关的消息通知中自动提取当天或本周的工作进展、沟通要点和待办,生成一份工作日报或周报。触发:日报 / 周报 / 工作汇报 / 今天干了啥 / 这周做了什么 / 帮我写日报 / 帮我整理周报 / 工作简报 / 工作总结。

Audits

Pass

Install

openclaw skills install yoooclaw-work-report

work-report

目标

下班前或周末前,从手机通知中自动提炼出「今天(或这周)工作上发生了什么」,生成一份可以直接发给领导或贴进工作台的简报。

用户不需要回忆今天干了啥——通知里全有:飞书消息、钉钉审批、企业微信讨论、邮件往来、日历提醒、项目管理工具通知。本 skill 把这些散落的工作信号提炼成结构化简报。

用户通过安装弹窗设置:

  • 关注什么事({{what}}):报告类型——日报、周报或两者。
  • 关注哪些群和应用({{where}}):工作相关的应用和群,如飞书、钉钉、企业微信、Outlook、Jira、GitHub、Notion 等。未设置时自动从通知中识别工作类应用。

数据加载策略

  • 先通过 openclaw ntf storage-path 获取通知存储目录(用 Bash 工具运行该命令,stdout 即是目录的绝对路径)。后续所有通知文件直接在这个目录下,命名为 YYYY-MM-DD.json
  • 文件命名YYYY-MM-DD.json,一天一文件,包含当日全部 App 通知
  • 加载优先级:① 用户在 prompt 里明确给的路径 > ② <storage-path>/<YYYY-MM-DD>.json
  • 时间窗口(按报告类型决定)
    • 日报 → 仅当天
    • 周报 → 本周一 00:00 至当前
    • 用户指定"最近 N 天" → 近 N 天
    • 用户给定具体日期段 → 严格按指定
  • 跳过不存在的文件,不报错
  • openclaw ntf storage-path 不可用,提示用户给出数据路径

输入数据 schema

JSON 数组,每条:

{"appName":"com.bytedance.ee.lark","title":"群名或联系人名","content":"消息内容","timestamp":"2026-05-13T14:30:00.000+08:00","appDisplayName":"飞书"}

核心逻辑

1. 工作信号识别

从通知中识别工作相关内容。工作信号来源:

来源类型典型 App / 信号
办公 IM飞书、钉钉、企业微信、Slack、Teams
邮件Outlook、Gmail、网易邮箱(工作邮件)
项目管理Jira、Notion、飞书多维表格、Teambition、Linear
代码协作GitHub、GitLab(PR/Issue/CI 通知)
日程会议日历提醒、飞书日历、会议纪要
审批流程OA 审批、请假、报销、用印、采购
文档协作飞书文档、Notion、Google Docs 评论通知

如果用户在「关注哪些群和应用」中指定了具体应用(如"飞书、GitHub"),优先从这些应用中提取;未指定时自动识别上述类型。

2. 噪音过滤

以下内容不属于工作产出,直接丢弃:

  • 生活类:外卖、快递、打车、购物、缴费、家庭群消息
  • 营销推送:App 运营通知、促销、直播预告
  • 纯闲聊:表情包、"收到"、"+1"、无实质内容的回复
  • 系统噪音:App 更新提醒、存储空间警告、安全验证码
  • 消费/财务:银行短信、支付通知 → 属于 expense-tracker

3. 信息归类

将工作信号归入以下类别:

  • 推进的事项:项目进展、任务完成、文档交付、代码合并、方案确认
  • 沟通与对齐:会议讨论要点、跨团队协作、需求对齐、反馈收集
  • 审批与流程:发起/完成的审批、签字、报销、流程节点推进
  • 待办与跟进:被分配的任务、被 @ 要求回复、承诺了但还没做的、明天需要继续的
  • 风险与阻塞:延期、被驳回、依赖方未响应、资源不足、排期冲突

4. 合并与提炼

  • 同一事项的多条消息合并为一条,以最终结论/最新状态为准
  • 用一句话概括每个事项的核心进展,不照搬原文
  • 保留关键实体:项目名、文档名、会议名、人名、截止时间
  • 按时间线排序,让简报有"一天的节奏感"

输出要求

输出为会话文本,不生成文件。

A. 日报模式

📋 工作日报(YYYY-MM-DD)

一句话总览:用 1 句话概括今天的工作重心和主要产出。

━━ 今日进展 ━━

  1. <事项名>:<一句话概括进展>
     涉及:<项目/文档/会议名>
  2. <事项名>:<一句话概括进展>
     涉及:<项目/文档/会议名>
  ...

━━ 沟通与对齐 ━━

  1. <会议/讨论主题>:<结论或要点>
     参与方:<人名/团队>
  ...

━━ 审批与流程 ━━(如有)

  1. <审批事项>:<状态(已通过/待审批/已驳回)>
  ...

━━ 明日待办 ━━

  □ <待办事项>(截止:<如有>)
  □ <待办事项>
  ...

━━ 风险与阻塞 ━━(如有)

  ⚠️ <风险描述>
  ...

B. 周报模式

📋 工作周报(MM/DD ~ MM/DD)

一句话总览:用 1 句话概括本周的核心产出和关键进展。

━━ 本周完成 ━━

  1. <事项名>:<成果概括>
  2. <事项名>:<成果概括>
  ...

━━ 进行中 ━━

  1. <事项名>:<当前状态和进度>
  2. <事项名>:<当前状态和进度>
  ...

━━ 关键沟通 ━━(如有)

  1. <会议/讨论>:<结论>
  ...

━━ 下周计划 ━━

  □ <计划事项>
  □ <计划事项>
  ...

━━ 风险与阻塞 ━━(如有)

  ⚠️ <风险描述>
  ...

C. 兜底模式

若当天(或本周)没有识别到工作相关通知,输出:

📋 工作日报(YYYY-MM-DD)

今日无工作动态记录。

D. 简化模式

若工作通知数量很少(少于 3 条有效信号),降级为简化版:

📋 工作日报(YYYY-MM-DD)

今日工作动态较少:

  1. <事项>:<概括>
  2. <事项>:<概括>

明日待办:
  □ <如有从通知中识别到的待办>

决策准则

  • 不做流水账,优先输出有实质产出和推进的事项
  • 会议只记结论和决策,不记过程
  • "收到""好的""+1"等不构成工作产出,丢弃
  • 被 @ 但还没回复的,归入「明日待办」
  • 审批被驳回的,归入「风险与阻塞」
  • 不编造通知里没有的内容;信息不足时宁可输出简化版或兜底文案
  • 日报控制在 800 字以内,周报控制在 1500 字以内
  • 语气专业、简洁,产出的简报可以直接发给领导或贴进工作台

输出风格

  • 信息密度高,适合下班前 1 分钟扫完。
  • 事项用一句话概括,不展开背景。
  • 关键实体(项目名、人名、截止时间)保留原文,不模糊化。
  • 仅生成会话文本,不写文件。