lark-workflow-standup-report
SkillCommunityTranslated from ChineseThis skill generates a daily summary of calendar events and incomplete tasks for Lark users. It combines agenda data and task lists to provide a structured report for standup meetings or daily planning.
npx skills add open.feishu.cn/lark-workflow-standup-reportSchedule and To-Do Summary Workflow
CRITICAL, Before starting, you MUST use the Read tool to read ../lark-shared/SKILL.md, which contains information on authentication and permission handling.
Applicable Scenarios
- "What is on my schedule today?" / "Today's schedule and to-dos"
- "What meetings do I have tomorrow?" / "Tomorrow's schedule and pending tasks"
- "Help me see what I need to do today" / "Morning briefing summary"
- "Work start summary" / "standup report"
- "What else is scheduled for this week?"
Prerequisites
Only user identity is supported. Ensure authorization is granted before execution:
lark-cli auth login --domain calendar,task
Workflow
{date} ─┬─► calendar +agenda [--start/--end] ──► Schedule list (meetings/events)
└─► task +get-my-tasks --complete=false [--due-end] ──► Pending to-do list
│
▼
AI Summary (time conversion + conflict detection + sorting) ──► Summary
Step 1: Get Schedule
# Today (default, no extra parameters needed)
lark-cli calendar +agenda
# Specify date range (must use ISO 8601 format, natural language like "tomorrow" is not supported)
lark-cli calendar +agenda --start "2026-03-26T00:00:00+08:00" --end "2026-03-26T23:59:59+08:00"
Note:
--start/--endonly support ISO 8601 format (e.g.,2026-01-01or2026-01-01T15:04:05+08:00) and Unix timestamps. They do not support natural language such as"tomorrow"or"next monday". The AI must calculate the target date based on the current date.
The output includes: event_id, summary, start_time (including timestamp + timezone), end_time, free_busy_status, self_rsvp_status.
Step 2: Get Pending To-Dos
# Default pending summary: must explicitly filter for incomplete tasks (up to 20 items)
lark-cli task +get-my-tasks --complete=false
# Only view incomplete tasks due before a specific date (recommended for summary scenarios to reduce data volume)
lark-cli task +get-my-tasks --complete=false --due-end "2026-03-27T23:59:59+08:00"
# Get all incomplete tasks (when there are more than 20)
lark-cli task +get-my-tasks --complete=false --page-all
Note: If
+get-my-tasksis called without--complete, it will return both completed and incomplete tasks, which would display completed tasks as "to-dos" in the summary. For pending summary scenarios like standups or daily reports, you must explicitly include--complete=false. Do not omit it.It is also recommended to add filters for data volume:
- Use
--due-endto filter tasks due before the target date.- If tasks without deadlines are also needed, you can omit
--due-end, but the AI should only display those created within the last 30 days in the summary, collapsing the rest as "N other historical to-dos."
Step 3: AI Summary
Integrate the results from Step 1 and Step 2 and output them in the following structure:
## {Date} Summary ({YYYY-MM-DD Day of Week})
### Schedule
| Time | Event | Organizer | Status |
|------|-------|-----------|--------|
| 09:00-10:00 | Product Requirement Review | Zhang San | Accepted |
| 14:00-15:00 | Technical Discussion | Li Si | Pending |
### To-Do Items
- [ ] {task_summary} (Due: {due_date})
- [ ] {task_summary}
### Brief Summary
- Total {n} meetings, {m} to-dos
- Conflict alert: {list schedule items with overlapping times}
- Free time slots: {free_slots} (calculated based on schedule)
Data Processing Rules:
- Time Conversion: The API returns Unix timestamps. Convert these to
HH:mmformat based on thetimezonefield (usuallyAsia/Shanghai). - RSVP Status Mapping:
API Value Display Text acceptAccepted declineDeclined needs_actionPending tentativeTentative - Schedule Sorting: Sort in ascending order by start time.
- Conflict Detection: After sorting by time, check if adjacent schedule items overlap (previous end_time > next start_time). If so, list the conflicting groups in the brief summary.
- Declined Schedule: Mark as "Declined" but do not include in busy time slots or conflict detection.
- To-Do Sorting: Sort by due date in ascending order. Mark overdue items as "Overdue," and place items without deadlines at the end.
Permissions Table
| Command | Required Scope |
|---|---|
calendar +agenda | calendar:calendar.event:read |
task +get-my-tasks | task:task:read |
References
- lark-shared, Authentication, permissions (Must read)
- lark-calendar, Detailed usage of
+agenda - lark-task, Detailed usage of
+get-my-tasks
日程待办摘要工作流
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详细用法
Installs
210,409First seen
Jun 12, 2026
Auto-fetched from GitHub .
Stats via skills.sh.
Skills similar to lark-workflow-standup-report:
Installs
Installs
Installs