从工作相关的消息通知中自动提取当天或本周的工作进展、沟通要点和待办,生成一份工作日报或周报。触发:日报 / 周报 / 工作汇报 / 今天干了啥 / 这周做了什么 / 帮我写日报 / 帮我整理周报 / 工作简报 / 工作总结。
---
name: yoooclaw-work-report
description: 从工作相关的消息通知中自动提取当天或本周的工作进展、沟通要点和待办,生成一份工作日报或周报。触发:日报 / 周报 / 工作汇报 / 今天干了啥 / 这周做了什么 / 帮我写日报 / 帮我整理周报 / 工作简报 / 工作总结。
---
# 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 数组,每条:
```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 分钟扫完。
- 事项用一句话概括,不展开背景。
- 关键实体(项目名、人名、截止时间)保留原文,不模糊化。
- 仅生成会话文本,不写文件。
don't have the plugin yet? install it then click "run inline in claude" again.