Work review
精简日报(work review):一次扫全当天所有 Claude Code 对话窗口 + 飞书会话 + 今日会议,按大项目聚类,直接产出「王佳玮工作日报_YYYYMMDD」DocxXML,发布到飞书知识库「开发日报」节点并推送到「每日日报组」群。当用户要写精简日报、工作日报精简版、总结今天干了什么并直接出对外汇报稿时使用。触发词:精简日报、写今天的精简日报、工作日报精简版、recap、work review、jjrb。From its SKILL.md
npx -y skills add Jim4546/ai-workflow-skills --skill work-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.0 KB, ~3.2k tokens by cl100k_base, as published. Nobody here has run it
work-review · 精简日报
把当天的工作一次过汇成一篇对外汇报的「精简版日报」,直接发飞书。取代过去「先写详细日报 + 详细 worklog,再手动合并删减」的三步流程。
设计要点(与用户审计后定稿)
- 三个数据源:本地 Claude Code 对话日志 + 飞书会话 + 今日会议(日历/妙记)。
- 纯项目进展:照搬参考文档
https://t2rvx54o5x.feishu.cn/docx/IcAjdUYu5og3bnxBhhDcUuElnlc的结构——按项目分组、✅ 主题+ 2-4 条要点;不含个人视角(「否决 AI / 原话证据」那套留给休眠的personal-worklog)。 - 全自动直发:不设成稿复核关;不准的地方用户到飞书手改。唯一的例外确认见步骤 7「重跑覆盖」。
- 文档链接尽量保留:每个项目末尾附
<h3>相关文档</h3>小列表;该项目当天确实没有任何飞书链接时,此节省略。链接文字用文档原始标题(drive +inspect取,不编名)。 - 自动开权限:发布后给两位 mentor(陈曦、刘涛瑜)对报告内全部飞书链接(含妙记)开「可管理」权限(见步骤 8.5)。
- 标题命名:统一
王佳玮工作日报_YYYYMMDD(如王佳玮工作日报_20260612),单一来源$title。 - 6 点定时:Windows Task Scheduler 每天 18:00 跑
claude -p "/work-review",当天无条件权威版(见 references/schedule-setup.md)。
依赖 lark-cli(须先经 lark-shared 完成 auth login)。
参数
/work-review [--date YYYY-MM-DD] [--dry-run]
--date:默认今天(北京时间 +08:00)。--dry-run:只把最终 DocxXML 打印/落到C:\temp\work-review_<date>.xml,不调用任何写接口。供调试或定时草稿。
端到端流程
三源采集的确切命令见 references/sources.md;输出格式/翻译/口吻见 references/condense-format.md;发布机制见 references/publish.md。
1. 采集本地对话(必做,全量)
一把扫全 ~/.claude/projects/*/*.jsonl,双重过滤:
- 过滤 1(mtime):文件最后修改时间在本地今天 00:00 之后。
- 过滤 2(内容):至少含一条
timestamp在今天的type=="user"且isSidechain!=true的消息。
只取项目目录下一层的 .jsonl,忽略 <uuid>/ 子目录里的 subagent 记录。绝不按当前 cwd 过滤——必须扫全所有窗口(daily-report 曾踩坑:只扫当前项目、漏发其他窗口)。
每个 jsonl 当一个窗口,提取 cwd、全部 user 真文本消息、时间范围。逐窗并行 subagent 提炼「做了什么」(见 sources.md §本地)。
2. 采集飞书会话(Q7)
lark-cli im +chat-list 列出账号内会话 → 过滤出今天有真人消息、非纯机器人/通知类、且不在 config.chat_exclude 里的会话 → 并行子任务逐个 +chat-messages-list 拉今日消息 → 提炼工作相关结论(拍板、对齐、结论)。命令见 sources.md §飞书会话。
3. 采集今日会议(Q9)
lark-cli calendar +agenda 拉今天会议(名/时间/参会人);对有妙记的会用 lark-cli minutes +search 取一句结论 + 妙记链接。命令见 sources.md §会议。
4. 跨源聚类成大项目
把三源内容按「项目名 / 飞书 token / 人名 / 路径关键词」等专有名词重叠归到大项目(并查集;本地窗口用 cwd 末两段 + 前 5 条消息里的专有名词做指纹)。
- 飞书群结论 → 并入对应项目(Q8)。
- 会议 → 并入相关项目(Q9)。
- 映射不到任何项目的纯沟通 / 杂会 → 末尾兜底节「其他:沟通与会议」。
全自动直发,不做聚类预览确认(Q3)。
0 活动早退:若三源全空(本地 0 窗口 + 飞书 0 条工作相关 + 0 会议),不要发布空日报。手动跑 → 告知「今天没扫到工作活动,是否仍要发占位日报?」等确认;定时跑(
WORK_REVIEW_SCHEDULED=1)→ 直接跳过发布、只在 cron.log 记一行,不建节点、不推群。
5. 逐项目浓缩 + 装链接
每个大项目压成若干 ✅ 子主题 + 2-4 条要点,业务语言翻译、第三人称、禁 AI/「我」表述(规则见 condense-format.md)。每个项目末尾装 <h3>相关文档</h3>:扫该项目所有来源里的飞书 URL(正则 https?://[^\s)]*feishu\.cn/(base|docx|wiki|sheets|file)/[A-Za-z0-9]+(\?[^\s)]*)?),去重后按出现顺序保留前 5,调 drive +inspect 取原始 title 作 <a> 链接文字(不编名/不标类型后缀),失败则裸 URL。
6. 组装 DocxXML
按 condense-format.md 的格式:<title>王佳玮工作日报_{yyyymmdd}</title>(= $title) → 项目按工作量倒序、中文数字 h2、<p>✅…</p>+<ul> + <h3>相关文档</h3> → <hr/> 分隔 → 末尾兜底节「其他:沟通与会议」。
7. 发布(--dry-run 在此短路)
读 C:\Users\jiawei.wang\.claude\data\work-review\config.json。详细步骤(建节点 / 写正文 GBK 绕坑 / 重跑覆盖确认)见 references/publish.md。要点:
- 标题
$title= config.title_format 套入 date(默认王佳玮工作日报_{yyyymmdd}→王佳玮工作日报_20260612;{yyyymmdd}= date 去横线,兼容旧{date})。建节点/查重/推群/XML 都用同一个$title。当天节点不存在 →wiki +node-create --obj-type docx --title "$title";返回取顶层data.obj_token/data.node_token,url 自己拼https://t2rvx54o5x.feishu.cn/wiki/<node_token>。标题格式改了,旧命名的历史节点不会被新$title命中(预期,旧节点不动)。 - 已存在 + 手动跑 → 警告确认「重跑会盖掉飞书手改(版本历史可恢复),继续?」,确认后才覆盖(Q5)。
- 已存在 + 定时跑(无人值守) → 无条件复用 obj_token 覆盖(Q6)。判定无人值守唯一依据:环境变量
WORK_REVIEW_SCHEDULED=1(见 schedule-setup.md)。不要用「传了--date」之类推断,否则人工调试会被静默覆盖。 - 写正文一律
Set-Location C:\temp+--content "@./file.xml"相对路径,绕过 PS 5.1 管道 GBK 乱码。
8. 写回发布记录
写 C:\Users\jiawei.wang\.claude\data\work-review\<date>\_published.json(date / doc_token / node_token / url / published_at / projects / source_counts)。
8.5 给 mentor 开「可管理」权限
把报告里全部飞书链接(相关文档 base/docx/wiki/sheets/file + 妙记 minutes)去重,逐个给 config.manage_grant_users(陈曦、刘涛瑜)开 full_access:drive +inspect 取 token/type → drive permission.members create ... perm=full_access。open_id 为空时先 contact +search-user 解析回写 config。妙记类型若不被权限接口支持则记日志跳过;单条失败不中断。详见 publish.md §5.5。
9. 推送到「每日日报组」群
发布成功后自动把链接推到群(config.group_chat_id),文案「✨今日实习日报已更新 / 请各位mentor查收🫡 / 详见:$title」,--idempotency-key "work-review-<date>" 防当天重复刷屏。写法见 publish.md。
10. 输出
✅ 精简日报已发布:<url>
已推送到「每日日报组」,并给陈曦、刘涛瑜开好各文档「可管理」权限。
来源命中:本地 N 个窗口 / 飞书 M 个会话 / K 场会议
项目:<项目1> / <项目2> / 其他
重跑会复用同一文档(手动重跑会先问是否覆盖手改)。
异常处理
lark-cli权限报错:提示按lark-shared跑auth login --scope <对应scope>(wiki:node:create、docx:document:edit、im:message、calendar:calendar:readonly、contact:user.id:readonly、drive:drive、minutes 等)。- 中文乱码:99% 是用了
Get-Content | lark-cli管道,改Set-Location+--content @./file.xml重发(见 publish.md)。 - 飞书会话太多导致慢:会话扫描做成并行子任务、跳过纯通知/机器人会话;单条 lark-cli 调用都很快,避免把整轮塞进一个长跑后台命令(PS 后台任务 2 分钟超时)。
- 任何写接口失败:不要覆盖
_published.json,保留上次状态以便重试。
相关 skill
- 个人视角留痕(绩效/复盘)→ 休眠的
personal-worklog,需要时手动/skill调起。 - 旧详细日报 → 休眠的
daily-report。
What ships with it: 7 files
26.2 KB alongside SKILL.md
references/
- condense-format.md5.1 KB
- publish.md9.4 KB
- schedule-setup.md3.3 KB
- sources.md5.2 KB
- config.example.json379 B
- .gitignore108 B
- README.md2.7 KB
Gives 0 of the 12 instructions most review quality skills give in ~3.2k tokens
Counted across 1,048 of the 1,783 authors here whose files we hold, read 2026-08-07
- Ask questions one at a timein 81 of 1048, across 64 files
- Provide a recommended answer for each questionin 73 of 1048, across 50 files
- Explore the codebase instead of asking answerable questionsin 66 of 1048, across 42 files
- Resolve dependencies between decisions one-by-onein 42 of 1048, across 17 files
- Interview the user relentlessly about the planin 38 of 1048, across 13 files
- Order findings by severityin 31 of 1048
- Resolve each branch of the decision treein 27 of 1048, across 5 files
- Run a grilling sessionin 26 of 1048, across 5 files
- Update CONTEXT.md immediately when a term is resolvedin 26 of 1048, across 11 files
- Propose precise canonical terms for vague languagein 25 of 1048, across 7 files
- Create documentation files lazilyin 24 of 1048, across 5 files
- Assign severity to every findingin 24 of 1048
Said here and by no other author read
- scan all local conversations modified today
- fetch today's messages from feishu chats
- fetch today's meetings and minutes
- cluster activities into major projects
- condense project activities into bullet points
- use original document titles for links
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.