SuperAPI AI Directory

lark-workflow-standup-report

Office & productivity

View repository

Updated 10-15 23:59

About this skill

Schedule and To-Do Summary Workflow

CRITICAL — Before starting, you MUST first use the Read tool to read ../lark-shared/SKILL.md, which contains authentication and permission handling

Applicable Scenarios

  • "What's on today" / "Today's schedule and to-dos"
  • "What meetings are tomorrow" / "Tomorrow's schedule and unfinished tasks"
  • "Help me see what I need to do today" / "Morning report summary"
  • "Start-of-work summary" / "standup report"
  • "What else is scheduled this week"

Prerequisites

Only user identityis supported. Before execution, ensure authorization has been granted:

lark-cli auth login --domain calendar,task

Workflow

{date} ─┬─► calendar +agenda [--start/--end] ──► 日程列表(会议/事件)
        └─► task +get-my-tasks [--due-end]    ──► 未完成待办列表
                    │
                    ▼
              AI 汇总(时间转换 + 冲突检测 + 排序)──► 摘要

Step 1: Get Schedule

# 今天(默认,无需额外参数)
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"

Note:--start / --end : Only ISO 8601 format is supported (such as 2026-01-01 or 2026-01-01T15:04:05+08:00) and Unix timestamp;does not support "tomorrow"、"next monday" and other natural language. The AI needs to calculate the target date itself based on the current date.

Output includes: event_id, summary, start_time (including timestamp + timezone), end_time, free_busy_status, self_rsvp_status.

Step 2: Get Unfinished To-Dos

# 默认:返回分配给当前用户的未完成任务(最多 20 条)
lark-cli task +get-my-tasks

# 只看指定日期前到期的(推荐用于摘要场景,减少数据量)
lark-cli task +get-my-tasks --due-end "2026-03-27T23:59:59+08:00"

# 获取全部(超过 20 条时)
lark-cli task +get-my-tasks --page-all

Note: Without filter conditions, it may return a large number of historical to-dos (measured at 30+ items, 100KB+), which easily exceeds the context limit. For summary scenarios, it is recommended to:

  • Use --due-end to filter out tasks due before the target date
  • If tasks with no due date are also needed, you can omit the filter, but when summarizing, the AI should only displaythose created within the last 30 days, and fold the rest into "Other N historical to-dos"

Step 3: AI Summary

Integrate the results of Step 1 and Step 2, and output according to the following structure:

## {日期}摘要({YYYY-MM-DD 星期X})

### 日程安排
| 时间 | 事件 | 组织者 | 状态 |
|------|------|--------|------|
| 09:00-10:00 | 产品需求评审 | 张三 | 已接受 |
| 14:00-15:00 | 技术方案讨论 | 李四 | 待确认 |

### 待办事项
- [ ] {task_summary}(截止:{due_date})
- [ ] {task_summary}

### 小结
- 共 {n} 场会议,{m} 项待办
- 冲突提醒:{列出时间重叠的日程}
- 空闲时段:{free_slots}(根据日程推算)

Data Processing Rules:

  1. Time Conversion: The API returns Unix timestamp, which needs to be converted based on the timezone field (usually Asia/Shanghai) to HH:mm format
  2. RSVP Status Mapping:
    API Value Display Text
    accept Accepted
    decline Declined
    needs_action Pending
    tentative Tentative
  3. Schedule Sorting: Sort in ascending order by start time
  4. Conflict Detection: After sorting by time, check whether adjacent schedule items overlap in time (the previous end_time > the next start_time); if so, list the conflict groups in the summary
  5. Declined Schedule Items: Mark as "Declined" but do not count them in busy periods or conflict detection
  6. To-Do Sorting: Sort in ascending order by due time; mark overdue ones as "Overdue"; those without a due time are placed last

Permission Table

Command Required scope
calendar +agenda calendar:calendar.event:read
task +get-my-tasks task:task:read

Reference