SuperAPI AI Directory

lark-workflow-standup-report

Office & productivity

View repository

Updated 10-13 20:09

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

Use Cases

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

Prerequisites

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

lark-cli auth login --domain calendar,task

Workflow

{date} ─┬─► calendar +agenda [--start/--end]              ──► 日程列表(会议/事件)
        └─► task +get-my-tasks --complete=false [--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 the ISO 8601 format is supported (e.g. 2026-01-01 or 2026-01-01T15:04:05+08:00) and Unix timestamp;it does not support "tomorrow"、"next monday" natural language such as this. The AI needs to calculate the target date on its own 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 Unfinished To-Dos

# 默认 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

Note:+get-my-tasks When --complete is not included, it willreturn both completed and unfinished tasks at the same time, which will display completed tasks as "to-dos" in the summary. For pending summary scenarios such as standups/daily reports,you mustexplicitly include --complete=false; do not omit it.

At the data volume level, it is also recommended to add filtering:

  • Use --due-end to filter out tasks due before the target date
  • If tasks without a due date are also needed, you may omit --due-end, but when summarizing, the AI should only displaythose created within the last 30 days, and collapse the rest into "N other 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 a Unix timestamp, which needs to be converted according to the timezone field (usually Asia/Shanghai) into the HH:mm format
  2. RSVP Status Mapping:
    API Value Display Text
    accept Accepted
    decline Declined
    needs_action Pending confirmation
    tentative Tentative
  3. Schedule Sorting: Sort in ascending order by start time
  4. Conflict Detection: After sorting by time, check whether adjacent schedules overlap in time (the previous end_time > the next start_time); if so, list the conflicting groups in the summary
  5. Declined Schedules: 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", and place those without a due time at the end

Permission Table

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

Reference