lark-workflow-standup-report
open.feishu.cn
Generate a daily standup summary combining Lark calendar events and incomplete tasks for any date
What is lark-workflow-standup-report?
lark-workflow-standup-report orchestrates two Lark CLI commands—`calendar +agenda` and `task +get-my-tasks`—to fetch calendar events and incomplete tasks for a specified date, then produces a structured summary with time-sorted schedules, conflict detection, and pending to-dos. Designed for daily standups, morning briefings, and weekly planning reviews.
- Fetches calendar events for a target date using `lark-cli calendar +agenda` with ISO 8601 date ranges
- Retrieves only incomplete tasks using `lark-cli task +get-my-tasks --complete=false` to avoid mixing in completed items
- Filters tasks by due date with `--due-end` to reduce noise in standup contexts
- Converts Unix timestamps to human-readable HH:mm times using the event timezone field
- Detects scheduling conflicts by checking time overlaps between adjacent calendar events
- Outputs a structured markdown summary with schedule table, task checklist, conflict alerts, and free-slot estimates
How to install lark-workflow-standup-report
npx skills add null --skill lark-workflow-standup-report- lark-cli must be installed and available in PATH
- User must authenticate with calendar and task scopes: `lark-cli auth login --domain calendar,task`
- Requires `calendar:calendar.event:read` scope for calendar access
- Requires `task:task:read` scope for task access
- Only user identity is supported (not bot/service account)
- Must read lark-shared/SKILL.md for authentication and permission handling before use
How to use lark-workflow-standup-report
- 1.Install the skill: `npx skills add null --skill lark-workflow-standup-report`
- 2.Authenticate with required scopes: `lark-cli auth login --domain calendar,task`
- 3.To get today's summary, run: `lark-cli calendar +agenda` and `lark-cli task +get-my-tasks --complete=false`
- 4.For a specific date, use ISO 8601 format: `lark-cli calendar +agenda --start "2026-03-26T00:00:00+08:00" --end "2026-03-26T23:59:59+08:00"`
- 5.Filter tasks by due date to reduce noise: `lark-cli task +get-my-tasks --complete=false --due-end "2026-03-26T23:59:59+08:00"`
- 6.If more than 20 tasks exist, add `--page-all` to retrieve all incomplete tasks
- 7.Let the agent combine both outputs into a markdown summary with schedule table, task list, conflict alerts, and free slots
- 8.Review the small summary section for conflict warnings and estimated free time blocks
Use cases
- Daily standup report: what meetings and tasks are due today
- Morning briefing for tomorrow's schedule and pending work
- Weekly planning overview of remaining meetings and open tasks
- Identifying back-to-back or overlapping meetings before the day starts
- Filtering overdue tasks that need immediate attention
- Individual contributors preparing for daily standups
- Managers reviewing their own schedule and task backlog
- Anyone using Lark (Feishu) who wants a quick daily agenda digest
- Teams using Lark Calendar and Lark Tasks together
- Developers or PMs who want an automated morning briefing via CLI
lark-workflow-standup-report FAQ
Without this flag, the command returns both completed and incomplete tasks. In a standup context this would incorrectly show finished work as pending to-dos.
No. The --start and --end parameters only accept ISO 8601 format (e.g., 2026-03-26T00:00:00+08:00) or Unix timestamps. The agent calculates the target date from the current date.
By default only 20 tasks are returned. Add --page-all to retrieve all incomplete tasks when your backlog is large.
After sorting events by start time, the agent checks if any event's end_time is later than the next event's start_time. Conflicting pairs are listed in the summary section. Declined events are excluded from conflict checks.
You need calendar:calendar.event:read for calendar and task:task:read for tasks. Grant both at once with: lark-cli auth login --domain calendar,task
Full instructions (SKILL.md)
Source of truth, from open.feishu.cn.
name: lark-workflow-standup-report version: 1.0.0 description: "日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。" metadata: requires: bins: ["lark-cli"]
日程待办摘要工作流
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理
适用场景
- "今天有什么安排" / "今天的日程和待办"
- "明天有什么会" / "明日日程与未完成任务"
- "帮我看看今天要做什么" / "早报摘要"
- "开工摘要" / "standup report"
- "这周还有哪些安排"
前置条件
仅支持 user 身份。执行前确保已授权:
lark-cli auth login --domain calendar,task
工作流
{date} ─┬─► calendar +agenda [--start/--end] ──► 日程列表(会议/事件)
└─► task +get-my-tasks --complete=false [--due-end] ──► 未完成待办列表
│
▼
AI 汇总(时间转换 + 冲突检测 + 排序)──► 摘要
Step 1: 获取日程
# 今天(默认,无需额外参数)
lark-cli calendar +agenda
# 指定日期范围(必须使用 ISO 8601 格式,不支持 "tomorrow" 等自然语言)
lark-cli calendar +agenda --start "2026-03-26T00:00:00+08:00" --end "2026-03-26T23:59:59+08:00"
注意:
--start/--end仅支持 ISO 8601 格式(如2026-01-01或2026-01-01T15:04:05+08:00)和 Unix timestamp,不支持"tomorrow"、"next monday"等自然语言。需要 AI 根据当前日期自行计算目标日期。
输出包含:event_id、summary、start_time(含 timestamp + timezone)、end_time、free_busy_status、self_rsvp_status。
Step 2: 获取未完成待办
# 默认 pending 摘要:必须显式过滤未完成任务(最多 20 条)
lark-cli task +get-my-tasks --complete=false
# 只看指定日期前到期的未完成任务(推荐用于摘要场景,减少数据量)
lark-cli task +get-my-tasks --complete=false --due-end "2026-03-27T23:59:59+08:00"
# 获取全部未完成任务(超过 20 条时)
lark-cli task +get-my-tasks --complete=false --page-all
注意:
+get-my-tasks不带--complete时会同时返回已完成和未完成任务,会把已完成任务当成"待办"展示进摘要里。站会/日报这种 pending 汇总场景必须显式带上--complete=false,不要省略。数据量层面也建议加过滤:
- 用
--due-end过滤出目标日期前到期的任务- 如果也需要无截止日期的任务,可不加
--due-end,但 AI 汇总时只展示近 30 天内创建的,其余折叠为"其他 N 项历史待办"
Step 3: AI 汇总
将 Step 1 和 Step 2 的结果整合,按以下结构输出:
## {日期}摘要({YYYY-MM-DD 星期X})
### 日程安排
| 时间 | 事件 | 组织者 | 状态 |
|------|------|--------|------|
| 09:00-10:00 | 产品需求评审 | 张三 | 已接受 |
| 14:00-15:00 | 技术方案讨论 | 李四 | 待确认 |
### 待办事项
- [ ] {task_summary}(截止:{due_date})
- [ ] {task_summary}
### 小结
- 共 {n} 场会议,{m} 项待办
- 冲突提醒:{列出时间重叠的日程}
- 空闲时段:{free_slots}(根据日程推算)
数据处理规则:
- 时间转换:API 返回 Unix timestamp,需根据
timezone字段(通常为Asia/Shanghai)转换为HH:mm格式 - RSVP 状态映射:
API 值 显示文案 accept已接受 decline已拒绝 needs_action待确认 tentative暂定 - 日程排序:按开始时间升序排列
- 冲突检测:按时间排序后,检查相邻日程是否有时间重叠(前一个 end_time > 后一个 start_time),有则在小结中列出冲突组
- 已拒绝日程:标注"已拒绝"但不计入忙碌时段和冲突检测
- 待办排序:按截止时间升序,已过期的标注"已过期",无截止时间的排在最后
权限表
| 命令 | 所需 scope |
|---|---|
calendar +agenda | calendar:calendar.event:read |
task +get-my-tasks | task:task:read |
参考
- lark-shared — 认证、权限(必读)
- lark-calendar —
+agenda详细用法 - lark-task —
+get-my-tasks详细用法
Related skills
More from open.feishu.cn and the wider catalog.
lark-approval
飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。
lark-doc
飞书云文档(Docx / Wiki 文档):读取和编辑飞书文档内容。当用户给出文档 URL 或 token,或需要查看、创建、编辑文档、插入或下载文档图片附件时使用。文档中嵌入的电子表格、多维表格、画板,先用本 skill 提取 token 再切到对应 skill。当用户给出 doubao.com 的 /docx/ 或 /wiki/ URL/token 时,也应直接使用本 skill;路由依据是 URL 路径模式和 token,而不是域名。不负责文档评论管理,也不负责表格或 Base 的数据操作。
lark-base
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、workflow、角色权限;遇到 Base/多维表格/bitable 或 /base/ 链接时使用。文件导入转 lark-drive,认证/授权转 lark-shared。
lark-calendar
飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-vc)、待办任务(走 lark-task)。
lark-drive
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、评论/权限/订阅、标题、版本和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-contact
飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名。当用户提到某人姓名要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。