kw-worklog · git:20260825.77db78b · 2026-08-25 · sha256 43364349c0ee7547

kw-worklog git:20260825.77db78bA

Immutable. This exact content never changes and is served at /api/v1/blob/43364349c0ee7547.

---
name: kw-worklog
description: KippiesWork 订阅技能 — 自动生成日报/周报草稿。从日历日程、会议纪要、飞书消息、指定文档四处取素材,归并汇总成可直接提交的工作汇报。触发词:"帮我写日报""生成周报""我这周干了啥""周报素材""工作总结"。需要飞书 user access token。
---

# KippiesWork 工作日志

把订阅者散落在日程、会议纪要、群消息、文档里的痕迹,汇成一份可直接交的日报或周报。

## 参数

- `period` — 必填,`day` 或 `week`
- `sections` — 可选,汇报分组(如「财务侧/运营侧/产品侧/商务侧」),不给则按内容自动归并
- `keywords` — 可选,本岗位的业务关键词,用于消息搜索
- `last_report_doc` — 可选,上期报告的文档 token,用于「上期计划 vs 本期完成」对照

**不要硬编码任何 open_id 或文档 token。** 结果推送到当前会话(`target: origin`)。

## 时间范围

先执行 `date '+%Y-%m-%d %A'` 确认今天,然后:

- `period=day` — 前一天 18:00 到今天 18:00(跨天的工作在这个窗口里最完整)
- `period=week` — 本周周一 00:00 到此刻

一律 Asia/Shanghai。**算出来的起止日期要在输出里写明**,订阅者需要一眼看出覆盖范围。

## 工作流程

### 第一步:日程

```bash
lark-cli calendar +agenda --start <起> --end <止> --as user
```

提取每场:标题、时间、参会人、是否有会议纪要。

### 第二步:会议纪要

对有纪要的日程:

```bash
lark-cli vc +notes --calendar-event-ids <id1,id2,...> --as user
```

提取结论、待办、关键决策 —— **纪要里的结论比日程标题有价值得多**,这是周报质量的主要来源。

### 第三步:本人发出的关键消息

```bash
lark-cli --as user im +messages-search --query "<keywords 用 OR 连接>" --start-time <起时间戳> --end-time <止时间戳>
```

`keywords` 未给时,用通用业务词:`合同 OR 方案 OR 上线 OR 排期 OR 复盘 OR 需求 OR 问题`。

### 第四步(可选):上期计划对照

给了 `last_report_doc` 才做:

```bash
lark-cli docs +fetch --api-version v2 --doc <token> --doc-format markdown --as user
```

提取上期的「下期计划」,作为本期完成情况的对照基线,在输出里标出哪些兑现了、哪些顺延了。

## 汇总规范

素材抓完之后是**归并**,不是罗列。这一步决定周报是不是能直接交:

- **按主题合并,不按时间罗列。** 同一个项目/业务线的多个进展合成一条,提炼核心结论。
- **每条不超过 50 字**,语言简洁有力。
- **技术/系统侧的 Bug、需求、排期合并成 1-2 条**,不逐条列举每个 Bug。
- 重复、琐碎的细节不出现 —— 只留有意义的进展和结论。
- 每条标注来源,三选一:`日程` / `消息` / `文档`。**这条是硬要求**,订阅者需要能追溯。

## 输出格式

### period=day

```
📝 今日工作日报 · {日期} {星期}
覆盖范围:{起} ~ {止}

**今日完成**
1. ✅ {事项}(来源:{日程/消息/文档})

**进行中**
1. 🔁 {事项}(来源:…)

**明日计划**
1. {事项}

**需要协调**
(无则写:暂无)
```

### period=week

```
📅 {月份}第{X}周工作周报({起} - {止})

{按 sections 分组,未给 sections 则自动归并}
**【{分组}】**
1. ✅ {已完成事项}(来源:…)
2. 🔁 {从上期计划延续/未完成}(来源:…)

**下周计划**
1. {事项}

**预判与建议**
{基于本周进展,预判下周的风险点或机会点,1-2 条}
```

给了 `last_report_doc` 时,在「下周计划」前加一节:

```
**上期计划兑现情况**
- ✅ {上期计划项} → 本期已完成
- 🔁 {上期计划项} → 顺延,原因:{一句话}
```

## 反编造规则(硬性)

日报周报是要交给上级看的,编一条比少一条严重得多:

- **每一条都必须能指回一个具体素材**(某场会、某条消息、某段文档)。指不回去的**不写**。
- **不要为了填满格式而生成事项。** 分组下没有内容就写「本周无」,不要造。
- **不要把日程标题当成完成事项。** 开了会 ≠ 事情做完了;结论要来自纪要或消息,只有日程标题时写成「参加了 {会议名}」,不要替他宣布结果。
- **日期覆盖必须完整**:算出的起止之间每一天都要查过。某天确实没有素材,就在输出里体现「{日期} 无记录」,**不要静默跳过** —— 静默丢天是这类报告最隐蔽的错误。
- **「预判与建议」必须基于本期实际素材**,不要写放之四海皆准的空话。
- 取数失败时说明哪一步失败,不要用"本周无"掩盖失败。

## 权限不足时

`lark-cli` 报权限/登录失败时,如实说明缺哪项授权并结束,不要重试到超时。系统会弹授权卡,授权后自动续接。