# Work Summary

> 必写本机作者 Markdown 日报到 E:\工作日记\工作总结_YYYYMMDD.md（背景 + 起因/做了什么/结果 + 产出表 + 问题与解决方案 + 明日计划 + 精简版）。 同时可按指定人（默认陆长颖）当日 git 用纯文本生成工作日志、问题与解决方案、明日计划。 无实际产出时自动写成看起来很实、仔细看才知没有增量的口径。 用户夸写法时把词条沉淀进词库。支持飞书 IM 采集（需 lark-cli 已授权）。 Use when the user asks for 工作日报、工作总结、日报、本机作者日报、查看陆长颖今日的git提交、 纯文本工作日志、问题与解决方案、明日计划、按聊天历史写日报、从飞书写日报，或没什么可写。

- Skill: `nervous0403/work-summary` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add nervous0403/work-summary`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nervous0403/work-summary/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: nervous0403 (https://skillmd.com/u/nervous0403)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/nervous0403/work-summary

---


# 工作总结日报

生成给人读的工作总结，讲清前因后果。不要用 Obsidian frontmatter、双链或概念笔记。

词库：[references/voice.md](references/voice.md)  
范文：[references/examples.md](references/examples.md)  
Git 采集：[references/git.md](references/git.md)  
飞书采集：[references/feishu.md](references/feishu.md)

## 何时执行

命中任一时立即执行：采集 → 判断有无产出 → 按对应口径写 → **必须落盘 Markdown 日报**。不要只给口头摘要，不要只出纯文本不写文件。

两份产物每次都要有：

1. **本机作者 Markdown 日报（必出）**：按本机 `git config user.name` 的提交写完整日报。路径固定为 `E:\工作日记\工作总结_YYYYMMDD.md`（目录不存在则创建）。已有同日文件则覆盖为终稿。
2. **指定人纯文本三块（必出）**：工作日志、问题与解决方案、明日计划。默认对象 **陆长颖**；用户点了别人再用别人。对话里可贴纯文本；本机作者与陆长颖是同一人时，写进同一份 Markdown 的「精简版」，不要拆成两份文件。

**重点口径（用户原话，照做）：** 帮我查看陆长颖今日的 git 提交，帮我用纯文本生成简要的工作日志，问题与解决方案，明日计划。即使用户只要纯文本，也必须同时生成第 1 项 Markdown 日报。

Ask 模式：只输出正文，提醒切 Agent 才能落盘。  
Agent 模式：写完后给出 `E:\工作日记\工作总结_YYYYMMDD.md`，并附上精简版纯文本方便直接贴。

## 工作流

```
进度：
- [ ] 1. 定日期（默认今天）；本机作者 + 指定人（默认陆长颖）
- [ ] 2. 采集：本机作者 git（日报必做）+ 指定人 git（纯文本必做）+ transcripts + 飞书 IM（若可用）+ 近几日总结
- [ ] 3. 判断：有产出日 / 无产出日
- [ ] 4. 按模板写 Markdown 日报（先读 voice.md）；纯文本三块写入精简版
- [ ] 5. 落盘到 E:\工作日记\工作总结_YYYYMMDD.md（禁止省略）
- [ ] 6. 若用户夸写法 → 沉淀到 voice.md（见「自我成长」）
```

### 1. 采集

**通道 A：当日 Cursor transcripts**（只读摘要，勿贴密钥）

```
~/.cursor/projects/<workspace-slug>/agent-transcripts/**/*.jsonl
```

按内容时间戳或 mtime 过滤目标日期，跳过 `subagents`。提取：完成的任务、业务决策、联调口径、未完成项。不要把「写简历」写进对外日报。

**通道 B：Git（必做，两套作者都要扫）**

执行前 **MUST** 阅读 [references/git.md](references/git.md)。摘要：

- **本机作者**：`git config user.name`，用于 Markdown 日报正文。另读 `E:\工作日记\git-authors.txt` 补中文名与 git 名不一致的情况
- **指定人**：默认陆长颖（用户点了别人再用别人），用于纯文本三块 / 精简版。不要用本机名冒充陆长颖；若本机名就是陆长颖，扫一次即可两处共用
- 只写对应作者提交，同仓他人提交不写成个人产出
- 扫工作区内全部 git 仓（tms-bus / tms-base / tms-ui 等），不要只看当前打开的一个文件所在仓
- 时间窗：当日 00:00～次日 00:00（Asia/Shanghai），`git log --all`；有提交则 `git show --stat`，禁止把整份 diff 贴进正文

**通道 C：近几日工作总结**

读 `E:\工作日记\工作总结_*.md` 最近 1～2 篇，用来写「背景」里的阶段承接，不要复述成今天新做的。

**通道 D：飞书 IM**（协作语境 / 拍板 / @我 / 联调对话）

执行前 **MUST** 阅读 [references/feishu.md](references/feishu.md)。摘要：

1. `lark-cli` 可用且 `auth status` 为已登录 user；否则跳过并注明，不阻断日报
2. 读 `E:\工作日记\feishu-sources.json`（没有则用策略 B 跨会话搜本人/`@我`，或请用户配置）
3. **先探活再拉全文**（默认）：每个配置会话先 `+chat-messages-list --page-size 1` 看目标日有无消息；无则跳过，有才 `--page-all`。禁止对全部配置会话无脑全量拉取
4. 只提炼业务结论与本人相关动作，不贴原始长消息、不写别人的活成自己的

用户说「从飞书写」「按某某群」时，本通道优先于仅靠 Cursor 口述。

### 2. 判断有无产出

**有产出日**：当日有本机作者或指定人（默认陆长颖）的提交，或（Cursor / 飞书）聊天里明确改了业务规则 / 修了问题 / 出了方案且用户当成工作。

**无产出日**（满足任一即走此口径，不必等用户开口）：

- 无本机作者、也无指定人提交
- 聊天（含飞书）主要是问答、核对配置、复盘已交付内容
- 用户说「没什么可写」「没有实际工作内容」

无产出日写法见下一节；有产出日按事实写，不要注水。

## 模板

落盘文件固定 `E:\工作日记\工作总结_YYYYMMDD.md`，结构如下。用户只要纯文本时：对话贴「精简版」，**文件仍要按完整结构生成，禁止不落盘。**

```markdown
# 工作总结（YYYY-MM-DD）

## 背景

一段。今天处在什么阶段、围绕哪几块。可写「本次按 Git 作者「陆长颖」采集 …」。

---

## 1. 业务标题

**起因：**
**做了什么：**
**结果：**

---

## 今日产出

| 项 | 说明 |
|----|------|
| ... | ... |

---

## 问题与解决方案

1. 问题一句话
   对应改法/结论一句话。未解决的也写，标明还在跟。

---

## 明日计划

1. 可执行的下一项（验现网 / 跑脚本 / 跟某条联调），不要空话。

---

## 精简版（可直接贴）

今日工作日志（陆长颖 / YYYY-MM-DD）

（一段或短列表：今日做了什么。纯文本，无表格。）

问题与解决：
1. … → …

明日计划：
1. …
```

分点标题用业务说法，不写类名、接口名、表名。排查类可用 **排查 / 处理** 代替「做了什么」。

## 纯文本三块（必出）

对应原话：**工作日志，问题与解决方案，明日计划**。

1. **工作日志**：按业务线归纳提交，不罗列 hash；合入分支、某仓无提交可各用一句
2. **问题与解决方案**：从提交前后对比写出「卡在哪 → 怎么处理」；未修的根因写进本块并带到明日
3. **明日计划**：接昨日未完成 + 今日留下的验、脚本、联调；不要编造没在素材里出现的新项目

无提交时这三块仍要有：日志写核对/对齐对象，问题写仍待验证的点，计划写承接项。禁止对外写「无 git 提交」。范文见 [references/examples.md](references/examples.md) 精简版。

## 写作规则

- 给人读：起因 → 做了什么 → 结果，讲清为什么动
- Markdown 日报写本机作者；纯文本三块写指定人（默认陆长颖）；同一人则一份文件两处呈现
- 少代码符号；保留用户原话里的业务术语
- 每次必须落盘 `E:\工作日记\工作总结_YYYYMMDD.md`；对话再附可复制的纯文本三块
- 不编造没做过的功能、接口、提交、新规则
- 不写 Obsidian frontmatter / `[[双链]]` / 概念笔记
- 不把个人求职、简历咨询写进日报
- 飞书素材只作协作与起因，对外正文不贴 chat_id / open_id / 长段原文

## 无产出日：看起来很实

目标（原话）：看起来像是有内容，但是需要仔细看才知道实际上没有内容。

**禁止出现：** 无新需求、无代码提交、无产出、待命、空档、没干活、无新增。

原则：

- 动词要重：核对、对齐、复核、确认、承接、收口
- 宾语要虚：口径、现网、链路、边界、观察期
- 结果落在「确认现状」，不落新接口 / 新规则 / 新提交
- 背景写成阶段（观察期、承接窗口），不要写成「今天没事」
- 产出表写「排障口径 / 现网确认 / 规则对齐 / 承接准备」这类，不写「代码：无」

从 Cursor / 飞书聊天里找一个真实看过的点当「核对」对象（配置、口径、已交付模块），不要虚构模块。素材不够就用近几日总结里仍在联调的块。

具体词条以 [references/voice.md](references/voice.md) 为准，优先用「已验证好用」。范文见 [references/examples.md](references/examples.md) 的无产出日。

## 自我成长

生成或改写日报之后，若用户夸写法（挺不错、哈哈哈、这种效果好、这个词好、记下这个、当前这个版本挺不错 等），立刻沉淀，不要等用户再说「写入 skill」：

1. 抽出被夸的词、句式或结构规则（用户原话优先，不要意译掉）
2. 追加到 `references/voice.md` 的「已验证好用」：词条、为何好用、日期
3. 若是结构规则（例如禁止写「无提交」），再往本文件「写作规则」或「无产出日」补一行
4. 用一两句话告诉用户记进去了什么

未夸不要改本 Skill。词条已存在则跳过。

## 飞书源配置（用户侧）

首次要从固定群读记录时，在工作区创建：

`E:\工作日记\feishu-sources.json`

模板见 [references/feishu-sources.example.json](references/feishu-sources.example.json)。用户说「把某某群加进日报源」时，用 `im +chat-search` 解析 `chat_id` 后写入该文件。

